Introduce decoder_execute().
[paraslash.git] / mp3dec_filter.c
index f03fbb76d4c004f1b439bb26bbfbe6414d7b07cf..c2c15a3aeacd1e2b9b6d613efacd99345f30eb61 100644 (file)
@@ -236,19 +236,7 @@ static int mp3dec_execute(struct btr_node *btrn, const char *cmd, char **result)
        struct filter_node *fn = btr_context(btrn);
        struct private_mp3dec_data *pmd = fn->private_data;
 
-       if (!strcmp(cmd, "sample_rate")) {
-               if (pmd->sample_rate == 0)
-                       return -E_BTR_NAVAIL;
-               *result = make_message("%u", pmd->sample_rate);
-               return 1;
-       }
-       if (!strcmp(cmd, "channels")) {
-               if (pmd->channels == 0)
-                       return -E_BTR_NAVAIL;
-               *result = make_message("%u", pmd->channels);
-               return 1;
-       }
-       return -ERRNO_TO_PARA_ERROR(ENOTSUP);
+       return decoder_execute(cmd, pmd->sample_rate, pmd->channels, result);
 }
 
 static void mp3dec_free_config(void *conf)