adtf_file_library  0.13.2
indexedfilereader_v100.h
Go to the documentation of this file.
1 
17 #ifndef INDEXEDFILE_READER_V100_CLASS_HEADER
18 #define INDEXEDFILE_READER_V100_CLASS_HEADER
19 
21 
22 namespace ifhd
23 {
24 namespace 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:
186  void initialize();
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_
Definition: indexedfilereader_v100.h:32
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
FileHeader * internalGetFileHeader() const
ChunkHeader * _index_table
index table
Definition: indexedfilereader_v100.h:46
Definition: indexedfile_v100.h:49
Definition: file.h:121
namespace for IFHD File library
Definition: indexedfile_types.h:30
Definition: indexedfile_v100.h:112
Definition: indexedfile_v100.h:93

Copyright © CARIAD SE.
Generated on Mon Jun 10 2024 by doxygen 1.9.1
GIT Commit Hash: eb3af397a6b49ad6fcad9a60d8277d909b458b48