From: Thibault Saunier Date: Thu, 10 Jul 2014 13:48:50 +0000 (+0200) Subject: composition: Factor out a function to seek the current stack X-Git-Tag: 1.19.3~493^2~1438 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b28c5061219af12042463822a9d3373dfb2bb9c9;p=platform%2Fupstream%2Fgstreamer.git composition: Factor out a function to seek the current stack Co-Authored by: Mathieu Duponchelle --- diff --git a/gnl/gnlcomposition.c b/gnl/gnlcomposition.c index 6e51f49..641a8aa 100644 --- a/gnl/gnlcomposition.c +++ b/gnl/gnlcomposition.c @@ -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