]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_amrwb] add cfg setting to switch between OA/BE when originating 684/head
authorDragos Oancea <dragos@signalwire.com>
Wed, 10 Jun 2020 12:17:27 +0000 (12:17 +0000)
committerDragos Oancea <dragos@signalwire.com>
Wed, 10 Jun 2020 12:20:45 +0000 (12:20 +0000)
src/mod/codecs/mod_amrwb/mod_amrwb.c

index 19cde02adf71a2ec418acbeb605829a7f4e3ff5c..4f12c27f0b0951b69537d75211c3ec9af4b9db63 100644 (file)
@@ -87,6 +87,7 @@ static struct {
        switch_byte_t default_bitrate;
        switch_byte_t volte;
        switch_byte_t adjust_bitrate;
+       switch_byte_t force_oa; /*force OA when originating*/
        int debug;
 } globals;
 
@@ -209,7 +210,11 @@ static switch_status_t switch_amrwb_init(switch_codec_t *codec, switch_codec_fla
                context->enc_mode = globals.default_bitrate;
 
                /* octet-align = 0  - per RFC - if there's no `octet-align` FMTP value then BE is employed */
-               switch_clear_flag(context, AMRWB_OPT_OCTET_ALIGN);
+               if (!globals.force_oa) {
+                       switch_clear_flag(context, AMRWB_OPT_OCTET_ALIGN);
+               } else {
+                       switch_set_flag(context, AMRWB_OPT_OCTET_ALIGN);
+               }
 
                if (codec->fmtp_in) {
                        argc = switch_separate_string(codec->fmtp_in, ';', argv, (sizeof(argv) / sizeof(argv[0])));
@@ -548,6 +553,9 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_amrwb_load)
                                if (!strcasecmp(var, "adjust-bitrate")) {
                                        globals.adjust_bitrate = (switch_byte_t) atoi(val);
                                }
+                               if (!strcasecmp(var, "force-oa")) {
+                                       globals.force_oa = (switch_byte_t) atoi(val);
+                               }
                        }
                }
        }