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)
}
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 ();
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);
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);
}