mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-03 14:08:56 +00:00
gst/id3demux/gstid3demux.c: Fix handling of -1 values for start and stop values when seeking, and SEEK_CUR+SEEK_END.
Original commit message from CVS: * gst/id3demux/gstid3demux.c: (gst_id3demux_srcpad_event): Fix handling of -1 values for start and stop values when seeking, and SEEK_CUR+SEEK_END.
This commit is contained in:
parent
6d967b4bb0
commit
56fbcb6766
2 changed files with 20 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
|
||||
|
||||
* gst/id3demux/gstid3demux.c: (gst_id3demux_srcpad_event):
|
||||
Fix handling of -1 values for start and stop values when seeking,
|
||||
and SEEK_CUR+SEEK_END.
|
||||
|
||||
2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
|
||||
|
||||
* gst/id3demux/id3v2frames.c: (parse_picture_frame):
|
||||
|
|
|
@ -672,12 +672,17 @@ gst_id3demux_srcpad_event (GstPad * pad, GstEvent * event)
|
|||
|
||||
switch (cur_type) {
|
||||
case GST_SEEK_TYPE_SET:
|
||||
if (cur == -1)
|
||||
cur = 0;
|
||||
cur += id3demux->strip_start;
|
||||
break;
|
||||
case GST_SEEK_TYPE_CUR:
|
||||
break;
|
||||
case GST_SEEK_TYPE_END:
|
||||
cur += id3demux->strip_end;
|
||||
/* Adjust the seek to be relative to the start of any ID3v1 tag */
|
||||
if (cur > 0)
|
||||
cur = 0;
|
||||
cur -= id3demux->strip_end;
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
|
@ -685,12 +690,18 @@ gst_id3demux_srcpad_event (GstPad * pad, GstEvent * event)
|
|||
}
|
||||
switch (stop_type) {
|
||||
case GST_SEEK_TYPE_SET:
|
||||
stop += id3demux->strip_start;
|
||||
if (stop != -1) {
|
||||
/* -1 means the end of the file, pass it upstream intact */
|
||||
stop += id3demux->strip_start;
|
||||
}
|
||||
break;
|
||||
case GST_SEEK_TYPE_CUR:
|
||||
break;
|
||||
case GST_SEEK_TYPE_END:
|
||||
stop += id3demux->strip_end;
|
||||
/* Adjust the seek to be relative to the start of any ID3v1 tag */
|
||||
if (stop > 0)
|
||||
stop = 0;
|
||||
stop -= id3demux->strip_end;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue