diff options
author | Terry Wilson <twilson@digium.com> | 2012-02-20 23:43:27 +0000 |
---|---|---|
committer | Terry Wilson <twilson@digium.com> | 2012-02-20 23:43:27 +0000 |
commit | 57f42bd74f78d5022631b2ba2269892f8a3a384a (patch) | |
tree | 3283ec4ac88c5b3c267f4490b410e5331911f2bb /main/audiohook.c | |
parent | 25e5eb3b96e6d9bcbb2fc02fbd879ae21104c1f5 (diff) |
ast_channel opaquification of pointers and integral types
Review: https://reviewboard.asterisk.org/r/1753/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/audiohook.c')
-rw-r--r-- | main/audiohook.c | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/main/audiohook.c b/main/audiohook.c index 83fec318f..da80f0aea 100644 --- a/main/audiohook.c +++ b/main/audiohook.c @@ -434,30 +434,32 @@ int ast_audiohook_attach(struct ast_channel *chan, struct ast_audiohook *audioho { ast_channel_lock(chan); - if (!chan->audiohooks) { + if (!ast_channel_audiohooks(chan)) { + struct ast_audiohook_list *ahlist; /* Whoops... allocate a new structure */ - if (!(chan->audiohooks = ast_calloc(1, sizeof(*chan->audiohooks)))) { + if (!(ahlist = ast_calloc(1, sizeof(*ahlist)))) { ast_channel_unlock(chan); return -1; } - AST_LIST_HEAD_INIT_NOLOCK(&chan->audiohooks->spy_list); - AST_LIST_HEAD_INIT_NOLOCK(&chan->audiohooks->whisper_list); - AST_LIST_HEAD_INIT_NOLOCK(&chan->audiohooks->manipulate_list); + ast_channel_audiohooks_set(chan, ahlist); + AST_LIST_HEAD_INIT_NOLOCK(&ast_channel_audiohooks(chan)->spy_list); + AST_LIST_HEAD_INIT_NOLOCK(&ast_channel_audiohooks(chan)->whisper_list); + AST_LIST_HEAD_INIT_NOLOCK(&ast_channel_audiohooks(chan)->manipulate_list); /* This sample rate will adjust as necessary when writing to the list. */ - chan->audiohooks->list_internal_samp_rate = 8000; + ast_channel_audiohooks(chan)->list_internal_samp_rate = 8000; } /* Drop into respective list */ if (audiohook->type == AST_AUDIOHOOK_TYPE_SPY) - AST_LIST_INSERT_TAIL(&chan->audiohooks->spy_list, audiohook, list); + AST_LIST_INSERT_TAIL(&ast_channel_audiohooks(chan)->spy_list, audiohook, list); else if (audiohook->type == AST_AUDIOHOOK_TYPE_WHISPER) - AST_LIST_INSERT_TAIL(&chan->audiohooks->whisper_list, audiohook, list); + AST_LIST_INSERT_TAIL(&ast_channel_audiohooks(chan)->whisper_list, audiohook, list); else if (audiohook->type == AST_AUDIOHOOK_TYPE_MANIPULATE) - AST_LIST_INSERT_TAIL(&chan->audiohooks->manipulate_list, audiohook, list); + AST_LIST_INSERT_TAIL(&ast_channel_audiohooks(chan)->manipulate_list, audiohook, list); - audiohook_set_internal_rate(audiohook, chan->audiohooks->list_internal_samp_rate, 1); - audiohook_list_set_samplerate_compatibility(chan->audiohooks); + audiohook_set_internal_rate(audiohook, ast_channel_audiohooks(chan)->list_internal_samp_rate, 1); + audiohook_list_set_samplerate_compatibility(ast_channel_audiohooks(chan)); /* Change status over to running since it is now attached */ ast_audiohook_update_status(audiohook, AST_AUDIOHOOK_STATUS_RUNNING); @@ -573,7 +575,7 @@ void ast_audiohook_move_by_source(struct ast_channel *old_chan, struct ast_chann struct ast_audiohook *audiohook; enum ast_audiohook_status oldstatus; - if (!old_chan->audiohooks || !(audiohook = find_audiohook_by_source(old_chan->audiohooks, source))) { + if (!ast_channel_audiohooks(old_chan) || !(audiohook = find_audiohook_by_source(ast_channel_audiohooks(old_chan), source))) { return; } @@ -604,12 +606,12 @@ int ast_audiohook_detach_source(struct ast_channel *chan, const char *source) ast_channel_lock(chan); /* Ensure the channel has audiohooks on it */ - if (!chan->audiohooks) { + if (!ast_channel_audiohooks(chan)) { ast_channel_unlock(chan); return -1; } - audiohook = find_audiohook_by_source(chan->audiohooks, source); + audiohook = find_audiohook_by_source(ast_channel_audiohooks(chan), source); ast_channel_unlock(chan); @@ -633,19 +635,19 @@ int ast_audiohook_remove(struct ast_channel *chan, struct ast_audiohook *audioho { ast_channel_lock(chan); - if (!chan->audiohooks) { + if (!ast_channel_audiohooks(chan)) { ast_channel_unlock(chan); return -1; } if (audiohook->type == AST_AUDIOHOOK_TYPE_SPY) - AST_LIST_REMOVE(&chan->audiohooks->spy_list, audiohook, list); + AST_LIST_REMOVE(&ast_channel_audiohooks(chan)->spy_list, audiohook, list); else if (audiohook->type == AST_AUDIOHOOK_TYPE_WHISPER) - AST_LIST_REMOVE(&chan->audiohooks->whisper_list, audiohook, list); + AST_LIST_REMOVE(&ast_channel_audiohooks(chan)->whisper_list, audiohook, list); else if (audiohook->type == AST_AUDIOHOOK_TYPE_MANIPULATE) - AST_LIST_REMOVE(&chan->audiohooks->manipulate_list, audiohook, list); + AST_LIST_REMOVE(&ast_channel_audiohooks(chan)->manipulate_list, audiohook, list); - audiohook_list_set_samplerate_compatibility(chan->audiohooks); + audiohook_list_set_samplerate_compatibility(ast_channel_audiohooks(chan)); ast_audiohook_update_status(audiohook, AST_AUDIOHOOK_STATUS_DONE); ast_channel_unlock(chan); @@ -939,26 +941,26 @@ int ast_channel_audiohook_count_by_source(struct ast_channel *chan, const char * int count = 0; struct ast_audiohook *ah = NULL; - if (!chan->audiohooks) + if (!ast_channel_audiohooks(chan)) return -1; switch (type) { case AST_AUDIOHOOK_TYPE_SPY: - AST_LIST_TRAVERSE(&chan->audiohooks->spy_list, ah, list) { + AST_LIST_TRAVERSE(&ast_channel_audiohooks(chan)->spy_list, ah, list) { if (!strcmp(ah->source, source)) { count++; } } break; case AST_AUDIOHOOK_TYPE_WHISPER: - AST_LIST_TRAVERSE(&chan->audiohooks->whisper_list, ah, list) { + AST_LIST_TRAVERSE(&ast_channel_audiohooks(chan)->whisper_list, ah, list) { if (!strcmp(ah->source, source)) { count++; } } break; case AST_AUDIOHOOK_TYPE_MANIPULATE: - AST_LIST_TRAVERSE(&chan->audiohooks->manipulate_list, ah, list) { + AST_LIST_TRAVERSE(&ast_channel_audiohooks(chan)->manipulate_list, ah, list) { if (!strcmp(ah->source, source)) { count++; } @@ -977,24 +979,24 @@ int ast_channel_audiohook_count_by_source_running(struct ast_channel *chan, cons { int count = 0; struct ast_audiohook *ah = NULL; - if (!chan->audiohooks) + if (!ast_channel_audiohooks(chan)) return -1; switch (type) { case AST_AUDIOHOOK_TYPE_SPY: - AST_LIST_TRAVERSE(&chan->audiohooks->spy_list, ah, list) { + AST_LIST_TRAVERSE(&ast_channel_audiohooks(chan)->spy_list, ah, list) { if ((!strcmp(ah->source, source)) && (ah->status == AST_AUDIOHOOK_STATUS_RUNNING)) count++; } break; case AST_AUDIOHOOK_TYPE_WHISPER: - AST_LIST_TRAVERSE(&chan->audiohooks->whisper_list, ah, list) { + AST_LIST_TRAVERSE(&ast_channel_audiohooks(chan)->whisper_list, ah, list) { if ((!strcmp(ah->source, source)) && (ah->status == AST_AUDIOHOOK_STATUS_RUNNING)) count++; } break; case AST_AUDIOHOOK_TYPE_MANIPULATE: - AST_LIST_TRAVERSE(&chan->audiohooks->manipulate_list, ah, list) { + AST_LIST_TRAVERSE(&ast_channel_audiohooks(chan)->manipulate_list, ah, list) { if ((!strcmp(ah->source, source)) && (ah->status == AST_AUDIOHOOK_STATUS_RUNNING)) count++; } @@ -1207,12 +1209,12 @@ int ast_audiohook_set_mute(struct ast_channel *chan, const char *source, enum as ast_channel_lock(chan); /* Ensure the channel has audiohooks on it */ - if (!chan->audiohooks) { + if (!ast_channel_audiohooks(chan)) { ast_channel_unlock(chan); return -1; } - audiohook = find_audiohook_by_source(chan->audiohooks, source); + audiohook = find_audiohook_by_source(ast_channel_audiohooks(chan), source); if (audiohook) { if (clear) { |