mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 15:51:11 +00:00
rtspsrc: Seek handling is always done with a valid event
Remove the checks
This commit is contained in:
parent
14a9cc603e
commit
418a6270e5
1 changed files with 18 additions and 27 deletions
|
@ -2400,33 +2400,26 @@ gst_rtspsrc_perform_seek (GstRTSPSrc * src, GstEvent * event)
|
||||||
GList *walk;
|
GList *walk;
|
||||||
const gchar *seek_style = NULL;
|
const gchar *seek_style = NULL;
|
||||||
|
|
||||||
if (event) {
|
GST_DEBUG_OBJECT (src, "doing seek with event %" GST_PTR_FORMAT, event);
|
||||||
GST_DEBUG_OBJECT (src, "doing seek with event %" GST_PTR_FORMAT, event);
|
|
||||||
|
|
||||||
gst_event_parse_seek (event, &rate, &format, &flags,
|
gst_event_parse_seek (event, &rate, &format, &flags,
|
||||||
&cur_type, &cur, &stop_type, &stop);
|
&cur_type, &cur, &stop_type, &stop);
|
||||||
|
|
||||||
/* no negative rates yet */
|
/* no negative rates yet */
|
||||||
if (rate < 0.0)
|
if (rate < 0.0)
|
||||||
goto negative_rate;
|
goto negative_rate;
|
||||||
|
|
||||||
/* we need TIME format */
|
/* we need TIME format */
|
||||||
if (format != src->segment.format)
|
if (format != src->segment.format)
|
||||||
goto no_format;
|
goto no_format;
|
||||||
|
|
||||||
/* Check if we are not at all seekable */
|
/* Check if we are not at all seekable */
|
||||||
if (src->seekable == -1.0)
|
if (src->seekable == -1.0)
|
||||||
goto not_seekable;
|
goto not_seekable;
|
||||||
|
|
||||||
/* Additional seeking-to-beginning-only check */
|
/* Additional seeking-to-beginning-only check */
|
||||||
if (src->seekable == 0.0 && cur != 0)
|
if (src->seekable == 0.0 && cur != 0)
|
||||||
goto not_seekable;
|
goto not_seekable;
|
||||||
} else {
|
|
||||||
GST_DEBUG_OBJECT (src, "doing seek without event");
|
|
||||||
flags = 0;
|
|
||||||
cur_type = GST_SEEK_TYPE_SET;
|
|
||||||
stop_type = GST_SEEK_TYPE_SET;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flags & GST_SEEK_FLAG_SEGMENT)
|
if (flags & GST_SEEK_FLAG_SEGMENT)
|
||||||
goto invalid_segment_flag;
|
goto invalid_segment_flag;
|
||||||
|
@ -2465,11 +2458,9 @@ gst_rtspsrc_perform_seek (GstRTSPSrc * src, GstEvent * event)
|
||||||
|
|
||||||
/* configure the seek parameters in the seeksegment. We will then have the
|
/* configure the seek parameters in the seeksegment. We will then have the
|
||||||
* right values in the segment to perform the seek */
|
* right values in the segment to perform the seek */
|
||||||
if (event) {
|
GST_DEBUG_OBJECT (src, "configuring seek");
|
||||||
GST_DEBUG_OBJECT (src, "configuring seek");
|
gst_segment_do_seek (&seeksegment, rate, format, flags,
|
||||||
gst_segment_do_seek (&seeksegment, rate, format, flags,
|
cur_type, cur, stop_type, stop, &update);
|
||||||
cur_type, cur, stop_type, stop, &update);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* figure out the last position we need to play. If it's configured (stop !=
|
/* figure out the last position we need to play. If it's configured (stop !=
|
||||||
* -1), use that, else we play until the total duration of the file */
|
* -1), use that, else we play until the total duration of the file */
|
||||||
|
|
Loading…
Reference in a new issue