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 588747 - [adder] Serialize incoming in-band events (tags) in the dataflow
[adder] Serialize incoming in-band events (tags) in the dataflow
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal blocker
: 0.10.24
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-07-16 07:17 UTC by Edward Hervey
Modified: 2009-07-20 10:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
adder: Collect incoming tag events and send them after newsegment. (2.19 KB, patch)
2009-07-16 07:17 UTC, Edward Hervey
none Details | Review
adder: Collect incoming tag events and send them after newsegment. (2.27 KB, patch)
2009-07-16 12:13 UTC, Edward Hervey
committed Details | Review
gstadder: Don't forget to free pending events on flush/dispose. (1.36 KB, patch)
2009-07-20 08:53 UTC, Edward Hervey
committed Details | Review

Description Edward Hervey 2009-07-16 07:17:18 UTC
GstCollectPads has no knowledge of the dataflow (when newsegment/eos/... is pushed) yet adder just relays TAG events to it... resulting in tags being pushed out before NEWSEGMENT.

The following patch collects the incoming TAG events (which could be extended to other selected in-band events) and pushes them out from the _collected() method AFTER NEWSEGMENT.
Comment 1 Edward Hervey 2009-07-16 07:17:46 UTC
Created attachment 138509 [details] [review]
adder: Collect incoming tag events and send them after newsegment.
Comment 2 Tim-Philipp Müller 2009-07-16 09:09:19 UTC
No locking needed?
Comment 3 Edward Hervey 2009-07-16 12:13:20 UTC
Created attachment 138525 [details] [review]
adder: Collect incoming tag events and send them after newsegment.
Comment 4 Edward Hervey 2009-07-16 12:14:00 UTC
new patch takes collect pad lock when aggregating events.
Comment 5 Edward Hervey 2009-07-18 07:30:37 UTC
Any chance to get this one in ? It's critical so that we can release upcoming pitivi with audio-mixing :(
Comment 6 Jan Schmidt 2009-07-18 15:58:43 UTC
Go for it
Comment 7 Edward Hervey 2009-07-19 08:50:00 UTC
commit 50b0cf2c035af1d03f81264e7cdc8fe76416b88c
Author: Edward Hervey <bilboed@bilboed.com>
Date:   Mon Jul 13 09:28:54 2009 +0200

    adder: Collect incoming tag events and send them after newsegment. Fixes #588747

Comment 8 Tim-Philipp Müller 2009-07-19 14:59:27 UTC
Not particularly major issues, but: isn't the event list leaked if the element is shut down before the collected function has been called (e.g. if an upstream element posted an error etc.)? And shouldn't the list be cleared on FLUSH_STOP?
Comment 9 Edward Hervey 2009-07-20 08:53:46 UTC
Created attachment 138782 [details] [review]
gstadder: Don't forget to free pending events on flush/dispose.
Comment 10 Jan Schmidt 2009-07-20 10:08:15 UTC
please push
Comment 11 Edward Hervey 2009-07-20 10:44:49 UTC
commit 3708ca37a842030d7b363553797a417307b8ffbf
Author: Edward Hervey <bilboed@bilboed.com>
Date:   Mon Jul 20 10:53:11 2009 +0200

    gstadder: Don't forget to free pending events on flush/dispose.
    
    Fixes #588747