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];
Base class for non-copyable objects.
static T & instance()
Get singleton instance.
packet::FecScheme nth_scheme(size_t n) const
Get FEC scheme ID by index.
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.
static CodecMap & instance()
Get instance.
IBlockEncoder * new_encoder(const CodecConfig &config, packet::PacketFactory &packet_factory, core::IArena &arena) const
Create a new block encoder.
IBlockDecoder * new_decoder(const CodecConfig &config, packet::PacketFactory &packet_factory, core::IArena &arena) const
Create a new block decoder.
FEC block decoder interface.
FEC block encoder interface.
FEC block decoder interface.
FEC block encoder interface.
FecScheme
FECFRAME scheme.