mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
adaptivedemux: Move SEEK handling to a separate function
Just for code readability. Doesn't change behaviour
This commit is contained in:
parent
d33352edb5
commit
deb686cfe1
1 changed files with 209 additions and 206 deletions
|
@ -1262,20 +1262,10 @@ gst_adaptive_demux_can_seek (GstAdaptiveDemux * demux)
|
|||
GST_SEEK_FLAG_SNAP_NEAREST))
|
||||
|
||||
static gboolean
|
||||
gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
|
||||
gst_adaptive_demux_handle_seek_event (GstAdaptiveDemux * demux, GstPad * pad,
|
||||
GstEvent * event)
|
||||
{
|
||||
GstAdaptiveDemux *demux;
|
||||
GstAdaptiveDemuxClass *demux_class;
|
||||
|
||||
demux = GST_ADAPTIVE_DEMUX_CAST (parent);
|
||||
demux_class = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
|
||||
|
||||
/* FIXME handle events received on pads that are to be removed */
|
||||
|
||||
switch (event->type) {
|
||||
case GST_EVENT_SEEK:
|
||||
{
|
||||
GstAdaptiveDemuxClass *demux_class = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
|
||||
gdouble rate;
|
||||
GstFormat format;
|
||||
GstSeekFlags flags;
|
||||
|
@ -1283,7 +1273,7 @@ gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
|
|||
gint64 start, stop;
|
||||
guint32 seqnum;
|
||||
gboolean update;
|
||||
gboolean ret = TRUE;
|
||||
gboolean ret;
|
||||
GstSegment oldsegment;
|
||||
GstAdaptiveDemuxStream *stream = NULL;
|
||||
|
||||
|
@ -1387,8 +1377,7 @@ gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
|
|||
}
|
||||
}
|
||||
|
||||
demux_class->stream_seek (stream, rate >= 0, stream_seek_flags, ts,
|
||||
&ts);
|
||||
demux_class->stream_seek (stream, rate >= 0, stream_seek_flags, ts, &ts);
|
||||
|
||||
/* replace event with a new one without snaping to seek on all streams */
|
||||
gst_event_unref (event);
|
||||
|
@ -1400,8 +1389,7 @@ gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
|
|||
event =
|
||||
gst_event_new_seek (rate, format, REMOVE_SNAP_FLAGS (flags),
|
||||
start_type, start, stop_type, stop);
|
||||
GST_DEBUG_OBJECT (demux, "Adapted snap seek to %" GST_PTR_FORMAT,
|
||||
event);
|
||||
GST_DEBUG_OBJECT (demux, "Adapted snap seek to %" GST_PTR_FORMAT, event);
|
||||
}
|
||||
stream = NULL;
|
||||
|
||||
|
@ -1417,8 +1405,7 @@ gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
|
|||
demux->segment.base = oldsegment.base;
|
||||
}
|
||||
|
||||
GST_DEBUG_OBJECT (demux, "Calling subclass seek: %" GST_PTR_FORMAT,
|
||||
event);
|
||||
GST_DEBUG_OBJECT (demux, "Calling subclass seek: %" GST_PTR_FORMAT, event);
|
||||
|
||||
ret = demux_class->seek (demux, event);
|
||||
|
||||
|
@ -1477,10 +1464,26 @@ gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
|
|||
gst_adaptive_demux_start_tasks (demux);
|
||||
GST_MANIFEST_UNLOCK (demux);
|
||||
GST_API_UNLOCK (demux);
|
||||
|
||||
gst_event_unref (event);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
|
||||
GstEvent * event)
|
||||
{
|
||||
GstAdaptiveDemux *demux;
|
||||
|
||||
demux = GST_ADAPTIVE_DEMUX_CAST (parent);
|
||||
|
||||
/* FIXME handle events received on pads that are to be removed */
|
||||
|
||||
switch (event->type) {
|
||||
case GST_EVENT_SEEK:
|
||||
{
|
||||
return gst_adaptive_demux_handle_seek_event (demux, pad, event);
|
||||
}
|
||||
case GST_EVENT_RECONFIGURE:{
|
||||
GstAdaptiveDemuxStream *stream;
|
||||
|
||||
|
|
Loading…
Reference in a new issue