From d494be99167d81250bb9715015b067123d117a03 Mon Sep 17 00:00:00 2001 From: Stian Selnes Date: Fri, 23 Oct 2015 11:08:56 +0200 Subject: [PATCH] rtpvp8pay: Fix allocation to support source-info property Use gst_rtp_base_payload_allocate_output_buffer() in order to allocate RTP buffer with correct number of CSRCs according to the meta. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/314 Part-of: --- gst/rtp/gstrtpvp8pay.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gst/rtp/gstrtpvp8pay.c b/gst/rtp/gstrtpvp8pay.c index 4d6d20f..e3c8b34 100644 --- a/gst/rtp/gstrtpvp8pay.c +++ b/gst/rtp/gstrtpvp8pay.c @@ -385,7 +385,9 @@ gst_rtp_vp8_create_header_buffer (GstRtpVP8Pay * self, guint8 partid, guint8 *p; GstRTPBuffer rtpbuffer = GST_RTP_BUFFER_INIT; - out = gst_rtp_buffer_new_allocate (gst_rtp_vp8_calc_header_len (self), 0, 0); + out = gst_rtp_base_payload_allocate_output_buffer ( + GST_RTP_BASE_PAYLOAD_CAST (self), gst_rtp_vp8_calc_header_len (self), + 0, 0); gst_rtp_buffer_map (out, GST_MAP_READWRITE, &rtpbuffer); p = gst_rtp_buffer_get_payload (&rtpbuffer); /* X=0,R=0,N=0,S=start,PartID=partid */ @@ -470,7 +472,8 @@ gst_rtp_vp8_pay_handle_buffer (GstRTPBasePayload * payload, GstBuffer * buffer) mtu = GST_RTP_BASE_PAYLOAD_MTU (payload); vp8_hdr_len = gst_rtp_vp8_calc_header_len (self); - max_paylen = gst_rtp_buffer_calc_payload_len (mtu - vp8_hdr_len, 0, 0); + max_paylen = gst_rtp_buffer_calc_payload_len (mtu - vp8_hdr_len, 0, + gst_rtp_base_payload_get_source_count (payload, buffer)); list = gst_buffer_list_new_sized ((size / max_paylen) + 1); -- 2.7.4