rtpvorbispay: Don't send headers twice if we got them from the caps already
authorSebastian Dröge <sebastian@centricular.com>
Wed, 4 Dec 2013 20:55:53 +0000 (21:55 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 4 Dec 2013 20:58:29 +0000 (21:58 +0100)
gst/rtp/gstrtpvorbispay.c

index 93190b4..265479b 100644 (file)
@@ -761,8 +761,14 @@ gst_rtp_vorbis_pay_handle_buffer (GstRTPBasePayload * basepayload,
     ret = GST_FLOW_OK;
     goto done;
   } else if (rtpvorbispay->headers) {
-    if (!gst_rtp_vorbis_pay_finish_headers (basepayload))
-      goto header_error;
+    if (rtpvorbispay->need_headers) {
+      if (!gst_rtp_vorbis_pay_finish_headers (basepayload))
+        goto header_error;
+    } else {
+      g_list_free_full (rtpvorbispay->headers,
+          (GDestroyNotify) gst_buffer_unref);
+      rtpvorbispay->headers = NULL;
+    }
   }
 
   /* there is a config request, see if we need to insert it */