12#ifndef ROC_FEC_CODEC_MAP_H_
13#define ROC_FEC_CODEC_MAP_H_
68 enum { MaxCodecs = 2 };
84 void add_codec_(
const Codec& codec);
88 Codec codecs_[MaxCodecs];
Memory allocator interface.
Base class for non-copyable objects.
static T & instance()
Get singleton instance.
IBlockDecoder * new_decoder(const CodecConfig &config, core::BufferFactory< uint8_t > &buffer_factory, core::IAllocator &allocator) const
Create a new block decoder.
packet::FecScheme nth_scheme(size_t n) const
Get FEC scheme ID by index.
IBlockEncoder * new_encoder(const CodecConfig &config, core::BufferFactory< uint8_t > &buffer_factory, core::IAllocator &allocator) const
Create a new block encoder.
static CodecMap & instance()
Get instance.
size_t num_schemes() const
Get number of supported FEC schemes.
bool is_supported(packet::FecScheme scheme) const
Check whether given FEC scheme is supported.
FEC block decoder interface.
FEC block encoder interface.
Memory allocator interface.
FEC block decoder interface.
FEC block encoder interface.
FecScheme
FECFRAME scheme.