GNOME Bugzilla – Bug 588747
[adder] Serialize incoming in-band events (tags) in the dataflow
Last modified: 2009-07-20 10:44:49 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.
Created attachment 138509 [details] [review] adder: Collect incoming tag events and send them after newsegment.
No locking needed?
Created attachment 138525 [details] [review] adder: Collect incoming tag events and send them after newsegment.
new patch takes collect pad lock when aggregating events.
Any chance to get this one in ? It's critical so that we can release upcoming pitivi with audio-mixing :(
Go for it
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
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?
Created attachment 138782 [details] [review] gstadder: Don't forget to free pending events on flush/dispose.
please push
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