diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-06 15:59:17 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-06 15:59:17 +0000 |
commit | daf0032d069ed93fda093af38a782c5218290156 (patch) | |
tree | e99ed2cd84ef8a79129f88abccc945e339cda34c /apps/app_chanspy.c | |
parent | 9dab0c5f18d259b969aba05592b04816bbaa1d8b (diff) |
Always detach and destroy the whisper and barge audiohooks. Additionally also allow an audiohook to be detached if it has not been attached.
(closes issue #14414)
Reported by: bluecrow76
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@173902 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_chanspy.c')
-rw-r--r-- | apps/app_chanspy.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c index f537875bc..43c95c49a 100644 --- a/apps/app_chanspy.c +++ b/apps/app_chanspy.c @@ -611,19 +611,15 @@ static int channel_spy(struct ast_channel *chan, struct chanspy_ds *spyee_chansp ast_clear_flag(chan, AST_FLAG_END_DTMF_ONLY); ast_channel_unlock(chan); - if (ast_test_flag(flags, OPTION_WHISPER)) { - ast_audiohook_lock(&csth.whisper_audiohook); - ast_audiohook_detach(&csth.whisper_audiohook); - ast_audiohook_unlock(&csth.whisper_audiohook); - ast_audiohook_destroy(&csth.whisper_audiohook); - } - - if (ast_test_flag(flags, OPTION_BARGE)) { - ast_audiohook_lock(&csth.bridge_whisper_audiohook); - ast_audiohook_detach(&csth.bridge_whisper_audiohook); - ast_audiohook_unlock(&csth.bridge_whisper_audiohook); - ast_audiohook_destroy(&csth.bridge_whisper_audiohook); - } + ast_audiohook_lock(&csth.whisper_audiohook); + ast_audiohook_detach(&csth.whisper_audiohook); + ast_audiohook_unlock(&csth.whisper_audiohook); + ast_audiohook_destroy(&csth.whisper_audiohook); + + ast_audiohook_lock(&csth.bridge_whisper_audiohook); + ast_audiohook_detach(&csth.bridge_whisper_audiohook); + ast_audiohook_unlock(&csth.bridge_whisper_audiohook); + ast_audiohook_destroy(&csth.bridge_whisper_audiohook); ast_audiohook_lock(&csth.spy_audiohook); ast_audiohook_detach(&csth.spy_audiohook); |