StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Public Member Functions | List of all members
StormByte::Multimedia::Pipeline::SideData Class Reference

One side-data blob attached to a Frame or Packet. More...

#include <StormByte/multimedia/pipeline/side_data.hxx>

Public Member Functions

 SideData (SideDataKind kind, StormByte::Buffer::FIFO payload) noexcept
 Known kind plus payload.
 
 SideData (std::string name, StormByte::Buffer::FIFO payload) noexcept
 Other kind plus FFmpeg name and payload.
 
 SideData (const SideData &other) noexcept=default
 Copy constructor.
 
 SideData (SideData &&other) noexcept=default
 Move constructor.
 
 ~SideData () noexcept=default
 Destructor.
 
SideDataoperator= (const SideData &other) noexcept=default
 Copy assignment.
 
SideDataoperator= (SideData &&other) noexcept=default
 Move assignment.
 
SideDataKind Kind () const noexcept
 Kind.
 
const std::optional< std::string > & Name () const noexcept
 libav name when Kind is Other.
 
const StormByte::Buffer::FIFO & Payload () const noexcept
 Raw payload.
 
StormByte::Buffer::FIFO & Payload () noexcept
 Raw payload (mutable).
 

Detailed Description

One side-data blob attached to a Frame or Packet.

Copy duplicates the FIFO. That is cheap next to an AVFrame plane clone; StormByte::Multimedia::Pipeline::Frame needs it for its private copy.

Constructor & Destructor Documentation

◆ SideData() [1/4]

StormByte::Multimedia::Pipeline::SideData::SideData ( SideDataKind  kind,
StormByte::Buffer::FIFO  payload 
)
noexcept

Known kind plus payload.

Parameters
kindSide-data kind.
payloadRaw bytes.

◆ SideData() [2/4]

StormByte::Multimedia::Pipeline::SideData::SideData ( std::string  name,
StormByte::Buffer::FIFO  payload 
)
noexcept

Other kind plus FFmpeg name and payload.

Parameters
namelibav side-data name.
payloadRaw bytes.

Sets Kind to SideDataKind::Other.

◆ SideData() [3/4]

StormByte::Multimedia::Pipeline::SideData::SideData ( const SideData other)
defaultnoexcept

Copy constructor.

Parameters
otherSource blob.

◆ SideData() [4/4]

StormByte::Multimedia::Pipeline::SideData::SideData ( SideData &&  other)
defaultnoexcept

Move constructor.

Parameters
otherBlob to take.

◆ ~SideData()

StormByte::Multimedia::Pipeline::SideData::~SideData ( )
defaultnoexcept

Destructor.

Member Function Documentation

◆ Kind()

SideDataKind StormByte::Multimedia::Pipeline::SideData::Kind ( ) const
noexcept

Kind.

Returns
Kind.

◆ Name()

const std::optional< std::string > & StormByte::Multimedia::Pipeline::SideData::Name ( ) const
noexcept

libav name when Kind is Other.

Returns
Name, or empty.

◆ operator=() [1/2]

SideData & StormByte::Multimedia::Pipeline::SideData::operator= ( const SideData other)
defaultnoexcept

Copy assignment.

Parameters
otherSource blob.
Returns
*this.

◆ operator=() [2/2]

SideData & StormByte::Multimedia::Pipeline::SideData::operator= ( SideData &&  other)
defaultnoexcept

Move assignment.

Parameters
otherBlob to take.
Returns
*this.

◆ Payload() [1/2]

const StormByte::Buffer::FIFO & StormByte::Multimedia::Pipeline::SideData::Payload ( ) const
noexcept

Raw payload.

Returns
FIFO.

◆ Payload() [2/2]

StormByte::Buffer::FIFO & StormByte::Multimedia::Pipeline::SideData::Payload ( )
noexcept

Raw payload (mutable).

Returns
FIFO.

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