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 Dirac 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/dirac.h" 20 21 class dirac_es_reader_c: public generic_reader_c { 22 private: 23 mtx::dirac::sequence_header_t m_seqhdr; 24 memory_cptr m_raw_seqhdr; 25 26 memory_cptr m_buffer; 27 28 public: 29 dirac_es_reader_c(); 30 get_format_type()31 virtual mtx::file_type_e get_format_type() const { 32 return mtx::file_type_e::dirac; 33 } 34 35 virtual void read_headers(); 36 virtual void identify(); 37 virtual void create_packetizer(int64_t id); is_providing_timestamps()38 virtual bool is_providing_timestamps() const { 39 return false; 40 } 41 42 virtual bool probe_file() override; 43 44 protected: 45 virtual file_status_e read(generic_packetizer_c *packetizer, bool force = false) override; 46 }; 47