gst/rtp/gstrtpmp4vpay.c: Don't try to push packets before we could find a valid confi...
authorWim Taymans <wim.taymans@gmail.com>
Mon, 8 Dec 2008 12:36:21 +0000 (12:36 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 8 Dec 2008 12:36:21 +0000 (12:36 +0000)
Original commit message from CVS:
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_flush),
(gst_rtp_mp4v_pay_event):
Don't try to push packets before we could find a valid config
startcode. Fixes #563509.

ChangeLog
gst/rtp/gstrtpmp4vpay.c

index 0f680fc..682d5ef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_flush),
+       (gst_rtp_mp4v_pay_event):
+       Don't try to push packets before we could find a valid config
+       startcode. Fixes #563509.
+
 2008-12-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
 
        Patch by: Brian Cameron <brian.cameron at sun dot com>
index 01e7f2a..afff75d 100644 (file)
@@ -283,6 +283,12 @@ gst_rtp_mp4v_pay_flush (GstRtpMP4VPay * rtpmp4vpay)
    * over multiple packets. */
   avail = gst_adapter_available (rtpmp4vpay->adapter);
 
+  if (rtpmp4vpay->config == NULL) {
+    /* when we don't have a config yet, flush things out */
+    gst_adapter_flush (rtpmp4vpay->adapter, avail);
+    avail = 0;
+  }
+
   ret = GST_FLOW_OK;
 
   while (avail > 0) {