chan_iax2: Only send mini frames if the underlying format has not changed, not if...
authorJoshua Colp <jcolp@digium.com>
Mon, 21 Jul 2014 16:09:33 +0000 (16:09 +0000)
committerJoshua Colp <jcolp@digium.com>
Mon, 21 Jul 2014 16:09:33 +0000 (16:09 +0000)
ASTERISK-24072 #close
Reported by: Matt Jordan

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@419093 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_iax2.c

index be5b4c7..29db828 100644 (file)
@@ -6533,7 +6533,8 @@ static int iax2_send(struct chan_iax2_pvt *pvt, struct ast_frame *f, unsigned in
                /* High two bytes are the same on timestamp, or sending on a trunk */ &&
            (f->frametype == AST_FRAME_VOICE)
                /* is a voice frame */ &&
-               (ast_format_cmp(f->subclass.format, ast_format_compatibility_bitfield2format(pvt->svoiceformat)))
+               (ast_format_cmp(f->subclass.format, ast_format_compatibility_bitfield2format(pvt->svoiceformat)) ==
+                       AST_FORMAT_CMP_EQUAL)
                /* is the same type */ ) {
                        /* Force immediate rather than delayed transmission */
                        now = 1;
@@ -6547,7 +6548,8 @@ static int iax2_send(struct chan_iax2_pvt *pvt, struct ast_frame *f, unsigned in
                 * Otherwise send a mini video frame
                 */
                if (((fts & 0xFFFF8000L) == (pvt->lastvsent & 0xFFFF8000L)) &&
-               (ast_format_cmp(f->subclass.format, ast_format_compatibility_bitfield2format(pvt->svideoformat)))
+               (ast_format_cmp(f->subclass.format, ast_format_compatibility_bitfield2format(pvt->svideoformat)) ==
+                       AST_FORMAT_CMP_EQUAL)
                   ) {
                        now = 1;
                        sendmini = 1;