summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYouness Alaoui <kakaroto@kakaroto.homelinux.net>2014-08-07 21:58:14 -0400
committerWim Taymans <wtaymans@redhat.com>2015-06-23 10:15:04 +0200
commit8323df53e22afd708c7ce180f60e2c4185f7f528 (patch)
treeabeb50a085c820e9aa35283a186bd35d3995be3f
parent63351d19f27b5d8e5eee62b09717cf2cdb36c3b3 (diff)
jitterbuffer: Allow rtp caps without clock-raterhel-7.2
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
-rw-r--r--gst/rtpmanager/gstrtpjitterbuffer.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c
index 7b1f25594..063a4e693 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) "
*/ )
);
@@ -1366,9 +1366,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:
@@ -1399,12 +1397,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");