X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fmain.c;h=5221387f7c60e12a6befc667fd934e15f2806dc1;hb=5c534696a9252b50d420543885e531894e59650e;hp=6453f8aa3a9a784fb6e5536625276dfd6ddcac1a;hpb=47c164c85a7a137116236d6f09fa95ec076c852c;p=fdkaac.git diff --git a/src/main.c b/src/main.c index 6453f8a..5221387 100644 --- a/src/main.c +++ b/src/main.c @@ -108,7 +108,7 @@ PROGNAME " %s\n" " transport layer\n" "\n" " -o Output filename\n" -" --ignore-length Ignore length of WAV header\n" +" --ignorelength Ignore length of WAV header\n" "\n" "Options for raw (headerless) input:\n" " -R, --raw Treat input as raw (by default WAV is\n" @@ -212,7 +212,7 @@ int parse_options(int argc, char **argv, aacenc_param_ex_t *params) { "adts-crc-check", no_argument, 0, 'C' }, { "header-period", required_argument, 0, 'P' }, - { "ignore-length", no_argument, 0, 'I' }, + { "ignorelength", no_argument, 0, 'I' }, { "raw", no_argument, 0, 'R' }, { "raw-channels", required_argument, 0, OPT_RAW_CHANNELS }, @@ -233,6 +233,7 @@ int parse_options(int argc, char **argv, aacenc_param_ex_t *params) { "tempo", required_argument, 0, M4AF_TAG_TEMPO }, { "tag", required_argument, 0, OPT_SHORT_TAG }, { "long-tag", required_argument, 0, OPT_LONG_TAG }, + { 0, 0, 0, 0 }, }; params->afterburner = 1; @@ -357,6 +358,14 @@ int parse_options(int argc, char **argv, aacenc_param_ex_t *params) } *val++ = '\0'; if (ch == OPT_SHORT_TAG) { + /* + * take care of U+00A9(COPYRIGHT SIGN). + * 1) if length of fcc is 3, we prepend '\xa9'. + * 2) U+00A9 becomes "\xc2\xa9" in UTF-8. Therefore + * we remove first '\xc2'. + */ + if (optarg[0] == '\xc2') + ++optarg; if ((klen = strlen(optarg))== 3) fcc = 0xa9; else if (klen != 4) {