Don't force RTP jitterbuffer clock-rate

This commit is contained in:
David Woodhouse 2015-03-06 16:57:25 +00:00
parent 4a653d33dc
commit 22fb190a2f
2 changed files with 63 additions and 2 deletions

View File

@ -0,0 +1,56 @@
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

View File

@ -9,12 +9,13 @@
Name: gstreamer1-plugins-good
Version: 1.4.5
Release: 1%{?dist}
Release: 2%{?dist}
Summary: GStreamer plugins with good code and licensing
License: LGPLv2+
URL: http://gstreamer.freedesktop.org/
Source0: http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-%{version}.tar.xz
Patch1: 0001-jitterbuffer-Allow-rtp-caps-without-clock-rate.patch
BuildRequires: gstreamer1-devel >= %{version}
BuildRequires: gstreamer1-plugins-base-devel >= %{version}
@ -84,6 +85,7 @@ to be installed.
%prep
%setup -q -n gst-plugins-good-%{version}
%patch1 -p1
%build
%configure \
@ -202,7 +204,10 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
%changelog
* Wed Jan 28 2015 Bastien Nocera <bnocera@redhat.com> 1.4.5-1
* Fri Mar 06 2015 David Woodhouse <dwmw2@infradead.org> - 1.4.5-2
- Don't force RTP jitterbuffer clock-rate (#1199579)
* Wed Jan 28 2015 Bastien Nocera <bnocera@redhat.com> - 1.4.5-1
- Update to 1.4.5
* Fri Nov 14 2014 Kalev Lember <kalevlember@gmail.com> - 1.4.4-1