From df34b007d90424b8b83b3754839150a1002a3d70 Mon Sep 17 00:00:00 2001 From: "Joshua C. Colp" Date: Mon, 18 May 2020 11:05:56 -0300 Subject: [PATCH] bridge: Don't try to match audio formats. When bridging channels we were trying to match the audio formats of both sides in combination with the configured formats. While this is allowed in SDP in practice this causes extra reinvites and problems. This change ensures that audio streams use the formats of the first existing active audio stream. It is only when other stream types (like video) exist that this will result in re-negotiation occurring for those streams only. ASTERISK-28871 Change-Id: I22f5a3e7db29e00c165e74d05d10856f6086fe47 --- bridges/bridge_native_rtp.c | 4 ++-- bridges/bridge_simple.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bridges/bridge_native_rtp.c b/bridges/bridge_native_rtp.c index a6addf2711..2853b990cb 100644 --- a/bridges/bridge_native_rtp.c +++ b/bridges/bridge_native_rtp.c @@ -893,8 +893,8 @@ static struct ast_stream_topology *native_rtp_request_stream_topology_update( continue; } - ast_format_cap_append_from_cap(ast_stream_get_formats(stream), audio_formats, - AST_MEDIA_TYPE_AUDIO); + /* We haven't actually modified audio_formats so this is safe */ + ast_stream_set_formats(stream, (struct ast_format_cap *)audio_formats); } } diff --git a/bridges/bridge_simple.c b/bridges/bridge_simple.c index 545b3ad1cb..1750d27390 100644 --- a/bridges/bridge_simple.c +++ b/bridges/bridge_simple.c @@ -97,8 +97,8 @@ static struct ast_stream_topology *simple_bridge_request_stream_topology_update( continue; } - ast_format_cap_append_from_cap(ast_stream_get_formats(stream), audio_formats, - AST_MEDIA_TYPE_AUDIO); + /* We haven't actually modified audio_formats so this is safe */ + ast_stream_set_formats(stream, (struct ast_format_cap *)audio_formats); } }