ifw-rtmslib 1.0.0
 
Loading...
Searching...
No Matches
SampleExtInfo Class Reference

#include <sampleExtInfo.hpp>

Public Member Functions

 SampleExtInfo ()
 
 SampleExtInfo (double timestamp)
 
 SampleExtInfo (const std::vector< uint8_t > &sample_ext_info)
 
 ~SampleExtInfo ()=default
 
SampleExtInfoSetTimestamp (double timestamp)
 
double GetTimestamp () const
 
SampleExtInfoSetDataType (ifw::fnd::datatype::DataType datatype)
 
ifw::fnd::datatype::DataType GetDataType () const
 
SampleExtInfoSetWidth (std::int32_t width)
 
std::int32_t GetWidth () const
 
SampleExtInfoSetHeight (std::int32_t height)
 
std::int32_t GetHeight () const
 
SampleExtInfoSetOffsetX (std::int32_t offset_x)
 
std::int32_t GetOffsetX () const
 
SampleExtInfoSetOffsetY (std::int32_t offset_y)
 
std::int32_t GetOffsetY () const
 
void Pack (std::vector< uint8_t > &sample_ext_info_packed) const
 Pack the extended info into a byte vector.
 
void Unpack (const std::vector< uint8_t > &sample_ext_info_packed)
 Unpack the extended info from a byte vector.
 
int32_t GetExtInfoSize () const
 Return size in bytes of the packed Extended Info.
 

Constructor & Destructor Documentation

◆ SampleExtInfo() [1/3]

ifw::rtmslib::SampleExtInfo::SampleExtInfo ( )
inlinedefault

◆ SampleExtInfo() [2/3]

ifw::rtmslib::SampleExtInfo::SampleExtInfo ( double timestamp)
inlineexplicit

◆ SampleExtInfo() [3/3]

ifw::rtmslib::SampleExtInfo::SampleExtInfo ( const std::vector< uint8_t > & sample_ext_info)
inlineexplicit

◆ ~SampleExtInfo()

ifw::rtmslib::SampleExtInfo::~SampleExtInfo ( )
default

Member Function Documentation

◆ GetDataType()

ifw::fnd::datatype::DataType ifw::rtmslib::SampleExtInfo::GetDataType ( ) const
inline

◆ GetExtInfoSize()

int32_t ifw::rtmslib::SampleExtInfo::GetExtInfoSize ( ) const
inline

Return size in bytes of the packed Extended Info.

Returns
Ditto.

◆ GetHeight()

std::int32_t ifw::rtmslib::SampleExtInfo::GetHeight ( ) const
inline

◆ GetOffsetX()

std::int32_t ifw::rtmslib::SampleExtInfo::GetOffsetX ( ) const
inline

◆ GetOffsetY()

std::int32_t ifw::rtmslib::SampleExtInfo::GetOffsetY ( ) const
inline

◆ GetTimestamp()

double ifw::rtmslib::SampleExtInfo::GetTimestamp ( ) const
inline

◆ GetWidth()

std::int32_t ifw::rtmslib::SampleExtInfo::GetWidth ( ) const
inline

◆ Pack()

void ifw::rtmslib::SampleExtInfo::Pack ( std::vector< uint8_t > & sample_ext_info_packed) const
inline

Pack the extended info into a byte vector.

Allowed cases: 1) All fields at default values -> packs nothing (size == 0) 2) Only timestamp non-default -> packs 8 bytes (double) 3) Timestamp non-default AND all of datatype, width, height, offset_x, offset_y non-default -> full block: [double timestamp] [int32 datatype] [int32 width] [int32 height] [int32 offset_x] [int32 offset_y]

Any other combination throws std::runtime_error.

◆ SetDataType()

SampleExtInfo & ifw::rtmslib::SampleExtInfo::SetDataType ( ifw::fnd::datatype::DataType datatype)
inline

◆ SetHeight()

SampleExtInfo & ifw::rtmslib::SampleExtInfo::SetHeight ( std::int32_t height)
inline

◆ SetOffsetX()

SampleExtInfo & ifw::rtmslib::SampleExtInfo::SetOffsetX ( std::int32_t offset_x)
inline

◆ SetOffsetY()

SampleExtInfo & ifw::rtmslib::SampleExtInfo::SetOffsetY ( std::int32_t offset_y)
inline

◆ SetTimestamp()

SampleExtInfo & ifw::rtmslib::SampleExtInfo::SetTimestamp ( double timestamp)
inline

◆ SetWidth()

SampleExtInfo & ifw::rtmslib::SampleExtInfo::SetWidth ( std::int32_t width)
inline

◆ Unpack()

void ifw::rtmslib::SampleExtInfo::Unpack ( const std::vector< uint8_t > & sample_ext_info_packed)
inline

Unpack the extended info from a byte vector.

Allowed sizes:

  • 0 bytes -> all fields set to defaults
  • 8 bytes -> only timestamp, rest defaults
  • full size (SIZE_SAMPLE_EXT_INFO) -> all fields populated

Any other size throws std::runtime_error.


The documentation for this class was generated from the following file: