本文整理汇总了C++中Options::SetAll方法的典型用法代码示例。如果您正苦于以下问题:C++ Options::SetAll方法的具体用法?C++ Options::SetAll怎么用?C++ Options::SetAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Options
的用法示例。
在下文中一共展示了Options::SetAll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: indent
extern "C" int main_webminfo(int argc, const char* argv[])
{
string input;
Options options;
const int argc_check = argc - 1;
for (int i = 0; i < argc; ++i) {
if (!strcmp("-h", argv[i]) || !strcmp("-?", argv[i])) {
Usage();
return EXIT_SUCCESS;
} else if (!strcmp("-v", argv[i])) {
printf("version: %s\n", VERSION_STRING);
} else if (!strcmp("-i", argv[i]) && i < argc_check) {
input = argv[++i];
} else if (!strcmp("-all", argv[i])) {
options.SetAll(true);
} else if (Options::MatchesBooleanOption("video", argv[i])) {
options.output_video = !strcmp("-video", argv[i]);
} else if (Options::MatchesBooleanOption("audio", argv[i])) {
options.output_audio = !strcmp("-audio", argv[i]);
} else if (Options::MatchesBooleanOption("size", argv[i])) {
options.output_size = !strcmp("-size", argv[i]);
} else if (Options::MatchesBooleanOption("offset", argv[i])) {
options.output_offset = !strcmp("-offset", argv[i]);
} else if (Options::MatchesBooleanOption("times_seconds", argv[i])) {
options.output_seconds = !strcmp("-times_seconds", argv[i]);
} else if (Options::MatchesBooleanOption("ebml_header", argv[i])) {
options.output_ebml_header = !strcmp("-ebml_header", argv[i]);
} else if (Options::MatchesBooleanOption("segment", argv[i])) {
options.output_segment = !strcmp("-segment", argv[i]);
} else if (Options::MatchesBooleanOption("segment_info", argv[i])) {
options.output_segment_info = !strcmp("-segment_info", argv[i]);
} else if (Options::MatchesBooleanOption("tracks", argv[i])) {
options.output_tracks = !strcmp("-tracks", argv[i]);
} else if (Options::MatchesBooleanOption("clusters", argv[i])) {
options.output_clusters = !strcmp("-clusters", argv[i]);
} else if (Options::MatchesBooleanOption("blocks", argv[i])) {
options.output_blocks = !strcmp("-blocks", argv[i]);
} else if (Options::MatchesBooleanOption("codec_info", argv[i])) {
options.output_codec_info = !strcmp("-codec_info", argv[i]);
} else if (Options::MatchesBooleanOption("clusters_size", argv[i])) {
options.output_clusters_size = !strcmp("-clusters_size", argv[i]);
} else if (Options::MatchesBooleanOption("encrypted_info", argv[i])) {
options.output_encrypted_info = !strcmp("-encrypted_info", argv[i]);
} else if (Options::MatchesBooleanOption("cues", argv[i])) {
options.output_cues = !strcmp("-cues", argv[i]);
}
}
if (argc < 2 || input.empty()) {
Usage();
return EXIT_FAILURE;
}
// TODO(fgalligan): Replace auto_ptr with scoped_ptr.
std::auto_ptr<mkvparser::MkvReader>
reader(new (std::nothrow) mkvparser::MkvReader()); // NOLINT
if (reader->Open(input.c_str())) {
fprintf(stderr, "Error opening file:%s\n", input.c_str());
return EXIT_FAILURE;
}
int64 pos = 0;
std::auto_ptr<mkvparser::EBMLHeader>
ebml_header(new (std::nothrow) mkvparser::EBMLHeader()); // NOLINT
if (ebml_header->Parse(reader.get(), pos) < 0) {
fprintf(stderr, "Error parsing EBML header.\n");
return EXIT_FAILURE;
}
Indent indent(0);
FILE* out = stdout;
if (options.output_ebml_header)
OutputEBMLHeader(*ebml_header.get(), out, &indent);
mkvparser::Segment* temp_segment;
if (mkvparser::Segment::CreateInstance(reader.get(), pos, temp_segment)) {
fprintf(stderr, "Segment::CreateInstance() failed.\n");
return EXIT_FAILURE;
}
std::auto_ptr<mkvparser::Segment> segment(temp_segment);
if (segment->Load() < 0) {
fprintf(stderr, "Segment::Load() failed.\n");
return EXIT_FAILURE;
}
if (options.output_segment) {
OutputSegment(*(segment.get()), options, out);
indent.Adjust(webm_tools::kIncreaseIndent);
}
if (options.output_segment_info)
if (!OutputSegmentInfo(*(segment.get()), options, out, &indent))
return EXIT_FAILURE;
if (options.output_tracks)
if (!OutputTracks(*(segment.get()), options, out, &indent))
return EXIT_FAILURE;
//.........这里部分代码省略.........