From: Thiago Santos Date: Fri, 24 Jan 2014 16:20:49 +0000 (-0300) Subject: basesrc: do not forget to clear the forced_eos flag X-Git-Tag: 1.3.1~197 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=78d13b6642968fc1d98f505a3e6d79e3777796da;p=platform%2Fupstream%2Fgstreamer.git basesrc: do not forget to clear the forced_eos flag otherwise it will always use the seqnum of the event sent by the application --- diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index e6acdcb..5bb0460 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -1742,6 +1742,7 @@ gst_base_src_send_event (GstElement * element, GstEvent * event) if (g_atomic_int_get (&src->priv->has_pending_eos)) { GST_OBJECT_LOCK (src); CLEAR_PENDING_EOS (src); + src->priv->forced_eos = FALSE; GST_OBJECT_UNLOCK (src); } if (bclass->unlock_stop) @@ -2893,6 +2894,7 @@ pause: } gst_pad_push_event (pad, event); + src->priv->forced_eos = FALSE; } else if (ret == GST_FLOW_NOT_LINKED || ret <= GST_FLOW_EOS) { event = gst_event_new_eos (); @@ -3234,6 +3236,7 @@ gst_base_src_start (GstBaseSrc * basesrc) basesrc->running = FALSE; basesrc->priv->segment_pending = FALSE; basesrc->priv->segment_seqnum = gst_util_seqnum_next (); + basesrc->priv->forced_eos = FALSE; GST_LIVE_UNLOCK (basesrc); bclass = GST_BASE_SRC_GET_CLASS (basesrc); @@ -3521,6 +3524,7 @@ gst_base_src_set_flushing (GstBaseSrc * basesrc, if (g_atomic_int_get (&basesrc->priv->has_pending_eos)) { GST_OBJECT_LOCK (basesrc); CLEAR_PENDING_EOS (basesrc); + basesrc->priv->forced_eos = FALSE; GST_OBJECT_UNLOCK (basesrc); }