![]() |
VRS
A file format for sensor data.
|
Image stream reader showing how to read records from a typical stream containing images. More...
Public Member Functions | |
bool | onDataLayoutRead (const CurrentRecord &record, size_t blockIndex, DataLayout &dl) override |
bool | onImageRead (const CurrentRecord &record, size_t idx, const ContentBlock &cb) override |
size_t | getImageReadCount () const |
![]() | |
virtual bool | onAudioRead (const CurrentRecord &record, size_t blockIndex, const ContentBlock &cb) |
virtual bool | onCustomBlockRead (const CurrentRecord &rec, size_t blkIdx, const ContentBlock &cb) |
virtual bool | onUnsupportedBlock (const CurrentRecord &rec, size_t blkIdx, const ContentBlock &cb) |
void | onAttachedToFileReader (RecordFileReader &recordFileReader, StreamId streamId) override |
bool | processRecordHeader (const CurrentRecord &record, DataReference &outDataReference) override |
void | processRecord (const CurrentRecord &record, uint32_t readSize) override |
RecordFormatReader * | getLastRecordFormatReader (StreamId id, Record::Type recordType) const |
RecordFormatReader * | getCurrentRecordFormatReader () const |
![]() | |
virtual bool | processStateHeader (const CurrentRecord &, DataReference &) |
virtual void | processState (const CurrentRecord &, uint32_t) |
virtual bool | processConfigurationHeader (const CurrentRecord &, DataReference &) |
virtual void | processConfiguration (const CurrentRecord &, uint32_t) |
virtual bool | processDataHeader (const CurrentRecord &, DataReference &) |
virtual void | processData (const CurrentRecord &, uint32_t) |
virtual int | recordReadComplete (RecordFileReader &, const IndexRecord::RecordInfo &) |
virtual void | flush () |
Additional Inherited Members | |
![]() | |
template<class T > | |
T & | getExpectedLayout (DataLayout &layout, size_t blockIndex) |
template<class T > | |
T & | getLegacyLayout (DataLayout &layout, size_t blockIndex) |
template<class T > | |
T & | getCachedLayout (vector< unique_ptr< DataLayout > > &layoutCache, DataLayout &layout, size_t blockIndex) |
![]() | |
RecordFileReader * | recordFileReader_ {} |
map< tuple< StreamId, Record::Type, uint32_t >, RecordFormatReader > | readers_ |
map< pair< StreamId, Record::Type >, RecordFormatReader * > | lastReader_ |
RecordFormatReader * | currentReader_ {} |
Image stream reader showing how to read records from a typical stream containing images.
|
inlineoverridevirtual |
Callback for DataLayout content blocks, after it was read.
record | Metadata associated with the record being read. |
blockIndex | Index of the content block being read. |
dl | DataLayout read. |
Reimplemented from vrs::RecordFormatStreamPlayer.
|
inlineoverridevirtual |
Callback for image content blocks. The ContentBlock object 'cb' describes the image content block, but the content block's data has not been read yet. Query the ContentBlock object to know the details about the image and the content block's size. Then you can allocate or reuse a buffer, and call record.reader->read() to read the content block's data in that buffer. Depending on cb.image().getImageFormat(), the content block's data will be: ImageFormat::RAW: raw pixel buffer data, in the format specified by cb.image.getPixelFormat(). ImageFormat::JPG: JPG data, as it found in a regular .jpg file. ImageFormat::PNG: PNG data, as it found in a regular .png file. ImageFormat::VIDEO: compressed data, as generated by the video codec cb.image.getCodecName(). Preferably, use a VideoRecordFormatStreamPlayer object to decode such records.
record | Metadata associated with the record being read. |
blockIndex | Index of the content block being read. |
cb | ContentBlock describing the image data to be read. |
find more about the image format:
Reimplemented from vrs::RecordFormatStreamPlayer.