1
0
mirror of https://github.com/nu774/fdkaac.git synced 2025-06-05 23:29:14 +02:00

add --silent

This commit is contained in:
nu774
2013-01-24 23:58:26 +09:00
parent 7b1f213618
commit aa2ca1e348

View File

@@ -109,6 +109,7 @@ PROGNAME " %s\n"
"\n" "\n"
" -o <filename> Output filename\n" " -o <filename> Output filename\n"
" --ignorelength Ignore length of WAV header\n" " --ignorelength Ignore length of WAV header\n"
" -S, --silent Don't print progress messages\n"
"\n" "\n"
"Options for raw (headerless) input:\n" "Options for raw (headerless) input:\n"
" -R, --raw Treat input as raw (by default WAV is\n" " -R, --raw Treat input as raw (by default WAV is\n"
@@ -155,6 +156,7 @@ typedef struct aacenc_param_ex_t {
char *input_filename; char *input_filename;
char *output_filename; char *output_filename;
unsigned ignore_length; unsigned ignore_length;
int silent;
int is_raw; int is_raw;
unsigned raw_channels; unsigned raw_channels;
@@ -213,6 +215,7 @@ int parse_options(int argc, char **argv, aacenc_param_ex_t *params)
{ "header-period", required_argument, 0, 'P' }, { "header-period", required_argument, 0, 'P' },
{ "ignorelength", no_argument, 0, 'I' }, { "ignorelength", no_argument, 0, 'I' },
{ "silent", no_argument, 0, 'S' },
{ "raw", no_argument, 0, 'R' }, { "raw", no_argument, 0, 'R' },
{ "raw-channels", required_argument, 0, OPT_RAW_CHANNELS }, { "raw-channels", required_argument, 0, OPT_RAW_CHANNELS },
@@ -238,7 +241,7 @@ int parse_options(int argc, char **argv, aacenc_param_ex_t *params)
params->afterburner = 1; params->afterburner = 1;
aacenc_getmainargs(&argc, &argv); aacenc_getmainargs(&argc, &argv);
while ((ch = getopt_long(argc, argv, "hp:b:m:w:a:Ls:f:CP:Io:R", while ((ch = getopt_long(argc, argv, "hp:b:m:w:a:Ls:f:CP:Io:SR",
long_options, 0)) != EOF) { long_options, 0)) != EOF) {
switch (ch) { switch (ch) {
case 'h': case 'h':
@@ -311,6 +314,9 @@ int parse_options(int argc, char **argv, aacenc_param_ex_t *params)
case 'I': case 'I':
params->ignore_length = 1; params->ignore_length = 1;
break; break;
case 'S':
params->silent = 1;
break;
case 'R': case 'R':
params->is_raw = 1; params->is_raw = 1;
break; break;
@@ -428,7 +434,8 @@ int write_sample(FILE *ofp, m4af_writer_t *m4af,
static static
int encode(wav_reader_t *wavf, HANDLE_AACENCODER encoder, int encode(wav_reader_t *wavf, HANDLE_AACENCODER encoder,
uint32_t frame_length, FILE *ofp, m4af_writer_t *m4af) uint32_t frame_length, FILE *ofp, m4af_writer_t *m4af,
int show_progress)
{ {
uint8_t *ibuf = 0; uint8_t *ibuf = 0;
int16_t *pcmbuf = 0; int16_t *pcmbuf = 0;
@@ -457,8 +464,9 @@ int encode(wav_reader_t *wavf, HANDLE_AACENCODER encoder,
goto END; goto END;
} }
} }
aacenc_progress_update(&progress, wav_get_position(wavf), if (show_progress)
format->sample_rate * 2); aacenc_progress_update(&progress, wav_get_position(wavf),
format->sample_rate * 2);
} }
if ((consumed = aac_encode_frame(encoder, format, pcmbuf, nread, if ((consumed = aac_encode_frame(encoder, format, pcmbuf, nread,
&obuf, &olen, &osize)) < 0) &obuf, &olen, &osize)) < 0)
@@ -469,7 +477,9 @@ int encode(wav_reader_t *wavf, HANDLE_AACENCODER encoder,
++frames_written; ++frames_written;
} }
} while (nread > 0 || olen > 0); } while (nread > 0 || olen > 0);
aacenc_progress_finish(&progress, wav_get_position(wavf));
if (show_progress)
aacenc_progress_finish(&progress, wav_get_position(wavf));
rc = frames_written; rc = frames_written;
END: END:
if (ibuf) free(ibuf); if (ibuf) free(ibuf);
@@ -782,7 +792,8 @@ int main(int argc, char **argv)
framelen >> downsampled_timescale); framelen >> downsampled_timescale);
m4af_begin_write(m4af); m4af_begin_write(m4af);
} }
frame_count = encode(wavf, encoder, aacinfo.frameLength, ofp, m4af); frame_count = encode(wavf, encoder, aacinfo.frameLength, ofp, m4af,
!params.silent);
if (frame_count < 0) if (frame_count < 0)
goto END; goto END;
if (m4af) { if (m4af) {