diff options
Diffstat (limited to 'main/audiohook.c')
-rw-r--r-- | main/audiohook.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/main/audiohook.c b/main/audiohook.c index 986f11f84..2cba2de6e 100644 --- a/main/audiohook.c +++ b/main/audiohook.c @@ -945,6 +945,15 @@ static struct ast_frame *audio_audiohook_write_list(struct ast_channel *chan, st if (!(middle_frame = audiohook_list_translate_to_slin(audiohook_list, direction, start_frame))) { return frame; } + + /* If the translation resulted in an interpolated frame then immediately return as audiohooks + * rely on actual media being present to do things. + */ + if (!middle_frame->data.ptr) { + ast_frfree(middle_frame); + return start_frame; + } + samples = middle_frame->samples; /* |