mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 15:08:53 +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);
|
(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.
|
Figures out if pipeline needs updating.
|
||||||
Updates it and sends the seek event.
|
Updates it and sends the seek event.
|
||||||
|
@ -2966,18 +2986,10 @@ update_pipeline (GnlComposition * comp, GstClockTime currenttime,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Activate stack */
|
/* Activate stack */
|
||||||
if (!samestack) {
|
if (!samestack)
|
||||||
return _activate_new_stack (comp);
|
return _activate_new_stack (comp);
|
||||||
} else {
|
else
|
||||||
gboolean res;
|
return _seek_current_stack (comp, toplevel_seek);
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
Loading…
Reference in a new issue