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