From ce441cbff780d004267666c74d1f2077987754ca Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Thu, 23 May 2013 14:57:49 +0200 Subject: [PATCH] mpegtsbase: Post an error message when EOS'ing without source pads This ensures we don't "hang" when files can't be decoded, or contain no valid streams. --- gst/mpegtsdemux/mpegtsbase.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index a21fad065b..99215d7895 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -1613,7 +1613,11 @@ error: const gchar *reason = gst_flow_get_name (ret); GST_DEBUG_OBJECT (base, "Pausing task, reason %s", reason); if (ret == GST_FLOW_EOS) { - GST_MPEGTS_BASE_GET_CLASS (base)->push_event (base, gst_event_new_eos ()); + if (!GST_MPEGTS_BASE_GET_CLASS (base)->push_event (base, + gst_event_new_eos ())) + GST_ELEMENT_ERROR (base, STREAM, FAILED, + (_("Internal data stream error.")), + ("No program activated before EOS")); } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) { GST_ELEMENT_ERROR (base, STREAM, FAILED, (_("Internal data stream error.")),