Commit 5e2a4627 authored by Tomasz Grobelny's avatar Tomasz Grobelny Committed by Sebastian Dröge
Browse files

gst/rtp/gstrtpspeexdepay.*: Take timestamp from the RTP packet as a first step...

gst/rtp/gstrtpspeexdepay.*: Take timestamp from the RTP packet as a first step to fix problems with transmission over...

Original commit message from CVS:
Patch by: Tomasz Grobelny <tomasz at grobelny dot oswiecenia dot net>
* gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_init),
(gst_rtp_speex_depay_process):
* gst/rtp/gstrtpspeexdepay.h:
Take timestamp from the RTP packet as a first step to fix problems
with transmission over RTP when the network is not reliable.
Fixes bug #541787.
parent cf3286da
2008-07-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
Patch by: Tomasz Grobelny <tomasz at grobelny dot oswiecenia dot net>
* gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_init),
(gst_rtp_speex_depay_process):
* gst/rtp/gstrtpspeexdepay.h:
Take timestamp from the RTP packet as a first step to fix problems
with transmission over RTP when the network is not reliable.
Fixes bug #541787.
2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
Patch by: Tero Saarni <tero dot saarni at gmail dot com>
......
......@@ -105,6 +105,7 @@ gst_rtp_speex_depay_init (GstRtpSPEEXDepay * rtpspeexdepay,
GstRtpSPEEXDepayClass * klass)
{
GST_BASE_RTP_DEPAYLOAD (rtpspeexdepay)->clock_rate = 8000;
rtpspeexdepay->start_ts = 0;
}
static gint
......@@ -202,8 +203,15 @@ gst_rtp_speex_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
gst_rtp_buffer_get_marker (buf),
gst_rtp_buffer_get_timestamp (buf), gst_rtp_buffer_get_seq (buf));
/* nothing special to be done */
GstRtpSPEEXDepay *speexdepayload = GST_RTP_SPEEX_DEPAY (depayload);
/* apply correct timestamp from rtp packet */
outbuf = gst_rtp_buffer_get_payload_buffer (buf);
if (speexdepayload->start_ts == 0)
speexdepayload->start_ts = gst_rtp_buffer_get_timestamp (buf);
GST_BUFFER_TIMESTAMP (outbuf) =
gst_util_uint64_scale (GST_SECOND,
gst_rtp_buffer_get_timestamp (buf) - speexdepayload->start_ts,
depayload->clock_rate);
return outbuf;
}
......
......@@ -37,6 +37,7 @@ typedef struct _GstRtpSPEEXDepayClass GstRtpSPEEXDepayClass;
struct _GstRtpSPEEXDepay
{
GstBaseRTPDepayload depayload;
guint64 start_ts;
};
struct _GstRtpSPEEXDepayClass
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment