mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-16 06:48:25 +00:00
Merge "bridges/bridge_softmix: Remove SSRC changes on join/leave; update video source"
This commit is contained in:
@@ -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 */
|
/*! \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)
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
softmix_src_change(bridge_channel);
|
|
||||||
|
|
||||||
/* Can't forget the lock */
|
/* Can't forget the lock */
|
||||||
ast_mutex_init(&sc->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;
|
bridge_channel->tech_pvt = NULL;
|
||||||
|
|
||||||
softmix_src_change(bridge_channel);
|
|
||||||
|
|
||||||
/* Drop mutex lock */
|
/* Drop mutex lock */
|
||||||
ast_mutex_destroy(&sc->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
|
* XXX Softmix needs to use channel roles to determine what to
|
||||||
* do with control frames.
|
* 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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user