mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 23:28:16 +00:00
composition: Factor out a function to seek the current stack
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
This commit is contained in:
parent
75a809cf75
commit
b28c506121
1 changed files with 23 additions and 11 deletions
|
@ -1473,6 +1473,26 @@ update_operations_base_time (GnlComposition * comp, gboolean reverse)
|
|||
(GNodeTraverseFunc) update_base_time, ×tamp);
|
||||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
_seek_current_stack (GnlComposition * comp, GstEvent * event)
|
||||
{
|
||||
gboolean res;
|
||||
GnlCompositionPrivate *priv = comp->priv;
|
||||
GstPad *peer = gst_pad_get_peer (GNL_OBJECT_SRC (comp));
|
||||
|
||||
GST_INFO_OBJECT (comp, "Seeking itself %" GST_PTR_FORMAT, event);
|
||||
|
||||
priv->seeking_itself = TRUE;
|
||||
res = gst_pad_push_event (peer, event);
|
||||
priv->seeking_itself = FALSE;
|
||||
gst_object_unref (peer);
|
||||
|
||||
GST_DEBUG_OBJECT (comp, "Done seeking");
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
Figures out if pipeline needs updating.
|
||||
Updates it and sends the seek event.
|
||||
|
@ -2966,18 +2986,10 @@ update_pipeline (GnlComposition * comp, GstClockTime currenttime,
|
|||
}
|
||||
|
||||
/* Activate stack */
|
||||
if (!samestack) {
|
||||
if (!samestack)
|
||||
return _activate_new_stack (comp);
|
||||
} else {
|
||||
gboolean res;
|
||||
GstPad *peer = gst_pad_get_peer (GNL_OBJECT_SRC (comp));
|
||||
|
||||
priv->seeking_itself = TRUE;
|
||||
res = gst_pad_push_event (peer, toplevel_seek);
|
||||
priv->seeking_itself = FALSE;
|
||||
|
||||
return res;
|
||||
}
|
||||
else
|
||||
return _seek_current_stack (comp, toplevel_seek);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
Loading…
Reference in a new issue