diff options
Diffstat (limited to 'main/channel.c')
-rw-r--r-- | main/channel.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c index fba59d4df..f76d6a845 100644 --- a/main/channel.c +++ b/main/channel.c @@ -2629,6 +2629,14 @@ void ast_set_hangupsource(struct ast_channel *chan, const char *source, int forc } } +int ast_channel_has_audio_frame_or_monitor(struct ast_channel *chan) +{ + return ast_channel_monitor(chan) + || (ast_channel_audiohooks(chan) + && !ast_audiohook_write_list_empty(ast_channel_audiohooks(chan))) + || !ast_framehook_list_contains_no_active(ast_channel_framehooks(chan)); +} + static void destroy_hooks(struct ast_channel *chan) { if (ast_channel_audiohooks(chan)) { |