core: Don't stop generators when writing RTCP frames.
authorJoshua Colp <jcolp@digium.com>
Wed, 5 Sep 2018 11:39:40 +0000 (11:39 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 6 Sep 2018 22:08:55 +0000 (17:08 -0500)
Generators provide such functionality as tone generation or
silence generation. RTCP frames provide RTCP information and
should not stop generators from operating.

ASTERISK-28005

Change-Id: Ieadada07b068a7aa426e8763f1b73a18e1ac34a9

main/channel.c

index c0e3cb4..b549299 100644 (file)
@@ -5029,7 +5029,7 @@ int ast_write_stream(struct ast_channel *chan, int stream_num, struct ast_frame
                goto done;
        }
 
-       if (ast_channel_generatordata(chan) && (!fr->src || strcasecmp(fr->src, "ast_prod"))) {
+       if (ast_channel_generatordata(chan) && (fr->frametype != AST_FRAME_RTCP) && (!fr->src || strcasecmp(fr->src, "ast_prod"))) {
                if (ast_test_flag(ast_channel_flags(chan), AST_FLAG_WRITE_INT)) {
                                ast_deactivate_generator(chan);
                } else {