GNOME Bugzilla – Bug 526557
[matroskademux] seeking regression in CVS
Last modified: 2008-04-17 18:10:31 UTC
Seeking in matroska files appears to be slighly broken in CVS. It does work in seek (with option 14/playbin), but not in totem or with -good/tests/icles/gdkpixbufsink-test.c Keyframe seeking doesn't seem to work properly at all, while ACCURATE seeking at least does something but produces (lt-gdkpixbufsink-test:15738): GStreamer-CRITICAL **: gst_event_new_new_segment_full: assertion `start <= stop' failed ** (lt-gdkpixbufsink-test:15738): CRITICAL **: gst_matroska_demux_send_event: assertion `event != NULL' failed criticals.
We need a fix for this one pretty badly. Anyone got any ideas?
Created attachment 109167 [details] [review] Fix open-ended seeking If I read CVS right, this should only affect end TYPE_NONE seeks. It is "caused" by replacing matroskademux' custom segment variables with standard core GstSegment ones, and CLAMP acts slightly differently for g(u)int64 variables when it comes to TIME_INVALID (-1), so ... * Check (some more) for TIME_INVALID prior to calculations and comparisons.
Looks reasonable. I'd like to get review from Wim before committing it though - let's aim to put it in the 2nd pre-release.
yeah. Ideally it should also use gst_segment_set_seek() to get all the nasty corner cases right. I guess that patch is ok for now.
Thanks! Patch committed: 2008-04-14 Jan Schmidt <Jan.Schmidt@sun.com> * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_seek_event): Fix open-ended seeks in matroskademux Patch by: Mark Nauwelaerts <manauw skynet be> Fixes: #526557