1 /* 2 mkvmerge -- utility for splicing together matroska files 3 from component media subtypes 4 5 Distributed under the GPL v2 6 see the file COPYING for details 7 or visit https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 8 9 class definitions for the VC1 ES demultiplexer module 10 11 Written by Moritz Bunkus <moritz@bunkus.org>. 12 */ 13 14 #pragma once 15 16 #include "common/common_pch.h" 17 18 #include "merge/generic_reader.h" 19 #include "common/vc1.h" 20 21 class vc1_es_reader_c: public generic_reader_c { 22 private: 23 memory_cptr m_raw_seqhdr; 24 25 memory_cptr m_buffer; 26 27 mtx::vc1::sequence_header_t m_seqhdr; 28 29 public: 30 vc1_es_reader_c(); 31 get_format_type()32 virtual mtx::file_type_e get_format_type() const { 33 return mtx::file_type_e::vc1; 34 } 35 36 virtual void read_headers(); 37 virtual void identify(); 38 virtual void create_packetizer(int64_t id); is_providing_timestamps()39 virtual bool is_providing_timestamps() const { 40 return false; 41 } 42 43 virtual bool probe_file() override; 44 45 protected: 46 virtual file_status_e read(generic_packetizer_c *packetizer, bool force = false) override; 47 }; 48