diff options
Diffstat (limited to 'bridges/bridge_softmix.c')
-rw-r--r-- | bridges/bridge_softmix.c | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/bridges/bridge_softmix.c b/bridges/bridge_softmix.c index 31b72265f..a0b147497 100644 --- a/bridges/bridge_softmix.c +++ b/bridges/bridge_softmix.c @@ -440,21 +440,6 @@ static void softmix_bridge_unsuspend(struct ast_bridge *bridge, struct ast_bridg } } -/*! - * \internal - * \brief Indicate a source change to the channel. - * \since 12.0.0 - * - * \param bridge_channel Which channel source is changing. - * - * \retval 0 on success. - * \retval -1 on error. - */ -static int softmix_src_change(struct ast_bridge_channel *bridge_channel) -{ - return ast_bridge_channel_queue_control_data(bridge_channel, AST_CONTROL_SRCCHANGE, NULL, 0); -} - /*! \brief Function called when a channel is joined into the bridge */ static int softmix_bridge_join(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) { @@ -471,8 +456,6 @@ static int softmix_bridge_join(struct ast_bridge *bridge, struct ast_bridge_chan return -1; } - softmix_src_change(bridge_channel); - /* Can't forget the lock */ ast_mutex_init(&sc->lock); @@ -499,8 +482,6 @@ static void softmix_bridge_leave(struct ast_bridge *bridge, struct ast_bridge_ch } bridge_channel->tech_pvt = NULL; - softmix_src_change(bridge_channel); - /* Drop mutex lock */ ast_mutex_destroy(&sc->lock); @@ -694,6 +675,15 @@ static int softmix_bridge_write_control(struct ast_bridge *bridge, struct ast_br * XXX Softmix needs to use channel roles to determine what to * do with control frames. */ + + switch (frame->subclass.integer) { + case AST_CONTROL_VIDUPDATE: + ast_bridge_queue_everyone_else(bridge, NULL, frame); + break; + default: + break; + } + return 0; } |