summaryrefslogtreecommitdiff
path: root/src/asdcp-test.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2006-11-21 23:58:00 +0000
committerjhurst <>2006-11-21 23:58:00 +0000
commitf0476a3789369459fb91076af4a29372d86d7622 (patch)
tree6502d6fc94619371219d23c7522fd5ae7e6525bc /src/asdcp-test.cpp
parent9f903fec9d68fc58399a925b0311af3dc9a3faf2 (diff)
MPEG parser fixes: zero run-in patch, header buffer increase
Diffstat (limited to 'src/asdcp-test.cpp')
-rwxr-xr-xsrc/asdcp-test.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/asdcp-test.cpp b/src/asdcp-test.cpp
index cf7a91f..3d802e9 100755
--- a/src/asdcp-test.cpp
+++ b/src/asdcp-test.cpp
@@ -134,7 +134,7 @@ USAGE: %s -c <output-file> [-b <buffer-size>] [-d <duration>] [-e|-E]\n\
%s -t <input-file>\n\
\n\
%s -x <file-prefix> [-b <buffer-size>] [-d <duration>]\n\
- [-f <starting-frame>] [-m] [-p <frame-rate>] [-R] [-s <num>] [-S]\n\
+ [-f <starting-frame>] [-m] [-p <frame-rate>] [-R] [-s <num>] [-S|-1]\n\
[-v] [-W] <input-file>\n\
\n", PACKAGE, PACKAGE, PACKAGE, PACKAGE, PACKAGE, PACKAGE, PACKAGE);
@@ -174,6 +174,8 @@ Read/Write Options:\n\
essence only, requires -c, -d)\n\
-S - Split Wave essence to stereo WAV files during extract.\n\
Default is multichannel WAV\n\
+ -1 - Split Wave essence to mono WAV files during extract.\n\
+ Default is multichannel WAV\n\
-W - Read input file only, do not write source file\n\
\n");
@@ -223,6 +225,7 @@ public:
bool write_hmac; // true if HMAC values are to be generated and written
bool read_hmac; // true if HMAC values are to be validated
bool split_wav; // true if PCM is to be extracted to stereo WAV files
+ bool mono_wav; // true if PCM is to be extracted to mono WAV files
bool verbose_flag; // true if the verbose option was selected
ui32_t fb_dump_size; // number of bytes of frame buffer to dump
bool showindex_flag; // true if index is to be displayed
@@ -263,7 +266,7 @@ public:
//
CommandOptions(int argc, const char** argv) :
mode(MMT_NONE), error_flag(true), key_flag(false), key_id_flag(false), encrypt_header_flag(true),
- write_hmac(true), read_hmac(false), split_wav(false),
+ write_hmac(true), read_hmac(false), split_wav(false), mono_wav(false),
verbose_flag(false), fb_dump_size(0), showindex_flag(false), showheader_flag(false),
no_write_flag(false), version_flag(false), help_flag(false), start_frame(0),
duration(0xffffffff), duration_flag(false), do_repeat(false), use_smpte_labels(false),
@@ -281,10 +284,14 @@ public:
continue;
}
- if ( argv[i][0] == '-' && isalpha(argv[i][1]) && argv[i][2] == 0 )
+ if ( argv[i][0] == '-'
+ && ( isalpha(argv[i][1]) || isdigit(argv[i][1]) )
+ && argv[i][2] == 0 )
{
switch ( argv[i][1] )
{
+ case '1': mono_wav = true; break;
+ case '2': split_wav = true; break;
case 'i': mode = MMT_INFO; break;
case 'G': mode = MMT_GOP_START; break;
case 'W': no_write_flag = true; break;
@@ -389,7 +396,7 @@ public:
}
else
{
- fprintf(stderr, "Unrecognized option: %s\n", argv[i]);
+ fprintf(stderr, "Unrecognized argument: %s\n", argv[i]);
return;
}
@@ -1048,7 +1055,9 @@ read_PCM_file(CommandOptions& Options)
}
ADesc.ContainerDuration = last_frame - Options.start_frame;
- OutWave.OpenWrite(ADesc, Options.file_root, Options.split_wav);
+ OutWave.OpenWrite(ADesc, Options.file_root,
+ ( Options.split_wav ? WavFileWriter::ST_STEREO :
+ ( Options.mono_wav ? WavFileWriter::ST_MONO : WavFileWriter::ST_NONE ) ));
}
if ( ASDCP_SUCCESS(result) && Options.key_flag )