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.
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) {