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; 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); start, stop_type, stop, &update);
/* FIXME - this seems unatural, do_seek() is updating base when we if (ret) {
* only want the start/stop position to change, maybe do_seek() needs /* FIXME - this seems unatural, do_seek() is updating base when we
* some fixing? */ * only want the start/stop position to change, maybe do_seek() needs
if (!(flags & GST_SEEK_FLAG_FLUSH) && ((rate > 0 * some fixing? */
&& start_type == GST_SEEK_TYPE_NONE) || (rate < 0 if (!(flags & GST_SEEK_FLAG_FLUSH) && ((rate > 0
&& stop_type == GST_SEEK_TYPE_NONE))) { && start_type == GST_SEEK_TYPE_NONE) || (rate < 0
demux->segment.base = oldsegment.base; && 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) { if (!ret) {
/* Is there anything else we can do if it fails? */ /* Is there anything else we can do if it fails? */
gst_segment_copy_into (&oldsegment, &demux->segment); gst_segment_copy_into (&oldsegment, &demux->segment);