Remove unnecessary code relating to PLC.
[asterisk/asterisk.git] / codecs / codec_dahdi.c
index 711f7f2..794f0f5 100644 (file)
@@ -56,8 +56,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #define G723_SAMPLES 240
 #define G729_SAMPLES 160
 
-static unsigned int global_useplc = 0;
-
 static struct channel_usage {
        int total;
        int encoders;
@@ -181,7 +179,7 @@ static int dahdi_encoder_framein(struct ast_trans_pvt *pvt, struct ast_frame *f)
 {
        struct codec_dahdi_pvt *dahdip = pvt->pvt;
 
-       if (!f->subclass) {
+       if (!f->subclass.codec) {
                /* We're just faking a return for calculation purposes. */
                dahdip->fake = 2;
                pvt->samples = f->samples;
@@ -229,16 +227,15 @@ static struct ast_frame *dahdi_encoder_frameout(struct ast_trans_pvt *pvt)
        if (2 == dahdip->fake) {
                dahdip->fake = 1;
                pvt->f.frametype = AST_FRAME_VOICE;
-               pvt->f.subclass = 0;
+               pvt->f.subclass.codec = 0;
                pvt->f.samples = dahdip->required_samples;
                pvt->f.data.ptr = NULL;
                pvt->f.offset = 0;
                pvt->f.datalen = 0;
                pvt->f.mallocd = 0;
-               ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
                pvt->samples = 0;
 
-               return &pvt->f;
+               return ast_frisolate(&pvt->f);
 
        } else if (1 == dahdip->fake) {
                dahdip->fake = 0;
@@ -258,16 +255,15 @@ static struct ast_frame *dahdi_encoder_frameout(struct ast_trans_pvt *pvt)
                pvt->f.datalen = res;
                pvt->f.samples = dahdip->required_samples;
                pvt->f.frametype = AST_FRAME_VOICE;
-               pvt->f.subclass = 1 <<  (pvt->t->dstfmt);
+               pvt->f.subclass.codec = 1 <<  (pvt->t->dstfmt);
                pvt->f.mallocd = 0;
                pvt->f.offset = AST_FRIENDLY_OFFSET;
                pvt->f.src = pvt->t->name;
                pvt->f.data.ptr = pvt->outbuf.c;
-               ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
 
                pvt->samples = 0;
                pvt->datalen = 0;
-               return &pvt->f;
+               return ast_frisolate(&pvt->f);
        }
 
        /* Shouldn't get here... */
@@ -278,7 +274,7 @@ static int dahdi_decoder_framein(struct ast_trans_pvt *pvt, struct ast_frame *f)
 {
        struct codec_dahdi_pvt *dahdip = pvt->pvt;
 
-       if (!f->subclass) {
+       if (!f->subclass.codec) {
                /* We're just faking a return for calculation purposes. */
                dahdip->fake = 2;
                pvt->samples = f->samples;
@@ -304,15 +300,14 @@ static struct ast_frame *dahdi_decoder_frameout(struct ast_trans_pvt *pvt)
        if (2 == dahdip->fake) {
                dahdip->fake = 1;
                pvt->f.frametype = AST_FRAME_VOICE;
-               pvt->f.subclass = 0;
+               pvt->f.subclass.codec = 0;
                pvt->f.samples = dahdip->required_samples;
                pvt->f.data.ptr = NULL;
                pvt->f.offset = 0;
                pvt->f.datalen = 0;
                pvt->f.mallocd = 0;
-               ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
                pvt->samples = 0;
-               return &pvt->f;
+               return ast_frisolate(&pvt->f);
        } else if (1 == dahdip->fake) {
                pvt->samples = 0;
                dahdip->fake = 0;
@@ -343,16 +338,15 @@ static struct ast_frame *dahdi_decoder_frameout(struct ast_trans_pvt *pvt)
                }
                pvt->datalen = 0;
                pvt->f.frametype = AST_FRAME_VOICE;
-               pvt->f.subclass = 1 <<  (pvt->t->dstfmt);
+               pvt->f.subclass.codec = 1 <<  (pvt->t->dstfmt);
                pvt->f.mallocd = 0;
                pvt->f.offset = AST_FRIENDLY_OFFSET;
                pvt->f.src = pvt->t->name;
                pvt->f.data.ptr = pvt->outbuf.c;
                pvt->f.samples = dahdip->required_samples;
-               ast_set_flag(&pvt->f, AST_FRFLAG_FROM_TRANSLATOR);
                pvt->samples = 0;
 
-               return &pvt->f;
+               return ast_frisolate(&pvt->f);
        }
 
        /* Shouldn't get here... */
@@ -394,7 +388,7 @@ static int dahdi_translate(struct ast_trans_pvt *pvt, int dest, int source)
        dahdip->fmts.srcfmt = (1 << source);
        dahdip->fmts.dstfmt = (1 << dest);
 
-       ast_log(LOG_DEBUG, "Opening transcoder channel from %d to %d.\n", source, dest);
+       ast_debug(1, "Opening transcoder channel from %d to %d.\n", source, dest);
 
 retry:
        if (ioctl(fd, DAHDI_TC_ALLOCATE, &dahdip->fmts)) {
@@ -408,11 +402,11 @@ retry:
                         * we'll just convert from ulaw to signed linear in
                         * software. */
                        if (AST_FORMAT_SLINEAR == dahdip->fmts.srcfmt) {
-                               ast_log(LOG_DEBUG, "Using soft_slin support on source\n");
+                               ast_debug(1, "Using soft_slin support on source\n");
                                dahdip->softslin = 1;
                                dahdip->fmts.srcfmt = AST_FORMAT_ULAW;
                        } else if (AST_FORMAT_SLINEAR == dahdip->fmts.dstfmt) {
-                               ast_log(LOG_DEBUG, "Using soft_slin support on destination\n");
+                               ast_debug(1, "Using soft_slin support on destination\n");
                                dahdip->softslin = 1;
                                dahdip->fmts.dstfmt = AST_FORMAT_ULAW;
                        }
@@ -493,29 +487,14 @@ static int register_translator(int dst, int src)
        if (is_encoder(zt)) {
                zt->t.framein = dahdi_encoder_framein;
                zt->t.frameout = dahdi_encoder_frameout;
-#if 0
-               zt->t.buffer_samples = 0;
-#endif
        } else {
                zt->t.framein = dahdi_decoder_framein;
                zt->t.frameout = dahdi_decoder_frameout;
-#if 0
-               if (AST_FORMAT_G723_1 == zt->t.srcfmt) {
-                       zt->t.plc_samples = G723_SAMPLES;
-               } else {
-                       zt->t.plc_samples = G729_SAMPLES;
-               }
-               zt->t.buffer_samples = zt->t.plc_samples * 8;
-#endif
        }
        zt->t.destroy = dahdi_destroy;
        zt->t.buffer_samples = 0;
        zt->t.newpvt = dahdi_new;
        zt->t.sample = fakesrc_sample;
-#if 0
-       zt->t.useplc = global_useplc;
-#endif
-       zt->t.useplc = 0;
        zt->t.native_plc = 0;
 
        zt->t.desc_size = sizeof(struct codec_dahdi_pvt);
@@ -567,27 +546,6 @@ static void unregister_translators(void)
        AST_LIST_UNLOCK(&translators);
 }
 
-static int parse_config(int reload)
-{
-       struct ast_variable *var;
-       struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
-       struct ast_config *cfg = ast_config_load("codecs.conf", config_flags);
-
-       if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEUNCHANGED || cfg == CONFIG_STATUS_FILEINVALID)
-               return 0;
-
-       for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) {
-              if (!strcasecmp(var->name, "genericplc")) {
-                      global_useplc = ast_true(var->value);
-                      ast_verb(3, "codec_dahdi: %susing generic PLC\n",
-                               global_useplc ? "" : "not ");
-              }
-       }
-
-       ast_config_destroy(cfg);
-       return 0;
-}
-
 static void build_translators(struct format_map *map, unsigned int dstfmts, unsigned int srcfmts)
 {
        unsigned int src, dst;
@@ -664,14 +622,6 @@ static int reload(void)
 {
        struct translator *cur;
 
-       if (parse_config(1))
-               return AST_MODULE_LOAD_DECLINE;
-
-       AST_LIST_LOCK(&translators);
-       AST_LIST_TRAVERSE(&translators, cur, entry)
-               cur->t.useplc = global_useplc;
-       AST_LIST_UNLOCK(&translators);
-
        return AST_MODULE_LOAD_SUCCESS;
 }
 
@@ -686,8 +636,6 @@ static int unload_module(void)
 static int load_module(void)
 {
        ast_ulaw_init();
-       if (parse_config(0))
-               return AST_MODULE_LOAD_DECLINE;
        find_transcoders();
        ast_cli_register_multiple(cli, ARRAY_LEN(cli));
        return AST_MODULE_LOAD_SUCCESS;