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 +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 c25260c..9dd70b7 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 - 1.4.5-2 +- Fix RTP/RTCP muxing (#1199578) + * Tue Feb 03 2015 Wim Taymans - 1.4.5-1 - Update to 1.4.5