1 /* Copyright (c) MediaArea.net SARL. All Rights Reserved. 2 * 3 * Use of this source code is governed by a BSD-style license that can 4 * be found in the License.html file in the root of the source tree. 5 */ 6 7 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 // 9 // Information about Bar Data files 10 // 11 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12 13 //--------------------------------------------------------------------------- 14 #ifndef MediaInfo_DtvccTransportH 15 #define MediaInfo_DtvccTransportH 16 //--------------------------------------------------------------------------- 17 18 //--------------------------------------------------------------------------- 19 #include "MediaInfo/File__Analyze.h" 20 #include <vector> 21 //--------------------------------------------------------------------------- 22 23 namespace MediaInfoLib 24 { 25 26 //*************************************************************************** 27 // Class File_DtvccTransport 28 //*************************************************************************** 29 30 class File_DtvccTransport : public File__Analyze 31 { 32 public : 33 //In 34 enum format 35 { 36 Format_Unknown, 37 Format_A53_4_GA94_03, //MPEG_cc_data 38 Format_DVD, //Unknown standard 39 }; 40 format Format; 41 float64 AspectRatio; 42 43 //Constructor/Destructor 44 File_DtvccTransport(); 45 ~File_DtvccTransport(); 46 47 private : 48 //Streams management 49 void Streams_Update(); 50 void Streams_Update_PerStream(size_t Pos); 51 void Streams_Finish(); 52 53 //Synchro 54 void Read_Buffer_Init(); 55 void Read_Buffer_Unsynched(); 56 57 //Buffer - Global 58 void Read_Buffer_Continue(); 59 60 //Temp 61 struct stream 62 { 63 File__Analyze* Parser; 64 streamstream65 stream() 66 { 67 Parser=NULL; 68 } 69 ~streamstream70 ~stream() 71 { 72 delete Parser; //Parser=NULL; 73 } 74 }; 75 std::vector<stream*> Streams; 76 77 //Helpers 78 void CreateStream(int8u Parser_Pos); 79 }; 80 81 } //NameSpace 82 83 #endif 84 85