mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
fix various little bugs related to format options
This commit is contained in:
@@ -717,7 +717,7 @@
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
|
||||
<TT>--force-raw-input</TT>
|
||||
<TT>--force-raw-format</TT>
|
||||
</TD>
|
||||
<TD>
|
||||
Treat the input file (or output file if decoding) as a raw file, regardless of the extension.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
|
||||
.\" Please send any bug reports, improvements, comments, patches,
|
||||
.\" etc. to Steve Cheng <steve@ggi-project.org>.
|
||||
.TH "FLAC" "1" "19 August 2002" "" ""
|
||||
.TH "FLAC" "1" "20 August 2002" "" ""
|
||||
.SH NAME
|
||||
flac \- Free Lossless Audio Codec
|
||||
.SH SYNOPSIS
|
||||
@@ -255,8 +255,9 @@ Set sample rate (in Hz).
|
||||
\fB--sign={\fIsigned\fB|\fIunsigned\fB}\fR
|
||||
Set the sign of samples (the default is signed).
|
||||
.TP
|
||||
\fB--force-raw-input\fR
|
||||
Force input to be treated as raw samples (even if filename ends
|
||||
\fB--force-raw-format\fR
|
||||
Force input (when encoding) or output (when decoding)
|
||||
to be treated as raw samples (even if filename ends
|
||||
in \fI.wav\fR).
|
||||
.SS "NEGATIVE OPTIONS"
|
||||
.TP
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<!ENTITY dhfirstname "<firstname>Matt</firstname>">
|
||||
<!ENTITY dhsurname "<surname>Zimmerman</surname>">
|
||||
<!-- Please adjust the date whenever revising the manpage. -->
|
||||
<!ENTITY dhdate "<date>August 19, 2002</date>">
|
||||
<!ENTITY dhdate "<date>August 20, 2002</date>">
|
||||
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
|
||||
allowed: see man(7), man(1). -->
|
||||
<!ENTITY dhsection "<manvolnum>1</manvolnum>">
|
||||
@@ -572,10 +572,11 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--force-raw-input</option></term>
|
||||
<term><option>--force-raw-format</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Force input to be treated as raw samples (even if filename ends
|
||||
<para>Force input (when encoding) or output (when decoding)
|
||||
to be treated as raw samples (even if filename ends
|
||||
in <filename>.wav</filename>).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -107,7 +107,7 @@ static struct FLAC__share__option long_options_[] = {
|
||||
{ "fast", 0, 0, '0' },
|
||||
{ "super-secret-impractical-compression-level", 0, 0, 0 },
|
||||
{ "verify", 0, 0, 'V' },
|
||||
{ "force-raw-input", 0, 0, 0 },
|
||||
{ "force-raw-format", 0, 0, 0 },
|
||||
{ "lax", 0, 0, 0 },
|
||||
{ "sector-align", 0, 0, 0 },
|
||||
{ "seekpoint", 1, 0, 'S' },
|
||||
@@ -314,6 +314,20 @@ int do_it()
|
||||
if(!FLAC__format_sample_rate_is_valid(option_values.format_sample_rate))
|
||||
return usage_error("ERROR: invalid sample rate '%u', must be > 0 and <= %u\n", option_values.format_sample_rate, FLAC__MAX_SAMPLE_RATE);
|
||||
}
|
||||
if(option_values.mode_decode) {
|
||||
if(!option_values.force_raw_format) {
|
||||
if(option_values.format_is_big_endian >= 0)
|
||||
return usage_error("ERROR: --endian only allowed with --force-raw-format\n");
|
||||
if(option_values.format_is_unsigned_samples >= 0)
|
||||
return usage_error("ERROR: --sign only allowed with --force-raw-format\n");
|
||||
}
|
||||
if(option_values.format_channels >= 0)
|
||||
return usage_error("ERROR: --channels not allowed with --decode\n");
|
||||
if(option_values.format_bps >= 0)
|
||||
return usage_error("ERROR: --bps not allowed with --decode\n");
|
||||
if(option_values.format_sample_rate >= 0)
|
||||
return usage_error("ERROR: --sample-rate not allowed with --decode\n");
|
||||
}
|
||||
if(!option_values.mode_decode && ((unsigned)option_values.blocksize < FLAC__MIN_BLOCK_SIZE || (unsigned)option_values.blocksize > FLAC__MAX_BLOCK_SIZE)) {
|
||||
return usage_error("ERROR: invalid blocksize '%u', must be >= %u and <= %u\n", (unsigned)option_values.blocksize, FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE);
|
||||
}
|
||||
@@ -449,7 +463,7 @@ void init_options()
|
||||
option_values.qlp_coeff_precision = 0;
|
||||
option_values.skip = 0;
|
||||
option_values.format_is_big_endian = -1;
|
||||
option_values.format_is_unsigned_samples = false;
|
||||
option_values.format_is_unsigned_samples = -1;
|
||||
option_values.format_channels = -1;
|
||||
option_values.format_bps = -1;
|
||||
option_values.format_sample_rate = -1;
|
||||
@@ -534,7 +548,7 @@ int parse_option(int short_option, const char *long_option, const char *option_a
|
||||
option_values.rice_parameter_search_dist = 0;
|
||||
option_values.max_lpc_order = 32;
|
||||
}
|
||||
else if(0 == strcmp(long_option, "force-raw-input")) {
|
||||
else if(0 == strcmp(long_option, "force-raw-format")) {
|
||||
option_values.force_raw_format = true;
|
||||
}
|
||||
else if(0 == strcmp(long_option, "lax")) {
|
||||
@@ -984,7 +998,7 @@ void show_help()
|
||||
printf(" --bps=# Number of bits per sample\n");
|
||||
printf(" --sample-rate=# Sample rate in Hz\n");
|
||||
printf(" --sign={signed|unsigned} Sign of samples\n");
|
||||
printf(" --force-raw-input Force input to be treated as raw samples\n");
|
||||
printf(" --force-raw-format Treat input or output as raw samples\n");
|
||||
printf("negative options:\n");
|
||||
printf(" --no-adaptive-mid-side\n");
|
||||
printf(" --no-decode-through-errors\n");
|
||||
@@ -1164,7 +1178,8 @@ void show_explain()
|
||||
printf(" --bps=# Number of bits per sample\n");
|
||||
printf(" --sample-rate=# Sample rate in Hz\n");
|
||||
printf(" --sign={signed|unsigned} Sign of samples (the default is signed)\n");
|
||||
printf(" --force-raw-input Force input to be treated as raw samples\n");
|
||||
printf(" --force-raw-format Force input (when encoding) or output (when\n");
|
||||
printf(" decoding) to be treated as raw samples\n");
|
||||
printf("negative options:\n");
|
||||
printf(" --no-adaptive-mid-side\n");
|
||||
printf(" --no-decode-through-errors\n");
|
||||
@@ -1253,8 +1268,8 @@ int encode_file(const char *infilename, const char *forced_outfilename, FLAC__bo
|
||||
}
|
||||
|
||||
if(fmt == RAW) {
|
||||
if(option_values.format_is_big_endian < 0 || option_values.format_channels < 0 || option_values.format_bps < 0 || option_values.format_sample_rate < 0)
|
||||
return usage_error("ERROR: for encoding a raw file you must specify a value for --endian, --channels, --bps, and --sample-rate\n");
|
||||
if(option_values.format_is_big_endian < 0 || option_values.format_is_unsigned_samples < 0 || option_values.format_channels < 0 || option_values.format_bps < 0 || option_values.format_sample_rate < 0)
|
||||
return usage_error("ERROR: for encoding a raw file you must specify a value for --endian, --sign, --channels, --bps, and --sample-rate\n");
|
||||
}
|
||||
|
||||
if(encode_infile == stdin || option_values.force_to_stdout)
|
||||
@@ -1348,8 +1363,8 @@ int decode_file(const char *infilename, const char *forced_outfilename)
|
||||
decode_options_t common_options;
|
||||
|
||||
if(!option_values.test_only && !option_values.analyze) {
|
||||
if(option_values.force_raw_format && option_values.format_is_big_endian < 0)
|
||||
return usage_error("ERROR: for decoding to a raw file you must specify a value for --endian\n");
|
||||
if(option_values.force_raw_format && (option_values.format_is_big_endian < 0 || option_values.format_is_unsigned_samples < 0))
|
||||
return usage_error("ERROR: for decoding to a raw file you must specify a value for --endian and --sign\n");
|
||||
}
|
||||
|
||||
if(0 == strcmp(infilename, "-") || option_values.force_to_stdout)
|
||||
|
||||
@@ -32,7 +32,7 @@ test_file ()
|
||||
encode_options="$4"
|
||||
|
||||
echo -n "$name: encode..."
|
||||
cmd="flac --verify --silent --force-raw-input --endian=big --sample-rate=44100 --bps=$bps --channels=$channels $encode_options $name.bin"
|
||||
cmd="flac --verify --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options $name.bin"
|
||||
echo "### ENCODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if $cmd 2>>./streams.log ; then : ; else
|
||||
@@ -40,7 +40,7 @@ test_file ()
|
||||
exit 1
|
||||
fi
|
||||
echo -n "decode..."
|
||||
cmd="flac --silent --endian=big --decode --force-raw-input $name.flac";
|
||||
cmd="flac --silent --endian=big --decode --force-raw-format $name.flac";
|
||||
echo "### DECODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if $cmd 2>>./streams.log ; then : ; else
|
||||
|
||||
@@ -30,7 +30,7 @@ metaflac --help 1>/dev/null 2>/dev/null || (echo "ERROR can't find metaflac exec
|
||||
if [ $? != 0 ] ; then exit 1 ; fi
|
||||
|
||||
echo "Generating stream..."
|
||||
if flac --verify -0 --output-name=$flacfile --force-raw-input --endian=big --channels=1 --bps=8 --sample-rate=44100 /bin/sh ; then
|
||||
if flac --verify -0 --output-name=$flacfile --force-raw-format --endian=big --sign=signed --channels=1 --bps=8 --sample-rate=44100 /bin/sh ; then
|
||||
chmod +w $flacfile
|
||||
else
|
||||
echo "ERROR during generation" 1>&2
|
||||
|
||||
@@ -43,7 +43,7 @@ fi
|
||||
# multi-file tests
|
||||
#
|
||||
echo "Generating multiple input files from noise..."
|
||||
if flac --verify --silent --force-raw-input --endian=big --sample-rate=44100 --bps=16 --channels=2 noise.raw ; then : ; else
|
||||
if flac --verify --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=16 --channels=2 noise.raw ; then : ; else
|
||||
echo "ERROR generating FLAC file" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
@@ -135,7 +135,7 @@ test_file ()
|
||||
encode_options="$4"
|
||||
|
||||
echo -n "$name: encode..."
|
||||
cmd="flac --verify --silent --force-raw-input --endian=big --sample-rate=44100 --bps=$bps --channels=$channels $encode_options $name.raw"
|
||||
cmd="flac --verify --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options $name.raw"
|
||||
echo "### ENCODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if $cmd 2>>./streams.log ; then : ; else
|
||||
@@ -143,7 +143,7 @@ test_file ()
|
||||
exit 1
|
||||
fi
|
||||
echo -n "decode..."
|
||||
cmd="flac --silent --endian=big --decode --force-raw-input --output-name=$name.cmp $name.flac"
|
||||
cmd="flac --silent --endian=big --decode --force-raw-format --output-name=$name.cmp $name.flac"
|
||||
echo "### DECODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if $cmd 2>>./streams.log ; then : ; else
|
||||
@@ -176,7 +176,7 @@ test_file_piped ()
|
||||
|
||||
echo -n "$name: encode via pipes..."
|
||||
if [ $is_win = yes ] ; then
|
||||
cmd="flac --verify --silent --force-raw-input --endian=big --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --stdout $name.raw"
|
||||
cmd="flac --verify --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --stdout $name.raw"
|
||||
echo "### ENCODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if $cmd 1>$name.flac 2>>./streams.log ; then : ; else
|
||||
@@ -184,7 +184,7 @@ test_file_piped ()
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
cmd="flac --verify --silent --force-raw-input --endian=big --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --stdout -"
|
||||
cmd="flac --verify --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps=$bps --channels=$channels $encode_options --stdout -"
|
||||
echo "### ENCODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if cat $name.raw | $cmd 1>$name.flac 2>>./streams.log ; then : ; else
|
||||
@@ -194,7 +194,7 @@ test_file_piped ()
|
||||
fi
|
||||
echo -n "decode via pipes..."
|
||||
if [ $is_win = yes ] ; then
|
||||
cmd="flac --silent --endian=big --decode --force-raw-input --stdout $name.flac"
|
||||
cmd="flac --silent --endian=big --decode --force-raw-format --stdout $name.flac"
|
||||
echo "### DECODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if $cmd 1>$name.cmp 2>>./streams.log ; then : ; else
|
||||
@@ -202,7 +202,7 @@ test_file_piped ()
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
cmd="flac --silent --endian=big --decode --force-raw-input --stdout -"
|
||||
cmd="flac --silent --endian=big --decode --force-raw-format --stdout -"
|
||||
echo "### DECODE $name #######################################################" >> ./streams.log
|
||||
echo "### cmd=$cmd" >> ./streams.log
|
||||
if cat $name.flac | $cmd 1>$name.cmp 2>>./streams.log ; then : ; else
|
||||
|
||||
Reference in New Issue
Block a user