// Copyright (c) 2016 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 LIBWEBM_M2TS_VPXPES2TS_H_ #define LIBWEBM_M2TS_VPXPES2TS_H_ #include #include #include "common/libwebm_util.h" #include "m2ts/webm2pes.h" namespace libwebm { class VpxPes2Ts : public PacketReceiverInterface { public: VpxPes2Ts(const std::string& input_file_name, const std::string& output_file_name) : input_file_name_(input_file_name), output_file_name_(output_file_name) {} virtual ~VpxPes2Ts() = default; VpxPes2Ts() = delete; VpxPes2Ts(const VpxPes2Ts&) = delete; VpxPes2Ts(VpxPes2Ts&&) = delete; bool ConvertToFile(); private: bool ReceivePacket(const PacketDataBuffer& packet_data) override; const std::string input_file_name_; const std::string output_file_name_; FilePtr output_file_; std::unique_ptr pes_converter_; PacketDataBuffer ts_buffer_; }; } // namespace libwebm #endif // LIBWEBM_M2TS_VPXPES2TS_H_