ADTF File Library
Loading...
Searching...
No Matches
indexedfilereader_v100.h
Go to the documentation of this file.
1
16
17#ifndef INDEXEDFILE_READER_V100_CLASS_HEADER
18#define INDEXEDFILE_READER_V100_CLASS_HEADER
19
21
22namespace ifhd
23{
24namespace v100
25{
26
27//*************************************************************************************************
32{
33 public:
34 enum
35 {
36 flag_none = 0x0,
37 flag_disable_file_system_cache = 0x1
38 };
39
40 protected:
42 uint32_t _flags;
43
44 protected:
51
52 public:
57
62
70 void attach(FileHeader* file_header, utils5ext::File* file, uint32_t flags=0);
71
75 void detach();
76
80 void reset();
81
89 int64_t seek(int64_t position, int time_format, uint32_t flags=0);
90
99 int64_t seekFlags(uint32_t flags, ChunkHeader** chunk);
100
108 int64_t getCurrentPos(int time_format) const;
109
118 int64_t setCurrentPos(int64_t position, int time_format);
119
125 void queryChunkInfo(ChunkHeader** chunk_info);
126
132 void readChunk(void** data);
133
137 void skipChunk();
138
145 void readNextChunk(ChunkHeader** chunk_info, void** data);
146
152 int64_t getFilePos() const;
153
159 int64_t getChunkCount() const;
160
166 int64_t getIndexCount() const;
167
173 timestamp_t getDuration() const;
174
180 uint32_t getVersionId() const;
181
182 protected:
187
192
197
202
203 public:
208 int64_t internalGetIndex() const;
209
215};
216
217} //namespace v100
218} // namespace
219
220//*************************************************************************************************
221#endif // _INDEXEDFILE_READER_V100_CLASS_HEADER_
int64_t setCurrentPos(int64_t position, int time_format)
uint32_t _flags
flag value to attach
Definition indexedfilereader_v100.h:42
timestamp_t getDuration() const
void readNextChunk(ChunkHeader **chunk_info, void **data)
void attach(FileHeader *file_header, utils5ext::File *file, uint32_t flags=0)
int _index_table_size
size of index table
Definition indexedfilereader_v100.h:48
int64_t _end_of_data_marker
endmarker for data
Definition indexedfilereader_v100.h:50
int64_t seekFlags(uint32_t flags, ChunkHeader **chunk)
int64_t seek(int64_t position, int time_format, uint32_t flags=0)
void queryChunkInfo(ChunkHeader **chunk_info)
int64_t getCurrentPos(int time_format) const
ChunkHeader * _index_table
index table
Definition indexedfilereader_v100.h:46
FileHeader * internalGetFileHeader() const
struct ifhd::v100::IndexedFileV100::TagChunkHeader ChunkHeader
struct ifhd::v100::IndexedFileV100::TagFileHeader FileHeader
Definition file.h:121
namespace for indexed file definitions in version 1.0
Definition indexedfile_v100.h:28
namespace for IFHD File library
Definition indexedfile_types.h:30