57 lines
2.2 KiB
Diff
57 lines
2.2 KiB
Diff
|
From a98341397d3522fdc7470c4220775035a2d1d790 Mon Sep 17 00:00:00 2001
|
||
|
From: Youness Alaoui <kakaroto@kakaroto.homelinux.net>
|
||
|
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
|
||
|
|