GNOME Bugzilla – Bug 760408
#750013 (streamsynchronizer patches) broke some use cases in GES
Last modified: 2016-09-19 22:26:15 UTC
Created attachment 318679 [details] [review] fixes the reported issue This patch broke some seeking cases in GES. How to reproduce: mkdir ges_issue && cd ges_issue wget https://people.collabora.com/~meh/ges_test_assets/test.ogv wget https://people.collabora.com/~meh/ges_test_assets/reproduced.xges wget https://people.collabora.com/~meh/ges_test_assets/play-pause-and-seek.scenario GES needs to have been compiled with validate support. ges-launch-1.0 --load reproduced.xges --set-scenario ./play-pause-and-seek.scenario --ges-sample-paths file://$PWD Issue: playback stops for 5 seconds before restarting after the seek, it should restart immediataly. The attached patch fixes the issue. Problem description in commit message. Sebastian asked whether I saw other places in streamsynchronizer where flushing streams should be ignored, a quick glance showed me nothing obvious.
Comment on attachment 318679 [details] [review] fixes the reported issue Makes sense and doesn't seem to break anything. Please push with a more descriptive commit message :) Why exactly things break and what, and how this is fixing it
commit 2717f4a86f3afa8a1cc5d4399b11e4cbab631944 Author: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> Date: Sat Jan 9 04:35:23 2016 +0100 streamsynchronizer: Ignore flushing streams [..] [..] when resetting group start time. In GES, we are usually connected to the streamsynchronizer on one audio and one video pad. When seeking the timeline, both nlecompositions often output their flush_start before any of them has output its flush_stop. The current code, when receiving the first flush stop was using the running time of the start of the second composition, which could be pretty much anything, and means nothing at that point. This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken both when setting flushing and when checking it. https://bugzilla.gnome.org/show_bug.cgi?id=750013
picked into 1.6 as well (for 1.6.3)
This is still racy btw
(In reply to Sebastian Dröge (slomo) from comment #4) > This is still racy btw Could you explain how and what issue you are seeing related to that?
Yes, just let me finish writing the fix and put it into Bugzilla ;) (It's happening with GES btw)