diff --git a/0001-conncheck-Don-t-lookup-prflx-pair-for-UDP-candidates.patch b/0001-conncheck-Don-t-lookup-prflx-pair-for-UDP-candidates.patch new file mode 100644 index 0000000..9716297 --- /dev/null +++ b/0001-conncheck-Don-t-lookup-prflx-pair-for-UDP-candidates.patch @@ -0,0 +1,37 @@ +From ca47519feda9d4dad38a06e2f7d94c0afc501364 Mon Sep 17 00:00:00 2001 +From: Jakub Adam +Date: Wed, 29 May 2019 20:10:40 +0200 +Subject: [PATCH] conncheck: Don't lookup prflx pair for UDP candidates + +Code comment mentions peer reflexive candidate pair should be selected +only in the case of TCP local candidates, but it was done in all cases. +--- + agent/conncheck.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/agent/conncheck.c b/agent/conncheck.c +index e931e24..3e02ce0 100644 +--- a/agent/conncheck.c ++++ b/agent/conncheck.c +@@ -3033,11 +3033,13 @@ static CandidateCheckPair *priv_process_response_check_for_reflexive(NiceAgent * + * of a TCP-ACTIVE local candidate, so we find it even if an incoming + * check matched an existing pair because it could be the original + * ACTIVE-PASSIVE candidate pair which was retriggered */ +- for (i = stream->conncheck_list; i; i = i->next) { +- CandidateCheckPair *pair = i->data; +- if (pair->local == cand && remote_candidate == pair->remote) { +- new_pair = pair; +- break; ++ if (local_cand->transport != NICE_CANDIDATE_TRANSPORT_UDP) { ++ for (i = stream->conncheck_list; i; i = i->next) { ++ CandidateCheckPair *pair = i->data; ++ if (pair->local == cand && remote_candidate == pair->remote) { ++ new_pair = pair; ++ break; ++ } + } + } + break; +-- +2.21.0 + diff --git a/libnice.spec b/libnice.spec index 8c6a9b8..4ca17cb 100644 --- a/libnice.spec +++ b/libnice.spec @@ -3,7 +3,7 @@ Name: libnice Version: 0.1.16 -Release: 3%{?dist} +Release: 4%{?dist} Summary: GLib ICE implementation License: LGPLv2 and MPLv1.1 @@ -13,6 +13,9 @@ Source0: https://nice.freedesktop.org/releases/%{name}-%{version}.tar.gz # make tests pass in Koji Patch1: libnice-0.1.14-tests-koji.patch +# make audio connection more reliable +Patch2: 0001-conncheck-Don-t-lookup-prflx-pair-for-UDP-candidates.patch + BuildRequires: autoconf BuildRequires: automake BuildRequires: glib2-devel @@ -68,6 +71,7 @@ developing applications that use %{name}. %prep %setup -q %patch1 -p1 +%patch2 -p1 chmod 0755 scripts/valgrind-test-driver # disable test-new-trickle, which sometimes hangs indefinitely, and @@ -138,6 +142,9 @@ make check %changelog +* Tue Jun 04 2019 Stefan Becker - 0.1.16-4 +- add upstream patch to make audio connection more reliable (#1716936) + * Fri May 10 2019 Stefan Becker - 0.1.16-3 - test-new-dribble got renamed to test-new-trickle