| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
pa_stream_get_timing_info() can return NULL.
Fixes bug #595220.
|
|
|
|
|
|
| |
pa_stream_get_timing_info() can return NULL.
Fixes bug #595220.
|
|
|
|
|
| |
Handle stream events and request a PAUSE/PLAY state change from the application
when we receive a CORK/UNCORK event.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Remove the code to deal with a ringbuffer reset as this code is now in the base
class.
Bump the -base requirement as we need the new baseaudiosink code to function
properly.
|
| |
|
|
|
|
|
| |
Add some debug info
Fix the state changes
|
|
|
|
| |
It is conditionaly set, so do the same when unsetting.
|
|
|
|
|
|
|
| |
Don't use relative seeks, it's too hard to track where we are after a flush
etc.
fixes #593015
|
|
|
|
|
|
| |
Use the result of gst_pad_set_caps() instead of assuming success.
See #590678
|
|
|
|
|
|
| |
Set the default slave method to the much better skew algorithm. This is the
default in the new base class but we override this here as well for the
upcomming release.
|
| |
|
|
|
|
|
|
| |
When creating a new probe, pass the server instead of the device string.
fixes #590401
|
|
|
|
|
|
| |
Otherwise that code will just be expanded to nothing when compiled
-DG_DISABLE_ASSERT (PS: why is mainloop_start() called in the init
function and not when changing state to READY?)
|
|
|
|
|
|
|
| |
configured_sink/source_usec in the timing_info is only since 0.9.11 so
conditionally compile this information.
fixes #590038
|
|
|
|
|
|
|
|
|
| |
Keep track of the paused state of the source and leave the read function when
paused.
don't wait for a latency update when the delay is not yet known but simply
return 0 instead of blocking.
Keep track of the corked state of the stream.
Fix the state changes.
|
| |
|
|
|
|
|
|
| |
Add some more debug info
Avoid some type casts
Report the real latency to the application.
|
|
|
|
|
|
|
| |
when we get an invalid stream index from pulse because we were just starting,
avoid using it for getting and setting the volume.
Fixes #589365
|
|
|
|
| |
Fixes #589459.
|
|
|
|
|
| |
Set the minreq and maxlength buffer attributes to -1 to let puleseaudio select a
sensible value.
|
|
|
|
|
|
|
|
| |
We can't wait for the ENTER/LEAVE messages to be be posted because the base
class sometimes calls the start method with the object lock, which would block
the message posting.
Instead, just assume that the message will be posted soon and continue. We'll
have to fix this in the base class.
|
|
|
|
| |
Use relative seeks because I was told that absolute seeks don't work.
|
|
|
|
| |
Fixes #587695
|
|
|
|
|
|
|
| |
Emit stream-status messages for the pulse thread.
Don't use our own GCond for signaling but simply use the pulse mainloop
mechanisms for synchronisation.
See #587695
|
| |
|
|
|
|
| |
Add check for pulseaudio 0.9.15 and enable 24bits samples in that case.
|
|
|
|
|
|
| |
Upper volume limmit was 1000. That appear unneceasrily high. It would also cause
sever distortion if accidentialy used. Now its 10 (~ +15db) which is also in
sync with volume and playbin2.
|
| |
|
| |
|
|
|
|
|
|
| |
Since we map the ringbuffer to the pulseaudio internal ringbuffer, flush the
pulseaudio buffer when we are asked to clear the ringbuffer.
This avoids some leftover audio after a seek.
|
|
|
|
|
| |
don't leak the device_description.
some cleanups.
|
|
|
|
|
|
|
| |
Hack around thread-safety issues in GObject and our racy _get_type()
functions (we could easily fix the _get_type() functions, but we still
need to hack around the GObject class races until we require a newer
GLib version, I think).
|
| |
|
|
|
|
|
| |
Replace goto done: with return, as those are checks when we don't want to flag a
pending notify.
|
|
|
|
| |
Move existing check a few lines up, so that we check before accessing fields.
|
|
|
|
| |
Rename internal method for consistency.
|
|
|
|
|
| |
We were putting the requested values back into ringbuffer spec, instead of
using the queried values.
|
|
|
|
|
| |
Occasionally, we get a change callback for an old stream, triggering
the assertion unnecessarily. Just ignore such callbacks.
|
| |
|
|
|
|
|
| |
Always signal the waiters in the async callbacks. Especially for the volume
callbacks since this might cause deadlocks.
|
|
|
|
| |
Detected by LLVM's CLang static analyzer
|
| |
|
|
|
|
| |
Don't crash when the timing info is not yet available.
|
|
|
|
|
|
|
|
| |
First we ignore request to fill the ringbuffer which are less then a segment.
The small request where causing stutter.
Then we disable flushing the stream when running against pa 0.9.12 as this
triggers an assertiong in the sound server and terminates it. It does not happen
with 0.9.10 and 0.9.14.
|
|
|
|
|
| |
When the server is disconnected or when we are shut down, make our clock return
an invalid time instead of erroring out.
|
|
|
|
|
| |
Keep bps as gint instead of guint because we will be doing signed math with it
later on and we don't want weird results.
|
|
|
|
|
| |
Don't try to change the stream volume (and other things) when we don't have a
stream yet. Just store the values for later.
|
| |
|