Fix RTP/RTCP mux
This commit is contained in:
parent
7eb8e495c0
commit
736363ccfe
@ -0,0 +1,47 @@
|
|||||||
|
From 3c8039642448e7ad383b2cd588f54e396e1788a8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Youness Alaoui <kakaroto@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
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Name: gstreamer1-plugins-bad-free
|
Name: gstreamer1-plugins-bad-free
|
||||||
Version: 1.4.5
|
Version: 1.4.5
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: GStreamer streaming media framework "bad" plugins
|
Summary: GStreamer streaming media framework "bad" plugins
|
||||||
|
|
||||||
License: LGPLv2+ and LGPLv2
|
License: LGPLv2+ and LGPLv2
|
||||||
@ -20,6 +20,7 @@ URL: http://gstreamer.freedesktop.org/
|
|||||||
# modified with gst-p-bad-cleanup.sh from SOURCE1
|
# modified with gst-p-bad-cleanup.sh from SOURCE1
|
||||||
Source0: gst-plugins-bad-free-%{version}.tar.xz
|
Source0: gst-plugins-bad-free-%{version}.tar.xz
|
||||||
Source1: gst-p-bad-cleanup.sh
|
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-devel >= %{version}
|
||||||
BuildRequires: gstreamer1-plugins-base-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
|
%prep
|
||||||
%setup -q -n gst-plugins-bad-%{version}
|
%setup -q -n gst-plugins-bad-%{version}
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -343,6 +345,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstcamerab
|
|||||||
%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 06 2015 David Woodhouse <dwmw2@infradead.org> - 1.4.5-2
|
||||||
|
- Fix RTP/RTCP muxing (#1199578)
|
||||||
|
|
||||||
* Tue Feb 03 2015 Wim Taymans <wtaymans@redhat.com> - 1.4.5-1
|
* Tue Feb 03 2015 Wim Taymans <wtaymans@redhat.com> - 1.4.5-1
|
||||||
- Update to 1.4.5
|
- Update to 1.4.5
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user