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
This commit is contained in:
Joshua C. Colp 2021-04-28 09:17:13 -03:00 committed by Joshua Colp
parent 0fd9c6588b
commit d2b8141d26
1 changed files with 2 additions and 1 deletions

View File

@ -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;
}