After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 579203 - baseaudiosink: unparenting the ringbuffer in NULL causes trouble
baseaudiosink: unparenting the ringbuffer in NULL causes trouble
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal blocker
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-04-16 19:19 UTC by Wim Taymans
Modified: 2009-04-17 09:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
don't unparent the ringbuffer when going to NULL (673 bytes, patch)
2009-04-16 19:23 UTC, Wim Taymans
committed Details | Review

Description Wim Taymans 2009-04-16 19:19:53 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.
Comment 1 Wim Taymans 2009-04-16 19:23:42 UTC
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.
Comment 2 Jan Schmidt 2009-04-17 08:08:15 UTC
Agreed.
Comment 3 Wim Taymans 2009-04-17 09:04:43 UTC
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