summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins2 <jenkins2@gerrit.asterisk.org>2018-04-30 12:35:10 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2018-04-30 12:35:10 -0500
commitf633af89c1d69734589dac2cb16f6de46301c9d6 (patch)
treed7563a338f166da0dc2791aa96004eac8ef0f93d
parent3bad41257bcd4470a773fc12d0d62a678a95ede0 (diff)
parentde9c0ede4a74796efad0a7736897db71548d727b (diff)
Merge "bridge_softmix: Fix sporadic incorrect video stream mapping."
-rw-r--r--bridges/bridge_softmix.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/bridges/bridge_softmix.c b/bridges/bridge_softmix.c
index e3513a788..23dc54846 100644
--- a/bridges/bridge_softmix.c
+++ b/bridges/bridge_softmix.c
@@ -2197,12 +2197,13 @@ static void softmix_bridge_stream_topology_changed(struct ast_bridge *bridge, st
AST_VECTOR_SIZE(&media_types) - 1, &bridge->channels);
ast_bridge_channel_lock(participant);
ast_channel_lock(participant->chan);
- } else if (is_video_dest(stream, NULL, NULL)) {
- /* We expect to never read media from video destination channels, but just
- * in case, we should set their to_bridge value to -1.
+ } else if (ast_stream_get_type(stream) == AST_MEDIA_TYPE_VIDEO) {
+ /* Video stream mapping occurs directly when a video source stream
+ * is found on a channel. Video streams should otherwise remain
+ * unmapped.
*/
AST_VECTOR_REPLACE(&participant->stream_map.to_bridge, i, -1);
- } else {
+ } else if (ast_stream_get_state(stream) != AST_STREAM_STATE_REMOVED) {
/* XXX This is copied from ast_stream_topology_map(). This likely could
* be factored out in some way
*/