auparse: avoid hanging on invalid short input
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 19 Jul 2011 10:05:51 +0000 (12:05 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 19 Jul 2011 10:05:51 +0000 (12:05 +0200)
... as in such case there is no srcpad yet on which to forward EOS.

gst/auparse/gstauparse.c

index 69e5273..d5a5555 100644 (file)
@@ -749,6 +749,12 @@ gst_au_parse_sink_event (GstPad * pad, GstEvent * event)
       gst_event_unref (event);
       break;
     }
+    case GST_EVENT_EOS:
+      if (!auparse->srcpad) {
+        GST_ELEMENT_ERROR (auparse, STREAM, WRONG_TYPE,
+            ("No valid input found before end of stream"), (NULL));
+      }
+      /* fall-through */
     default:
       ret = gst_pad_event_default (pad, event);
       break;