From d4e7ce1e524939268d9df0a289482917cda352b5 Mon Sep 17 00:00:00 2001 From: Tim-Philipp Müller Date: Sat, 8 Apr 2006 13:09:50 +0000 Subject: ext/flac/gstflacdec.c: Don't try to seek beyond the end of the file (would occasionally display error dialogs in tote... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_handle_seek_event): Don't try to seek beyond the end of the file (would occasionally display error dialogs in totem when seeking to the end) (#335869). Will still throw an error though if the file is truncated and the total_samples value in the stream header is wrong. --- ext/flac/gstflacdec.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'ext') diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c index 1bfcf487..9c56fbf9 100644 --- a/ext/flac/gstflacdec.c +++ b/ext/flac/gstflacdec.c @@ -1119,6 +1119,13 @@ gst_flac_dec_handle_seek_event (GstFlacDec * flacdec, GstEvent * event) /* operate on segment copy until we know the seek worked */ segment = flacdec->segment; + if (segment.duration > 0) { + if (start != -1) + start = CLAMP (start, 0, segment.duration - 1); + if (stop != -1) + stop = CLAMP (stop, 0, segment.duration - 1); + } + gst_segment_set_seek (&segment, rate, GST_FORMAT_DEFAULT, seek_flags, start_type, start, stop_type, stop, &only_update); -- cgit