GNOME Bugzilla – Bug 677838
matroskademux: flushing seek(0, stop) after preroll does not always work as expected
Last modified: 2012-06-11 11:18:20 UTC
When last stop is 0 the demuxer will skip the seeking part, the pipeline will be flushed and demuxing will continue with the next frame in the file which can be a delta-unit: gst_matroska_demux_handle_seek_event () { ... if (!update) { /* only have to update some segment, * but also still have to honour flush and so on */ GST_DEBUG_OBJECT (demux, "... no update"); /* bad goto, bad ... */ goto next; } ... }
Side-effect of some optimization for bug #661049, following commit should fix this: [0.10] commit 28f287ed05cc9b69c1403d16450dc3d7988ba7a0 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Mon Jun 11 12:54:27 2012 +0200 matroskademux: always perform full seek if seek is flushing Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677838 [0.11] commit 8b1da8adb27b2e9d704ca9ada0141cdbabc3dc3d Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Mon Jun 11 12:54:27 2012 +0200 matroskademux: always perform full seek if seek is flushing Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677838