From 78d13b6642968fc1d98f505a3e6d79e3777796da Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Fri, 24 Jan 2014 13:20:49 -0300 Subject: [PATCH] basesrc: do not forget to clear the forced_eos flag otherwise it will always use the seqnum of the event sent by the application --- libs/gst/base/gstbasesrc.c | 4 ++++ 1 file changed, 4 insertions(+) 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); } -- 2.7.4