From c7f42cc3bc192ef0122b68d95cb24e187b975623 Mon Sep 17 00:00:00 2001 From: Yasushi SHOJI Date: Fri, 7 Jul 2017 21:15:57 +0900 Subject: [PATCH] rtpgsmpay: fix accidental garbage data before actual payload Do not allocate payload size outbuf if appending payload buffer. The commit 137672ff1824948bda4b1b1967de8c24a0055b67 attached payload to the output buffer but forgot to remove payload allocation. That effectively doubled payload size and add zero'ed or random bytes. Makes the following pipeline work again: gst-launch-1.0 -v audiotestsrc wave=2 ! gsmenc ! rtpgsmpay ! rtpgsmdepay ! gsmdec ! autoaudiosink https://bugzilla.gnome.org/show_bug.cgi?id=784616 --- gst/rtp/gstrtpgsmpay.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/rtp/gstrtpgsmpay.c b/gst/rtp/gstrtpgsmpay.c index ce937ff256..aa239a8b06 100644 --- a/gst/rtp/gstrtpgsmpay.c +++ b/gst/rtp/gstrtpgsmpay.c @@ -145,7 +145,7 @@ gst_rtp_gsm_pay_handle_buffer (GstRTPBasePayload * basepayload, if (payload_len > GST_RTP_BASE_PAYLOAD_MTU (rtpgsmpay)) goto too_big; - outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0); + outbuf = gst_rtp_buffer_new_allocate (0, 0, 0); /* copy timestamp and duration */ GST_BUFFER_PTS (outbuf) = timestamp;