adaptivedemux: Don't ignore gst_segment_do_seek() return result

gst_segment_do_seek() can fail, so don't ignore the return result
This commit is contained in:
Jan Schmidt 2020-03-17 19:31:22 +11:00 committed by GStreamer Merge Bot
parent b9ebd885ff
commit 1c79b39896

View file

@ -1757,22 +1757,24 @@ gst_adaptive_demux_handle_seek_event (GstAdaptiveDemux * demux, GstPad * pad,
}
stream = NULL;
gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
ret = gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
start, stop_type, stop, &update);
/* FIXME - this seems unatural, do_seek() is updating base when we
* only want the start/stop position to change, maybe do_seek() needs
* some fixing? */
if (!(flags & GST_SEEK_FLAG_FLUSH) && ((rate > 0
&& start_type == GST_SEEK_TYPE_NONE) || (rate < 0
&& stop_type == GST_SEEK_TYPE_NONE))) {
demux->segment.base = oldsegment.base;
if (ret) {
/* FIXME - this seems unatural, do_seek() is updating base when we
* only want the start/stop position to change, maybe do_seek() needs
* some fixing? */
if (!(flags & GST_SEEK_FLAG_FLUSH) && ((rate > 0
&& start_type == GST_SEEK_TYPE_NONE) || (rate < 0
&& stop_type == GST_SEEK_TYPE_NONE))) {
demux->segment.base = oldsegment.base;
}
GST_DEBUG_OBJECT (demux, "Calling subclass seek: %" GST_PTR_FORMAT, event);
ret = demux_class->seek (demux, event);
}
GST_DEBUG_OBJECT (demux, "Calling subclass seek: %" GST_PTR_FORMAT, event);
ret = demux_class->seek (demux, event);
if (!ret) {
/* Is there anything else we can do if it fails? */
gst_segment_copy_into (&oldsegment, &demux->segment);