GNOME Bugzilla – Bug 755471
qtdemux: Segment seeks broken again
Last modified: 2015-09-24 07:34:19 UTC
(in gst-plugins-good/tests/icles) ./test_segment_seeks /path/to/cats_video.mov This will play for one second, freeze for one second, and then continue playing. ./test_segment_seeks /path/to/cats_video.asf This will play for one second and immediately spit out on the console the messages that correspond to the remaining segment seeks - and video disappears after the one second.
With asf it's failing also because of bug #755469
Oh, forgot to mention - with ASF, the behavior I reported is after I apply the patch in bug #755469
With ogg it works fine, with mp4 I can confirm that it freezes during the second one but then plays fine.
Test files: http://ahiru.eu/~vivia/cats_video.asf http://ahiru.eu/~vivia/claudia.mov (PS: yes I lied, the .mov file wasn't a cats video!)
qtdemux regression caused by: https://bugzilla.gnome.org/show_bug.cgi?id=751361#c6 Let's keep the asfdemux problem in the other bug.
Created attachment 311963 [details] [review] qtdemux: Only accumulate edts segments manually, not segments created from seeks eceb2ccc739092d964d78945e19c2ecedbd214e2 broke segment seeks by always accumulating segments. However when we get here because of a seek, gst_segment_do_seek() already did this work for us and we should not do anything at all.
Thanks, this fixes it here too!
Created attachment 311977 [details] [review] qtdemux: Accumulate segments for edit lists before activating the next segment eceb2ccc739092d964d78945e19c2ecedbd214e2 broke segment seeks by always accumulating segments manually when activating a segment. This is only needed when handling edit lists, not when activating a segment because of a seek. Do the accumulation when switching edit list segments instead.
This also works for me, and the file from bug #345830 works the same as without patches.
The patches seem to fix it, yes. The file from #345830 is very unique and exposes some bugs but none of them are regressions. We can tackle those after the release.
commit d7a0fd82c0330404553ee7e4885ade0af68c03ad Author: Sebastian Dröge <sebastian@centricular.com> Date: Wed Sep 23 20:59:00 2015 +0200 qtdemux: Accumulate segments for edit lists before activating the next segment eceb2ccc739092d964d78945e19c2ecedbd214e2 broke segment seeks by always accumulating segments manually when activating a segment. This is only needed when handling edit lists, not when activating a segment because of a seek. Do the accumulation when switching edit list segments instead. This fixes segment seeks again, while keeping edit lists playback working. https://bugzilla.gnome.org/show_bug.cgi?id=755471