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

FEC block decoder interface. More...

#include <iblock_decoder.h>

Inheritance diagram for roc::fec::IBlockDecoder:

Public Member Functions

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 core::Slice< uint8_t > repair (size_t index)=0
 Repair source packet buffer. More...
 
virtual void end ()=0
 Finish block. More...
 

Detailed Description

FEC block decoder interface.

Definition at line 22 of file iblock_decoder.h.

Member Function Documentation

◆ begin()

virtual bool roc::fec::IBlockDecoder::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::OpenfecDecoder.

◆ end()

virtual void roc::fec::IBlockDecoder::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::OpenfecDecoder.

◆ max_block_length()

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

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

Implemented in roc::fec::OpenfecDecoder.

◆ repair()

virtual core::Slice<uint8_t> roc::fec::IBlockDecoder::repair ( size_t  index)
pure virtual

Repair source packet buffer.

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

Implemented in roc::fec::OpenfecDecoder.

◆ set()

virtual void roc::fec::IBlockDecoder::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::OpenfecDecoder.


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