GNOME Bugzilla – Bug 579203
baseaudiosink: unparenting the ringbuffer in NULL causes trouble
Last modified: 2009-04-17 09:04:43 UTC
A recent commit added unparenting of the ringbuffer when baseaudiosink goes to NULL. This has the side effect that the clock provided by the audiosink resets back to 0, essentially going backwards, which gets then corrected by the GstClock base class. The ultimate effect is that the clock stands still for a while, causing trouble. Steps to reproduce: Modify seek.c to go to NULL when pressing the stop button. launch ./seek 15 "audiotestsrc ! alsasink" press play, let it play for a while press stop press play again, see the slider stall for the duration of the previous play time. Patch follows.
Created attachment 132783 [details] [review] don't unparent the ringbuffer when going to NULL Temporary patch. What we really need to do is compensate for the elapsed time of the clock when we reset it (like what was added to baseaudiosrc). That will have to wait after the release.
Agreed.
commit 32904de58fcc25a25f869582676021ef0d09b639 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Fri Apr 17 10:55:08 2009 +0200 baseaudiosink: don't unparent the ringbuffer when going to NULL, don't unparent the ringbuffer because we don't support going back to 0 very well yet. Fixes #579203