Index: main/channel.c =================================================================== --- main/channel.c (revision 397696) +++ main/channel.c (working copy) @@ -1320,6 +1320,7 @@ } } AST_LIST_TRAVERSE_SAFE_END; + ast_log(LOG_WARNING, "Dropped %d frames from queue for %s\n", count, ast_channel_name(chan)); } if (after) { @@ -6997,17 +6998,23 @@ */ { AST_LIST_HEAD_NOLOCK(, ast_frame) tmp_readq; + int frcount = 0; AST_LIST_HEAD_INIT_NOLOCK(&tmp_readq); AST_LIST_APPEND_LIST(&tmp_readq, ast_channel_readq(original), frame_list); AST_LIST_APPEND_LIST(ast_channel_readq(original), ast_channel_readq(clonechan), frame_list); while ((current = AST_LIST_REMOVE_HEAD(&tmp_readq, frame_list))) { + frcount++; + current->src = strdup("indirect leak"); AST_LIST_INSERT_TAIL(ast_channel_readq(original), current, frame_list); if (ast_channel_alert_write(original)) { ast_log(LOG_WARNING, "write() failed: %s\n", strerror(errno)); } } + if (frcount) { + ast_log(LOG_WARNING, "Masq inserted %d frames\n", frcount); + } } /* Swap the raw formats */