GNOME Bugzilla – Bug 639740
[pulsesink] doesn't uncork in some cases during reverse playback
Last modified: 2011-01-17 15:41:42 UTC
Commit 8ca094795add18733faeb2a1f335bb33f40f9894 of -good makes 2 WebKit tests related to reverse playback fail. The attached python script can help to reproduce the issue. It starts playing a file, does a seek forward and starts reverse playback until EOS and start again. After some iterations the script just blocks waiting the sink to uncork forever.
Created attachment 178498 [details] test case
Created attachment 178516 [details] [review] 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.
I confirm this fix works here, thanks Arun :)
Thanks, pushed: commit e18e25a324c6367210f0210f48afeab7ca38c529 Author: Arun Raghavan <arun.raghavan@collabora.co.uk> Date: Mon Jan 17 20:09:16 2011 +0530 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