From 69c8374b7ca710c47638be33d7900d4bb5ff7a22 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 28 Feb 2008 19:38:53 +0000 Subject: [PATCH] rtpsbcpay: Fix bug sending empty packages and remove a buffer copy. --- gst/rtp/gstrtpsbcpay.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst/rtp/gstrtpsbcpay.c b/gst/rtp/gstrtpsbcpay.c index 893bc4f376..eb07e88da2 100644 --- a/gst/rtp/gstrtpsbcpay.c +++ b/gst/rtp/gstrtpsbcpay.c @@ -187,6 +187,8 @@ gst_rtp_sbc_pay_flush_buffers (GstRtpSBCPay * sbcpay) max_payload = MIN (max_payload, available); frame_count = max_payload / sbcpay->frame_length; payload_length = frame_count * sbcpay->frame_length; + if (payload_length == 0) /* Nothing to send */ + return GST_FLOW_OK; outbuf = gst_rtp_buffer_new_allocate (payload_length + RTP_SBC_PAYLOAD_HEADER_SIZE, 0, 0); @@ -219,7 +221,7 @@ gst_rtp_sbc_pay_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer) sbcpay = GST_RTP_SBC_PAY (payload); sbcpay->timestamp = GST_BUFFER_TIMESTAMP (buffer); - gst_adapter_push (sbcpay->adapter, gst_buffer_copy (buffer)); + gst_adapter_push (sbcpay->adapter, buffer); available = gst_adapter_available (sbcpay->adapter); if (available + RTP_SBC_HEADER_TOTAL >=