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 665390 - [pipeline] conflicting element base_time
[pipeline] conflicting element base_time
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.10.37
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-12-02 13:14 UTC by Mark Nauwelaerts
Modified: 2011-12-22 11:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
pipeline: only have a top-level pipeline do pipeline time management (1.06 KB, patch)
2011-12-02 13:14 UTC, Mark Nauwelaerts
committed Details | Review

Description Mark Nauwelaerts 2011-12-02 13:14:27 UTC
Created attachment 202596 [details] [review]
pipeline: only have a top-level pipeline do pipeline time management

Consider a (unusual case of a) pipeline within a pipeline, going ASYNC to PLAYING (due to e.g. a live src).

Then the top-level pipeline will set up a base_time (to be distributed), however the contained pipeline will do the same, so we end up distributing that one's base_time to all elements.  When the pipeline has prerolled and is then finally going to PLAYING (all the way), the top-level will have it (original) base_time distributed again.

So, elements end up with conflicting/changing base_time (without intermittent state change), and afaik this should not happen (and is at least Not Nice).

Problem stems from the ASYNC_DONE state change handling explicitly checking for a top-level pipeline/bin, whereas the time (etc) manipulation in GstPipeline happens unconditionally.

Simple patch attached makes the latter also conditional (though not sure if it needs something more subtle there).
Comment 1 Sebastian Dröge (slomo) 2011-12-05 09:21:39 UTC
Makes sense
Comment 2 Mark Nauwelaerts 2011-12-22 11:35:13 UTC
commit f2d76b7e7b1af42963e3c252fcce9f5ac7911ce4
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Fri Dec 2 14:10:32 2011 +0100

    pipeline: only have a top-level pipeline do pipeline management
    
    Fixes #665390.