Merge "bridge : Fix one-way direct-media when early bridging with native_rtp"

pull/9/head
Joshua Colp 8 years ago committed by Gerrit Code Review
commit 7ff464bc0a

@ -598,7 +598,8 @@ static int native_rtp_framehook_consume(void *data, enum ast_frame_type type)
*/
static int native_rtp_bridge_capable(struct ast_channel *chan)
{
return !ast_channel_has_hook_requiring_audio(chan);
return !ast_channel_has_hook_requiring_audio(chan)
&& ast_channel_state(chan) == AST_STATE_UP;
}
/*!

@ -108,11 +108,13 @@ struct ast_bridge_technology {
*
* \note On entry, bridge is already locked.
*
* \note The bridge technology must tollerate a failed to join channel
* \note The bridge technology must tolerate a failed to join channel
* until it can be kicked from the bridge.
*
* \note A channel may be in a suspended state already when joining a bridge
* technology. The technology must handle this case.
*
* \note A channel may not be answered when joining a bridge technology.
*/
int (*join)(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel);
/*!

@ -2313,6 +2313,10 @@ static void bridge_channel_handle_control(struct ast_bridge_channel *bridge_chan
case AST_CONTROL_ANSWER:
if (ast_channel_state(chan) != AST_STATE_UP) {
ast_answer(chan);
ast_bridge_channel_lock_bridge(bridge_channel);
bridge_channel->bridge->reconfigured = 1;
bridge_reconfigured(bridge_channel->bridge, 0);
ast_bridge_unlock(bridge_channel->bridge);
} else {
ast_indicate(chan, -1);
}

Loading…
Cancel
Save