mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
pulsesink: Uncork stream while flushing the ringbuffer
After starting the ringbuffer, we wait for enough data to arrive before uncorking the stream. This will cause the pipeline to stall if we get an EOS (or otherwise need to flush the stream) before sufficient data becomes available. This patch makes sure that the stream is uncorked while flushing to avoid this problem. Fixes issue with a webkit unit test testing reverse playback of an MP4 H.264/AAC file. https://bugzilla.gnome.org/show_bug.cgi?id=639740
This commit is contained in:
parent
0124302b58
commit
e18e25a324
1 changed files with 5 additions and 0 deletions
|
@ -2637,6 +2637,11 @@ gst_pulsesink_flush_ringbuffer (GstPulseSink * psink)
|
|||
|
||||
gst_pulsering_flush (pbuf);
|
||||
|
||||
/* Uncork if we haven't already (happens when waiting to get enough data
|
||||
* to send out the first time) */
|
||||
if (pbuf->corked)
|
||||
gst_pulsering_set_corked (pbuf, FALSE, FALSE);
|
||||
|
||||
/* We're not interested if this operation failed or not */
|
||||
unlock:
|
||||
pa_threaded_mainloop_unlock (mainloop);
|
||||
|
|
Loading…
Reference in a new issue