[gstreamer1-plugins-bad-free/f21] Fix RTP/RTCP mux

David Woodhouse dwmw2 at fedoraproject.org
Fri Mar 6 16:56:37 UTC 2015


commit a56a57e64726f7fa1d0184cb042d370a860d6ffc
Author: David Woodhouse <David.Woodhouse at intel.com>
Date:   Fri Mar 6 16:56:07 2015 +0000

    Fix RTP/RTCP mux

 ...-support-for-RTP-RTCP-mixing-if-data-arri.patch | 47 ++++++++++++++++++++++
 gstreamer1-plugins-bad-free.spec                   |  7 +++-
 2 files changed, 53 insertions(+), 1 deletion(-)
---
diff --git a/0001-srtpdec-Add-support-for-RTP-RTCP-mixing-if-data-arri.patch b/0001-srtpdec-Add-support-for-RTP-RTCP-mixing-if-data-arri.patch
new file mode 100644
index 0000000..701ca5e
--- /dev/null
+++ b/0001-srtpdec-Add-support-for-RTP-RTCP-mixing-if-data-arri.patch
@@ -0,0 +1,47 @@
+From 3c8039642448e7ad383b2cd588f54e396e1788a8 Mon Sep 17 00:00:00 2001
+From: Youness Alaoui <kakaroto at kakaroto.homelinux.net>
+Date: Tue, 5 Aug 2014 14:06:07 -0400
+Subject: [PATCH] srtpdec: Add support for RTP/RTCP mixing if data arrives on
+ RTCP pad
+
+https://bugzilla.gnome.org/show_bug.cgi?id=734321
+---
+ ext/srtp/gstsrtpdec.c | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/ext/srtp/gstsrtpdec.c b/ext/srtp/gstsrtpdec.c
+index 5d42f44..892f683 100644
+--- a/ext/srtp/gstsrtpdec.c
++++ b/ext/srtp/gstsrtpdec.c
+@@ -560,20 +560,18 @@ validate_buffer (GstSrtpDec * filter, GstBuffer * buf, guint32 * ssrc,
+     gboolean * is_rtcp)
+ {
+   GstSrtpDecSsrcStream *stream = NULL;
++  GstRTPBuffer rtpbuf = GST_RTP_BUFFER_INIT;
+ 
+-  if (!(*is_rtcp)) {
+-    GstRTPBuffer rtpbuf = GST_RTP_BUFFER_INIT;
++  if (gst_rtp_buffer_map (buf, GST_MAP_READ, &rtpbuf)) {
++    if (gst_rtp_buffer_get_payload_type (&rtpbuf) < 64
++        || gst_rtp_buffer_get_payload_type (&rtpbuf) > 80) {
++      *ssrc = gst_rtp_buffer_get_ssrc (&rtpbuf);
+ 
+-    if (gst_rtp_buffer_map (buf, GST_MAP_READ, &rtpbuf)) {
+-      if (gst_rtp_buffer_get_payload_type (&rtpbuf) < 64
+-          || gst_rtp_buffer_get_payload_type (&rtpbuf) > 80) {
+-        *ssrc = gst_rtp_buffer_get_ssrc (&rtpbuf);
+-
+-        gst_rtp_buffer_unmap (&rtpbuf);
+-        goto have_ssrc;
+-      }
+       gst_rtp_buffer_unmap (&rtpbuf);
++      *is_rtcp = FALSE;
++      goto have_ssrc;
+     }
++    gst_rtp_buffer_unmap (&rtpbuf);
+   }
+ 
+   if (rtcp_buffer_get_ssrc (buf, ssrc)) {
+-- 
+2.1.0
+
diff --git a/gstreamer1-plugins-bad-free.spec b/gstreamer1-plugins-bad-free.spec
index 921b053..5095038 100644
--- a/gstreamer1-plugins-bad-free.spec
+++ b/gstreamer1-plugins-bad-free.spec
@@ -10,7 +10,7 @@
 
 Name:           gstreamer1-plugins-bad-free
 Version:        1.4.5
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        GStreamer streaming media framework "bad" plugins
 
 License:        LGPLv2+ and LGPLv2
@@ -20,6 +20,7 @@ URL:            http://gstreamer.freedesktop.org/
 # modified with gst-p-bad-cleanup.sh from SOURCE1
 Source0:        gst-plugins-bad-free-%{version}.tar.xz
 Source1:        gst-p-bad-cleanup.sh
+Patch1:         0001-srtpdec-Add-support-for-RTP-RTCP-mixing-if-data-arri.patch
 
 BuildRequires:  gstreamer1-devel >= %{version}
 BuildRequires:  gstreamer1-plugins-base-devel >= %{version}
@@ -147,6 +148,7 @@ aren't tested well enough, or the code is not of good enough quality.
 
 %prep
 %setup -q -n gst-plugins-bad-%{version}
+%patch1 -p1
 
 
 %build
@@ -343,6 +345,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstcamerab
 %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
 
 %changelog
+* Fri Mar 06 2015 David Woodhouse <dwmw2 at infradead.org> - 1.4.5-2
+- Fix RTP/RTCP muxing (#1199578)
+
 * Wed Jan 28 2015 Bastien Nocera <bnocera at redhat.com> 1.4.5-1
 - Update to 1.4.5
 


More information about the scm-commits mailing list