Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::fec::IBlockEncoder Class Referenceabstract

FEC block encoder interface. More...

#include <iblock_encoder.h>

Inheritance diagram for roc::fec::IBlockEncoder:

Public Member Functions

virtual size_t alignment () const =0
 Get buffer alignment requirement. More...
 
virtual size_t max_block_length () const =0
 Get the maximum number of encoding symbols for the scheme being used. More...
 
virtual bool begin (size_t sblen, size_t rblen, size_t payload_size)=0
 Start block. More...
 
virtual void set (size_t index, const core::Slice< uint8_t > &buffer)=0
 Store source or repair packet buffer for current block. More...
 
virtual void fill ()=0
 Fill all repair packets in current block. More...
 
virtual void end ()=0
 Finish block. More...
 

Detailed Description

FEC block encoder interface.

Definition at line 22 of file iblock_encoder.h.

Member Function Documentation

◆ alignment()

virtual size_t roc::fec::IBlockEncoder::alignment ( ) const
pure virtual

Get buffer alignment requirement.

Implemented in roc::fec::OpenfecEncoder.

◆ begin()

virtual bool roc::fec::IBlockEncoder::begin ( size_t  sblen,
size_t  rblen,
size_t  payload_size 
)
pure virtual

Start block.

Remarks
Performs an initial setup for a block. Should be called before any operations for the block.

Implemented in roc::fec::OpenfecEncoder.

◆ end()

virtual void roc::fec::IBlockEncoder::end ( )
pure virtual

Finish block.

Remarks
Cleanups the resources allocated for the block. Should be called after all operations for the block.

Implemented in roc::fec::OpenfecEncoder.

◆ fill()

virtual void roc::fec::IBlockEncoder::fill ( )
pure virtual

Fill all repair packets in current block.

Precondition
This method may be called only between begin() and end() calls.

Implemented in roc::fec::OpenfecEncoder.

◆ max_block_length()

virtual size_t roc::fec::IBlockEncoder::max_block_length ( ) const
pure virtual

Get the maximum number of encoding symbols for the scheme being used.

Implemented in roc::fec::OpenfecEncoder.

◆ set()

virtual void roc::fec::IBlockEncoder::set ( size_t  index,
const core::Slice< uint8_t > &  buffer 
)
pure virtual

Store source or repair packet buffer for current block.

Precondition
This method may be called only between begin() and end() calls.

Implemented in roc::fec::OpenfecEncoder.


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