ADTF File Library
Loading...
Searching...
No Matches
indexedfilereader_v110.h
Go to the documentation of this file.
1
16
17#ifndef INDEXEDFILE_V110_READER_CLASS_HEADER
18#define INDEXEDFILE_V110_READER_CLASS_HEADER
19
21
22namespace ifhd
23{
24namespace v110
25{
26
27//*************************************************************************************************
32{
33 protected:
34 uint32_t _flags;
39
45 int64_t _chunk_index;
47
48 protected:
50 void* _delegate;
52
53 public:
58
63
73 const a_util::filesystem::Path& file_name,
74 int cache_size=-1,
75 uint32_t flags=0);
76
81 void close();
82
87 void reset();
88
96 int64_t getCurrentPos(int time_format) const;
97
106 int64_t setCurrentPos(int64_t position, int time_format);
107
115 int64_t getChunkIndexForIndexPos(int64_t index_pos) const;
121
131 int64_t seek(int64_t position, int time_format, uint32_t flags=0);
132
138 void queryChunkInfo(ChunkHeader** chunk_header);
139
145 void readChunk(void** data);
146
151 void skipChunk();
152
159 void readNextChunk(ChunkHeader** chunk_header, void** data);
160
169 void readNextChunkInfo(ChunkHeader** chunk_header);
170
176 int64_t getFilePos() const;
177
183 int64_t getChunkCount() const;
184
189 int64_t getIndexCount() const;
190
196 timestamp_t getDuration() const;
197
203 uint32_t getVersionId() const;
204
211 bool findExtension(const std::string& identifier, FileExtension** extension_info, void** data) const;
212
219 void getExtension(int index, FileExtension** extension_info, void** data) const;
220
221 protected:
226
231
236
241
247 int64_t lookupChunkRef(int64_t position, int time_format);
248
249 protected:
250
255
260
264 void setEOF();
265
271 void readDataBlock(void* buffer, long buffer_size);
272
277
282
287};
288
289} //namespace v100
290} // namespace ifhd
291
292//*************************************************************************************************
293#endif // _INDEXEDFILE_V110_READER_CLASS_HEADER_
int64_t _chunk_index
current chunk index
Definition indexedfilereader_v110.h:45
bool findExtension(const std::string &identifier, FileExtension **extension_info, void **data) const
void * _current_chunk_data
current chank data size in bytes
Definition indexedfilereader_v110.h:41
int64_t getChunkIndexForIndexPos(int64_t index_pos) const
int64_t getChunkIndexForIndexPos() const
void readDataBlock(void *buffer, long buffer_size)
bool _prefetched
prefechted state of chunk
Definition indexedfilereader_v110.h:44
void attach(utils5ext::File *file, const a_util::filesystem::Path &file_name, int cache_size=-1, uint32_t flags=0)
int64_t lookupChunkRef(int64_t position, int time_format)
bool _file_pos_invalid
validation state of file position
Definition indexedfilereader_v110.h:38
void * _delegate
delegate object for compatibility
Definition indexedfilereader_v110.h:50
uint32_t _flags
internal flags
Definition indexedfilereader_v110.h:34
bool _compatibility_v100
reader in compatibility state
Definition indexedfilereader_v110.h:49
bool _data_valid
validation state of chunk data
Definition indexedfilereader_v110.h:43
int _index_table_size
index table size (amount of entries)
Definition indexedfilereader_v110.h:36
int64_t _index_table_index
current index table index position
Definition indexedfilereader_v110.h:46
IndexedFileV110::ChunkHeader * _current_chunk
current chunk header pointer
Definition indexedfilereader_v110.h:40
timestamp_t getDuration() const
void readNextChunk(ChunkHeader **chunk_header, void **data)
IndexedFileV110::ChunkRef * _index_table
index table
Definition indexedfilereader_v110.h:35
int64_t getCurrentPos(int time_format) const
void readNextChunkInfo(ChunkHeader **chunk_header)
int64_t seek(int64_t position, int time_format, uint32_t flags=0)
int64_t setCurrentPos(int64_t position, int time_format)
bool _header_valid
validation state of chunk header
Definition indexedfilereader_v110.h:42
void getExtension(int index, FileExtension **extension_info, void **data) const
void queryChunkInfo(ChunkHeader **chunk_header)
IndexedFileV110::FileExtension _extension_info_v100
compatibility file extension
Definition indexedfilereader_v110.h:51
int64_t _end_of_data_marker
end of data marker
Definition indexedfilereader_v110.h:37
struct ifhd::v110::IndexedFileV110::TagChunkHeader ChunkHeader
struct ifhd::v110::IndexedFileV110::TagFileExtension FileExtension
struct ifhd::v110::IndexedFileV110::TagChunkRef ChunkRef
Definition file.h:121
namespace for indexed file definitions in version 1.1
Definition indexedfile_v110.h:30
namespace for IFHD File library
Definition indexedfile_types.h:30