When we see a data packet, always check if we need to collect any previous
headers.
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;
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;
}