vpx/third_party/libwebm/mkvwriter.hpp

52 lines
1.4 KiB
C++
Raw Normal View History

// Copyright (c) 2012 The WebM project authors. All Rights Reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS. All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.
#ifndef MKVWRITER_HPP
#define MKVWRITER_HPP
#include <stdio.h>
#include "mkvmuxer.hpp"
#include "mkvmuxertypes.hpp"
namespace mkvmuxer {
// Default implementation of the IMkvWriter interface on Windows.
class MkvWriter : public IMkvWriter {
public:
MkvWriter();
third_party/libwebm: pull from upstream Pulling libwebm from upstream Changes from upstream: 249629d make Mkv(Reader|Writer)(FILE*) explicit 7f3cda4 mkvparser: fix a bunch of windows warnings 5c06178 Merge "clang-format on mkvparser.[ch]pp" 4df111e clang-format on mkvparser.[ch]pp 7b24501 clang-format re-run. c6767b9 Change AlignTrailingComments to false in .clang-format 9097a06 Merge "muxer: Reject file if TrackType is never specified" eddf974 Merge "clang-format on mkvmuxertypes.hpp and webmids.hpp" def325c muxer: Reject file if TrackType is never specified 41f869c Merge "clang-format on webvttparser.(cc|h)" fd0be37 clang-format on webvttparser.(cc|h) 207d8a1 Merge "clang-format on mkvmuxerutil.[ch]pp" 02429eb Merge "clang-format on mkvwriter.[ch]pp" 0cf7b1b Merge "clang-format on mkvreader.[ch]pp" 2e80fed Merge "clang-format on sample.cpp" 3402e12 Merge "clang-format on sample_muxer.cpp" 1a685db Merge "clang-format on sample_muxer_metadata.(cc|h)" 6634c7f Merge "clang-format on vttreader.cc" 7566004 Merge "clang-format on vttdemux.cc" 9915b84 clang-format on mkvreader.[ch]pp 7437254 clang-format on mkvmuxertypes.hpp and webmids.hpp 0d5a98c clang-format on sample_muxer.cpp e3485c9 clang-format on vttdemux.cc 46cc823 clang-format on dumpvtt.cc 5218bd2 clang-format on vttreader.cc 1a0130d clang-format on sample_muxer_metadata.(cc|h) 867f189 clang-format on sample.cpp 4c7bec5 clang-format on mkvwriter.[ch]pp 9ead078 clang-format on mkvmuxerutil.[ch]pp fb6b6e6 clang-format on mkvmuxer.[ch]pp ce77592 Update .clang-format to allow short functions in one line 0a24fe4 Merge "Add support for DateUTC and DefaultDuration in MKV Muxer." 11d5b66 Merge "Add .clang-format" a1a3b14 Add .clang-format 0fcec38 Add support for DateUTC and DefaultDuration in MKV Muxer. Change-Id: Ia0ed161ffc3d63c2eba8ed145707ffe543617976
2014-05-02 20:44:35 +02:00
explicit MkvWriter(FILE* fp);
virtual ~MkvWriter();
// IMkvWriter interface
virtual int64 Position() const;
virtual int32 Position(int64 position);
virtual bool Seekable() const;
virtual int32 Write(const void* buffer, uint32 length);
virtual void ElementStartNotify(uint64 element_id, int64 position);
// Creates and opens a file for writing. |filename| is the name of the file
// to open. This function will overwrite the contents of |filename|. Returns
// true on success.
bool Open(const char* filename);
// Closes an opened file.
void Close();
private:
// File handle to output file.
FILE* file_;
bool writer_owns_file_;
LIBWEBM_DISALLOW_COPY_AND_ASSIGN(MkvWriter);
};
third_party/libwebm: pull from upstream Pulling libwebm from upstream Changes from upstream: 249629d make Mkv(Reader|Writer)(FILE*) explicit 7f3cda4 mkvparser: fix a bunch of windows warnings 5c06178 Merge "clang-format on mkvparser.[ch]pp" 4df111e clang-format on mkvparser.[ch]pp 7b24501 clang-format re-run. c6767b9 Change AlignTrailingComments to false in .clang-format 9097a06 Merge "muxer: Reject file if TrackType is never specified" eddf974 Merge "clang-format on mkvmuxertypes.hpp and webmids.hpp" def325c muxer: Reject file if TrackType is never specified 41f869c Merge "clang-format on webvttparser.(cc|h)" fd0be37 clang-format on webvttparser.(cc|h) 207d8a1 Merge "clang-format on mkvmuxerutil.[ch]pp" 02429eb Merge "clang-format on mkvwriter.[ch]pp" 0cf7b1b Merge "clang-format on mkvreader.[ch]pp" 2e80fed Merge "clang-format on sample.cpp" 3402e12 Merge "clang-format on sample_muxer.cpp" 1a685db Merge "clang-format on sample_muxer_metadata.(cc|h)" 6634c7f Merge "clang-format on vttreader.cc" 7566004 Merge "clang-format on vttdemux.cc" 9915b84 clang-format on mkvreader.[ch]pp 7437254 clang-format on mkvmuxertypes.hpp and webmids.hpp 0d5a98c clang-format on sample_muxer.cpp e3485c9 clang-format on vttdemux.cc 46cc823 clang-format on dumpvtt.cc 5218bd2 clang-format on vttreader.cc 1a0130d clang-format on sample_muxer_metadata.(cc|h) 867f189 clang-format on sample.cpp 4c7bec5 clang-format on mkvwriter.[ch]pp 9ead078 clang-format on mkvmuxerutil.[ch]pp fb6b6e6 clang-format on mkvmuxer.[ch]pp ce77592 Update .clang-format to allow short functions in one line 0a24fe4 Merge "Add support for DateUTC and DefaultDuration in MKV Muxer." 11d5b66 Merge "Add .clang-format" a1a3b14 Add .clang-format 0fcec38 Add support for DateUTC and DefaultDuration in MKV Muxer. Change-Id: Ia0ed161ffc3d63c2eba8ed145707ffe543617976
2014-05-02 20:44:35 +02:00
} // end namespace mkvmuxer
third_party/libwebm: pull from upstream Pulling libwebm from upstream Changes from upstream: 249629d make Mkv(Reader|Writer)(FILE*) explicit 7f3cda4 mkvparser: fix a bunch of windows warnings 5c06178 Merge "clang-format on mkvparser.[ch]pp" 4df111e clang-format on mkvparser.[ch]pp 7b24501 clang-format re-run. c6767b9 Change AlignTrailingComments to false in .clang-format 9097a06 Merge "muxer: Reject file if TrackType is never specified" eddf974 Merge "clang-format on mkvmuxertypes.hpp and webmids.hpp" def325c muxer: Reject file if TrackType is never specified 41f869c Merge "clang-format on webvttparser.(cc|h)" fd0be37 clang-format on webvttparser.(cc|h) 207d8a1 Merge "clang-format on mkvmuxerutil.[ch]pp" 02429eb Merge "clang-format on mkvwriter.[ch]pp" 0cf7b1b Merge "clang-format on mkvreader.[ch]pp" 2e80fed Merge "clang-format on sample.cpp" 3402e12 Merge "clang-format on sample_muxer.cpp" 1a685db Merge "clang-format on sample_muxer_metadata.(cc|h)" 6634c7f Merge "clang-format on vttreader.cc" 7566004 Merge "clang-format on vttdemux.cc" 9915b84 clang-format on mkvreader.[ch]pp 7437254 clang-format on mkvmuxertypes.hpp and webmids.hpp 0d5a98c clang-format on sample_muxer.cpp e3485c9 clang-format on vttdemux.cc 46cc823 clang-format on dumpvtt.cc 5218bd2 clang-format on vttreader.cc 1a0130d clang-format on sample_muxer_metadata.(cc|h) 867f189 clang-format on sample.cpp 4c7bec5 clang-format on mkvwriter.[ch]pp 9ead078 clang-format on mkvmuxerutil.[ch]pp fb6b6e6 clang-format on mkvmuxer.[ch]pp ce77592 Update .clang-format to allow short functions in one line 0a24fe4 Merge "Add support for DateUTC and DefaultDuration in MKV Muxer." 11d5b66 Merge "Add .clang-format" a1a3b14 Add .clang-format 0fcec38 Add support for DateUTC and DefaultDuration in MKV Muxer. Change-Id: Ia0ed161ffc3d63c2eba8ed145707ffe543617976
2014-05-02 20:44:35 +02:00
#endif // MKVWRITER_HPP