From a98341397d3522fdc7470c4220775035a2d1d790 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Thu, 7 Aug 2014 21:58:14 -0400 Subject: [PATCH] jitterbuffer: Allow rtp caps without clock-rate The jitterbuffer shouldn't force clock-rate on its sink pad, this will cause a negotiation issue since rtpssrcdemux doesn't have the clock-rate and doesn't add it to the caps. The documentation states that the clock-rate can either be specified through the caps or through the request-pt-map signal, so we must remove clock-rate from the pad templates and we must accept the GST_EVENT_CAPS if the caps don't have the clock-rate. https://bugzilla.gnome.org/show_bug.cgi?id=734322 --- gst/rtpmanager/gstrtpjitterbuffer.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c index c8c512e..0eccd1a 100644 --- a/gst/rtpmanager/gstrtpjitterbuffer.c +++ b/gst/rtpmanager/gstrtpjitterbuffer.c @@ -342,9 +342,9 @@ static GstStaticPadTemplate gst_rtp_jitter_buffer_sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, - GST_STATIC_CAPS ("application/x-rtp, " - "clock-rate = (int) [ 1, 2147483647 ]" - /* "payload = (int) , " + GST_STATIC_CAPS ("application/x-rtp" + /* "clock-rate = (int) [ 1, 2147483647 ], " + * "payload = (int) , " * "encoding-name = (string) " */ ) ); @@ -1364,9 +1364,7 @@ queue_event (GstRtpJitterBuffer * jitterbuffer, GstEvent * event) GstCaps *caps; gst_event_parse_caps (event, &caps); - if (!gst_jitter_buffer_sink_parse_caps (jitterbuffer, caps)) - goto wrong_caps; - + gst_jitter_buffer_sink_parse_caps (jitterbuffer, caps); break; } case GST_EVENT_SEGMENT: @@ -1397,12 +1395,6 @@ queue_event (GstRtpJitterBuffer * jitterbuffer, GstEvent * event) return TRUE; /* ERRORS */ -wrong_caps: - { - GST_DEBUG_OBJECT (jitterbuffer, "received invalid caps"); - gst_event_unref (event); - return FALSE; - } newseg_wrong_format: { GST_DEBUG_OBJECT (jitterbuffer, "received non TIME newsegment"); -- 2.1.0