summaryrefslogtreecommitdiff
path: root/vttdemux.cc
diff options
context:
space:
mode:
authorTom Finegan <tomfinegan@google.com>2016-03-18 09:32:52 -0700
committerTom Finegan <tomfinegan@google.com>2016-03-18 10:22:16 -0700
commite64bf7568875a9d10ddb845a74786a56b3300630 (patch)
tree1e4082b11b232c279e4870db6fbcf8c8a9eaff33 /vttdemux.cc
parent5fdb386183e5a946f6c92c026f256f029b705e67 (diff)
downloadlibwebm-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.cc105
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