summaryrefslogtreecommitdiff
path: root/main/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c8
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)) {