+ if (mp3_conf->ignore_crc_given)
+ mad_stream_options(&pmd->stream, MAD_OPTION_IGNORECRC);
+}
+
+static int mp3dec_parse_config(int argc, char **argv, void **config)
+{
+ int ret;
+ struct mp3dec_filter_args_info *mp3_conf;
+
+ mp3_conf = para_calloc(sizeof(*mp3_conf));
+ ret = -E_MP3DEC_SYNTAX;
+ if (mp3dec_cmdline_parser(argc, argv, mp3_conf))
+ goto err;
+ ret = -ERRNO_TO_PARA_ERROR(EINVAL);
+ if (mp3_conf->bufsize_arg < 32)
+ goto err;
+ if (mp3_conf->bufsize_arg >= INT_MAX / 1024)
+ goto err;
+ *config = mp3_conf;
+ return 1;
+err:
+ free(mp3_conf);
+ return ret;