mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
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:
parent
b9ebd885ff
commit
1c79b39896
1 changed files with 14 additions and 12 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue