diff options
author | Tom Finegan <tomfinegan@google.com> | 2016-03-18 09:32:52 -0700 |
---|---|---|
committer | Tom Finegan <tomfinegan@google.com> | 2016-03-18 10:22:16 -0700 |
commit | e64bf7568875a9d10ddb845a74786a56b3300630 (patch) | |
tree | 1e4082b11b232c279e4870db6fbcf8c8a9eaff33 /vttdemux.cc | |
parent | 5fdb386183e5a946f6c92c026f256f029b705e67 (diff) | |
download | libwebm-e64bf7568875a9d10ddb845a74786a56b3300630.tar.gz |
Namespace reorg: Make everything a child of libwebm.
(that is not already)
Some details:
- mkvmuxer and mkvparser wrapped by libwebm
- Matroska element constants moved from mkvmuxer to libwebm
- integer types moved from mkvmuxer to libwebm
Change-Id: Ic91e887e50adbc2d735bf6264534a5d01135df31
Diffstat (limited to 'vttdemux.cc')
-rw-r--r-- | vttdemux.cc | 105 |
1 files changed, 54 insertions, 51 deletions
diff --git a/vttdemux.cc b/vttdemux.cc index e31b56d..56ddacf 100644 --- a/vttdemux.cc +++ b/vttdemux.cc @@ -6,8 +6,8 @@ // in the file PATENTS. All contributing project authors may // be found in the AUTHORS file in the root of the source tree. -#include <cstdlib> #include <cstdio> +#include <cstdlib> #include <cstring> #include <map> #include <memory> @@ -25,6 +25,7 @@ using std::string; +namespace libwebm { namespace vttdemux { typedef long long mkvtime_t; // NOLINT @@ -221,56 +222,6 @@ bool WriteCueTime(FILE* f, mkvtime_t time_ns); bool WriteCuePayload(FILE* f, FrameParser* parser); } // namespace vttdemux -int main(int argc, const char* argv[]) { - if (argc != 2) { - printf("usage: vttdemux <webmfile>\n"); - return EXIT_SUCCESS; - } - - const char* const filename = argv[1]; - mkvparser::MkvReader reader; - - int e = reader.Open(filename); - - if (e) { // error - printf("unable to open file\n"); - return EXIT_FAILURE; - } - - vttdemux::mkvpos_t pos; - - if (!vttdemux::ParseHeader(&reader, &pos)) - return EXIT_FAILURE; - - vttdemux::segment_ptr_t segment_ptr; - - if (!vttdemux::ParseSegment(&reader, pos, &segment_ptr)) - return EXIT_FAILURE; - - vttdemux::metadata_map_t metadata_map; - - BuildMap(segment_ptr.get(), &metadata_map); - - if (metadata_map.empty()) { - printf("no WebVTT metadata found\n"); - return EXIT_FAILURE; - } - - if (!OpenFiles(&metadata_map, filename)) { - CloseFiles(&metadata_map); // nothing to flush, so not strictly necessary - return EXIT_FAILURE; - } - - if (!WriteFiles(metadata_map, segment_ptr.get())) { - CloseFiles(&metadata_map); // might as well flush what we do have - return EXIT_FAILURE; - } - - CloseFiles(&metadata_map); - - return EXIT_SUCCESS; -} - namespace vttdemux { FrameParser::FrameParser(const mkvparser::BlockGroup* block_group) @@ -1000,3 +951,55 @@ bool vttdemux::WriteCuePayload(FILE* f, FrameParser* parser) { return true; } + +} // namespace libwebm + +int main(int argc, const char* argv[]) { + if (argc != 2) { + printf("usage: vttdemux <webmfile>\n"); + return EXIT_SUCCESS; + } + + const char* const filename = argv[1]; + libwebm::mkvparser::MkvReader reader; + + int e = reader.Open(filename); + + if (e) { // error + printf("unable to open file\n"); + return EXIT_FAILURE; + } + + libwebm::vttdemux::mkvpos_t pos; + + if (!libwebm::vttdemux::ParseHeader(&reader, &pos)) + return EXIT_FAILURE; + + libwebm::vttdemux::segment_ptr_t segment_ptr; + + if (!libwebm::vttdemux::ParseSegment(&reader, pos, &segment_ptr)) + return EXIT_FAILURE; + + libwebm::vttdemux::metadata_map_t metadata_map; + + BuildMap(segment_ptr.get(), &metadata_map); + + if (metadata_map.empty()) { + printf("no WebVTT metadata found\n"); + return EXIT_FAILURE; + } + + if (!OpenFiles(&metadata_map, filename)) { + CloseFiles(&metadata_map); // nothing to flush, so not strictly necessary + return EXIT_FAILURE; + } + + if (!WriteFiles(metadata_map, segment_ptr.get())) { + CloseFiles(&metadata_map); // might as well flush what we do have + return EXIT_FAILURE; + } + + CloseFiles(&metadata_map); + + return EXIT_SUCCESS; +}
\ No newline at end of file |