From: Joshua C. Colp Date: Wed, 28 Apr 2021 12:17:13 +0000 (-0300) Subject: chan_local: Skip filtering audio formats on removed streams. X-Git-Tag: 16.19.0-rc1~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2b8141d26c6929f193692cba92d65b2ca41d984;p=thirdparty%2Fasterisk.git chan_local: Skip filtering audio formats on removed streams. When a stream topology is provided to chan_local when dialing it filters the audio formats down. This operation did not skip streams which were removed (that have no formats) resulting in calling being aborted. This change causes such streams to be skipped. ASTERISK-29407 Change-Id: I1de8b98727cb2d10f4bc287da0b5fdcb381addd6 --- diff --git a/main/core_local.c b/main/core_local.c index ef5a4c6d39..89d369e002 100644 --- a/main/core_local.c +++ b/main/core_local.c @@ -967,7 +967,8 @@ static struct ast_channel *local_request_with_stream_topology(const char *type, stream = ast_stream_topology_get_stream(audio_filtered_topology, i); - if (ast_stream_get_type(stream) != AST_MEDIA_TYPE_AUDIO) { + if (ast_stream_get_type(stream) != AST_MEDIA_TYPE_AUDIO || + ast_stream_get_state(stream) == AST_STREAM_STATE_REMOVED) { continue; }