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 Tak files 10 // 11 // Contributor: Lionel Duchateau, kurtnoise@free.fr 12 // 13 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 14 15 //--------------------------------------------------------------------------- 16 #ifndef MediaInfo_File_TakH 17 #define MediaInfo_File_TakH 18 //--------------------------------------------------------------------------- 19 20 //--------------------------------------------------------------------------- 21 #include "MediaInfo/Tag/File__Tags.h" 22 //--------------------------------------------------------------------------- 23 24 namespace MediaInfoLib 25 { 26 27 //*************************************************************************** 28 // Class File_Tak 29 //*************************************************************************** 30 31 class File_Tak : public File__Analyze, public File__Tags_Helper 32 { 33 public : 34 //In 35 bool VorbisHeader; 36 37 //Constructor/Destructor 38 File_Tak(); 39 40 private : 41 //Streams management Streams_Finish()42 void Streams_Finish() {File__Tags_Helper::Streams_Finish();} 43 44 //Buffer - File header 45 bool FileHeader_Begin(); 46 void FileHeader_Parse(); 47 48 //Buffer - Global Read_Buffer_Continue()49 void Read_Buffer_Continue() {File__Tags_Helper::Read_Buffer_Continue();} 50 51 //Buffer - Per element 52 void Header_Parse(); 53 void Data_Parse(); 54 55 //Elements 56 void ENDOFMETADATA(); 57 void STREAMINFO(); 58 void SEEKTABLE(); 59 void WAVEMETADATA(); 60 void ENCODERINFO(); PADDING()61 void PADDING() {Skip_XX(Element_Size, "Padding");} 62 }; 63 64 } //NameSpace 65 66 #endif 67