diff options
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/bridge_builtin_features.c | 14 | ||||
-rw-r--r-- | bridges/bridge_builtin_interval_features.c | 6 |
2 files changed, 12 insertions, 8 deletions
diff --git a/bridges/bridge_builtin_features.c b/bridges/bridge_builtin_features.c index 324969f33..c22b83548 100644 --- a/bridges/bridge_builtin_features.c +++ b/bridges/bridge_builtin_features.c @@ -214,7 +214,7 @@ static void start_automonitor(struct ast_bridge_channel *bridge_channel, struct pbx_builtin_setvar_helper(peer_chan, "TOUCH_MONITOR_OUTPUT", touch_filename); } -static int feature_automonitor(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, void *hook_pvt) +static int feature_automonitor(struct ast_bridge_channel *bridge_channel, void *hook_pvt) { const char *start_message; const char *stop_message; @@ -226,7 +226,9 @@ static int feature_automonitor(struct ast_bridge *bridge, struct ast_bridge_chan RAII_VAR(struct ast_features_general_config *, features_cfg, NULL, ao2_cleanup); features_cfg = ast_get_chan_features_general_config(bridge_channel->chan); - peer_chan = ast_bridge_peer(bridge, bridge_channel->chan); + ast_bridge_channel_lock_bridge(bridge_channel); + peer_chan = ast_bridge_peer_nolock(bridge_channel->bridge, bridge_channel->chan); + ast_bridge_unlock(bridge_channel->bridge); if (!peer_chan) { ast_verb(3, "Cannot start AutoMonitor for %s - can not determine peer in bridge.\n", @@ -397,7 +399,7 @@ static void start_automixmonitor(struct ast_bridge_channel *bridge_channel, stru pbx_builtin_setvar_helper(peer_chan, "TOUCH_MIXMONITOR_OUTPUT", touch_filename); } -static int feature_automixmonitor(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, void *hook_pvt) +static int feature_automixmonitor(struct ast_bridge_channel *bridge_channel, void *hook_pvt) { static const char *mixmonitor_spy_type = "MixMonitor"; const char *stop_message; @@ -410,7 +412,9 @@ static int feature_automixmonitor(struct ast_bridge *bridge, struct ast_bridge_c RAII_VAR(struct ast_features_general_config *, features_cfg, NULL, ao2_cleanup); features_cfg = ast_get_chan_features_general_config(bridge_channel->chan); - peer_chan = ast_bridge_peer(bridge, bridge_channel->chan); + ast_bridge_channel_lock_bridge(bridge_channel); + peer_chan = ast_bridge_peer_nolock(bridge_channel->bridge, bridge_channel->chan); + ast_bridge_unlock(bridge_channel->bridge); if (!peer_chan) { ast_verb(3, "Cannot do AutoMixMonitor for %s - cannot determine peer in bridge.\n", @@ -476,7 +480,7 @@ static int feature_automixmonitor(struct ast_bridge *bridge, struct ast_bridge_c } /*! \brief Internal built in feature for hangup */ -static int feature_hangup(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, void *hook_pvt) +static int feature_hangup(struct ast_bridge_channel *bridge_channel, void *hook_pvt) { /* * This is very simple, we simply change the state on the diff --git a/bridges/bridge_builtin_interval_features.c b/bridges/bridge_builtin_interval_features.c index 4a091126b..6b8e91b1e 100644 --- a/bridges/bridge_builtin_interval_features.c +++ b/bridges/bridge_builtin_interval_features.c @@ -50,7 +50,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/stringfields.h" #include "asterisk/musiconhold.h" -static int bridge_features_duration_callback(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, void *hook_pvt) +static int bridge_features_duration_callback(struct ast_bridge_channel *bridge_channel, void *hook_pvt) { struct ast_bridge_features_limits *limits = hook_pvt; @@ -110,7 +110,7 @@ static void limits_interval_playback(struct ast_bridge_channel *bridge_channel, } } -static int bridge_features_connect_callback(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, void *hook_pvt) +static int bridge_features_connect_callback(struct ast_bridge_channel *bridge_channel, void *hook_pvt) { struct ast_bridge_features_limits *limits = hook_pvt; @@ -118,7 +118,7 @@ static int bridge_features_connect_callback(struct ast_bridge *bridge, struct as return -1; } -static int bridge_features_warning_callback(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, void *hook_pvt) +static int bridge_features_warning_callback(struct ast_bridge_channel *bridge_channel, void *hook_pvt) { struct ast_bridge_features_limits *limits = hook_pvt; |