diff options
-rw-r--r-- | main/channel.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/main/channel.c b/main/channel.c index 58eac2a85..4fd3771d5 100644 --- a/main/channel.c +++ b/main/channel.c @@ -3018,14 +3018,14 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio) ast_frame_dump(chan->name, f, "<<"); chan->fin = FRAMECOUNT_INC(chan->fin); - if (f && f->datalen == 0 && f->data) { + if (f && f->frametype == AST_FRAME_CONTROL && f->subclass == AST_CONTROL_HOLD && f->datalen == 0 && f->data) { /* fix invalid pointer */ f->data = NULL; #ifdef AST_DEVMODE - ast_log(LOG_ERROR, "Found frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name); + ast_log(LOG_ERROR, "Found HOLD frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name); ast_frame_dump(chan->name, f, "<<"); #else - ast_debug(3, "Found frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name); + ast_debug(3, "Found HOLD frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name); #endif } |