summaryrefslogtreecommitdiffstats
path: root/audio/gstrtpsbcpay.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2008-01-23 19:17:33 +0000
committerLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2008-01-23 19:17:33 +0000
commit1f9f22f64d5e7c66c6e2d20452f6e5918d0020fb (patch)
tree3400e5b2a3e4c3fa482de52843ca5cf6c38aee65 /audio/gstrtpsbcpay.c
parente8e68d294cd662970de6082473e30ecd6ee8dd61 (diff)
Fix use of gstreamer plugin with rhythmbox and banshee and rtp timestamps.
Diffstat (limited to 'audio/gstrtpsbcpay.c')
-rw-r--r--audio/gstrtpsbcpay.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/audio/gstrtpsbcpay.c b/audio/gstrtpsbcpay.c
index 68aa28a9..fdb42d18 100644
--- a/audio/gstrtpsbcpay.c
+++ b/audio/gstrtpsbcpay.c
@@ -193,10 +193,10 @@ static GstFlowReturn gst_rtp_sbc_pay_flush_buffers(GstRtpSBCPay *sbcpay)
memcpy(payload_data + RTP_SBC_PAYLOAD_HEADER_SIZE, data, max_payload);
g_free(data);
- /* FIXME - timestamp it! */
+ GST_BUFFER_TIMESTAMP(outbuf) = sbcpay->timestamp;
GST_DEBUG_OBJECT (sbcpay, "Pushing %d bytes", max_payload);
- return gst_basertppayload_push (GST_BASE_RTP_PAYLOAD(sbcpay), outbuf);
+ return gst_basertppayload_push(GST_BASE_RTP_PAYLOAD(sbcpay), outbuf);
}
static GstFlowReturn gst_rtp_sbc_pay_handle_buffer(GstBaseRTPPayload *payload,
@@ -208,6 +208,7 @@ static GstFlowReturn gst_rtp_sbc_pay_handle_buffer(GstBaseRTPPayload *payload,
sbcpay = GST_RTP_SBC_PAY(payload);
gst_adapter_push(sbcpay->adapter, gst_buffer_copy(buffer));
+ sbcpay->timestamp = GST_BUFFER_TIMESTAMP(buffer);
available = gst_adapter_available(sbcpay->adapter);
if (available + RTP_SBC_HEADER_TOTAL >=
GST_BASE_RTP_PAYLOAD_MTU(sbcpay) ||
@@ -325,6 +326,7 @@ static void gst_rtp_sbc_pay_init(GstRtpSBCPay *self, GstRtpSBCPayClass *klass)
{
self->adapter = gst_adapter_new();
self->frame_length = 0;
+ self->timestamp = 0;
self->min_frames = DEFAULT_MIN_FRAMES;
}