Merge "bridges/bridge_softmix: Remove SSRC changes on join/leave; update video source" into 14

changes/40/4340/1
Joshua Colp 9 years ago committed by Gerrit Code Review
commit a12c64cbba

@ -442,21 +442,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)
{
@ -473,8 +458,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);
@ -501,8 +484,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);
@ -696,6 +677,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;
}

Loading…
Cancel
Save