From 3169432ed4ac972e450d5a886f770061b88f3d4c Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 28 Jun 2013 12:06:21 +0200 Subject: [PATCH] vorbispay: always collect headers on data When we see a data packet, always check if we need to collect any previous headers. --- gst/rtp/gstrtpvorbispay.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gst/rtp/gstrtpvorbispay.c b/gst/rtp/gstrtpvorbispay.c index 298a4f9727..1be1c49d59 100644 --- a/gst/rtp/gstrtpvorbispay.c +++ b/gst/rtp/gstrtpvorbispay.c @@ -161,6 +161,9 @@ gst_rtp_vorbis_pay_setcaps (GstRTPBasePayload * basepayload, GstCaps * caps) goto null_buffer; gst_buffer_map (buf, &map, GST_MAP_READ); + if (map.size < 1) + goto invalid_streamheader; + /* no data packets allowed */ if ((map.data[0] & 1) == 0) goto invalid_streamheader; @@ -608,7 +611,7 @@ gst_rtp_vorbis_pay_handle_buffer (GstRTPBasePayload * basepayload, rtpvorbispay->headers = g_list_append (rtpvorbispay->headers, buffer); ret = GST_FLOW_OK; goto done; - } else if (rtpvorbispay->need_headers) { + } else if (rtpvorbispay->headers) { if (!gst_rtp_vorbis_pay_finish_headers (basepayload)) goto header_error; }