gst/rtpmanager/gstrtpjitterbuffer.c: Try to get the new clock-rate from the buffer caps when we receive a new payload...

Original commit message from CVS:
Patch by: Thijs Vermeir  <thijsvermeir at gmail dot com>
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain):
Try to get the new clock-rate from the buffer caps when we receive a new
payload type instead of always firing the signal. Fixes #512774.
This commit is contained in:
Thijs Vermeir 2008-01-29 18:57:27 +00:00 committed by Wim Taymans
parent de592925a7
commit 7460bb6d91
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,12 @@
2008-01-29 Wim Taymans <wim.taymans@collabora.co.uk>
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain):
Try to get the new clock-rate from the buffer caps when we receive a new
payload type instead of always firing the signal. Fixes #512774.
2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
* ext/mpeg2enc/gstmpeg2enc.cc:
@ -247,7 +256,7 @@
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop):
Remove old unused variable.
Track pt on input buffers and get the clock-rate when it changes.
Ignore packets with unknown clock-rate. See #511686.
Ignore packets with unknown clock-rate. Fixes #511146.
2008-01-25 Zaheer Abbas Merali <zaheerabbas at merali dot org>

View file

@ -806,9 +806,16 @@ gst_rtp_jitter_buffer_chain (GstPad * pad, GstBuffer * buffer)
priv = jitterbuffer->priv;
if (priv->last_pt != gst_rtp_buffer_get_payload_type (buffer)) {
GstCaps *caps;
priv->last_pt = gst_rtp_buffer_get_payload_type (buffer);
/* reset clock-rate so that we get a new one */
priv->clock_rate = -1;
/* Try to get the clock-rate from the caps first if we can. If there are no
* caps we must fire the signal to get the clock-rate. */
if ((caps = GST_BUFFER_CAPS (buffer))) {
gst_jitter_buffer_sink_parse_caps (jitterbuffer, caps);
}
}
if (priv->clock_rate == -1) {