From: Mathieu Duponchelle Date: Fri, 27 Jun 2014 13:00:48 +0000 (+0200) Subject: composition: simplify update_pipeline_func X-Git-Tag: 1.19.3~493^2~1494 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=13ae2cecd3333c541ebe7c0be27db4489f339c5e;p=platform%2Fupstream%2Fgstreamer.git composition: simplify update_pipeline_func --- diff --git a/gnl/gnlcomposition.c b/gnl/gnlcomposition.c index 2890537..ac58804 100644 --- a/gnl/gnlcomposition.c +++ b/gnl/gnlcomposition.c @@ -1881,28 +1881,22 @@ update_pipeline_func (GnlComposition * comp) seek_handling (comp, TRUE, TRUE); - if (!priv->current) { - /* If we're at the end, post SEGMENT_DONE, or push EOS */ - GST_DEBUG_OBJECT (comp, "Nothing else to play"); - - if (!(priv->segment->flags & GST_SEEK_FLAG_SEGMENT)) { - GST_DEBUG_OBJECT (comp, "Real EOS should be sent now"); - } else if (priv->segment->flags & GST_SEEK_FLAG_SEGMENT) { - gint64 epos; - - if (GST_CLOCK_TIME_IS_VALID (priv->segment->stop)) - epos = (MIN (priv->segment->stop, GNL_OBJECT_STOP (comp))); - else - epos = GNL_OBJECT_STOP (comp); - - GST_LOG_OBJECT (comp, "Emitting segment done pos %" GST_TIME_FORMAT, - GST_TIME_ARGS (epos)); - gst_element_post_message (GST_ELEMENT_CAST (comp), - gst_message_new_segment_done (GST_OBJECT (comp), - priv->segment->format, epos)); - gst_pad_push_event (GNL_OBJECT (comp)->srcpad, - gst_event_new_segment_done (priv->segment->format, epos)); - } + /* Post segment done if last seek was a segment seek */ + if (!priv->current && (priv->segment->flags & GST_SEEK_FLAG_SEGMENT)) { + gint64 epos; + + if (GST_CLOCK_TIME_IS_VALID (priv->segment->stop)) + epos = (MIN (priv->segment->stop, GNL_OBJECT_STOP (comp))); + else + epos = GNL_OBJECT_STOP (comp); + + GST_LOG_OBJECT (comp, "Emitting segment done pos %" GST_TIME_FORMAT, + GST_TIME_ARGS (epos)); + gst_element_post_message (GST_ELEMENT_CAST (comp), + gst_message_new_segment_done (GST_OBJECT (comp), + priv->segment->format, epos)); + gst_pad_push_event (GNL_OBJECT (comp)->srcpad, + gst_event_new_segment_done (priv->segment->format, epos)); }