Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
codec_config.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Roc Streaming authors
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
8 
9 //! @file roc_fec/codec_config.h
10 //! @brief FEC codec parameters.
11 
12 #ifndef ROC_FEC_CODEC_CONFIG_H_
13 #define ROC_FEC_CODEC_CONFIG_H_
14 
15 #include "roc_core/stddefs.h"
16 #include "roc_packet/fec.h"
17 
18 namespace roc {
19 namespace fec {
20 
21 //! FEC codec parameters.
22 struct CodecConfig {
23  //! FEC scheme.
25 
26  //! Seed for LDPC scheme.
27  int32_t ldpc_prng_seed;
28 
29  //! N1 parameter LDPC scheme.
30  uint8_t ldpc_N1;
31 
32  //! Configuration for ReedSolomon scheme.
33  uint16_t rs_m;
34 
35  CodecConfig()
36  : scheme(packet::FEC_None)
37  , ldpc_prng_seed(1297501556)
38  , ldpc_N1(7)
39  , rs_m(8) {
40  }
41 };
42 
43 } // namespace fec
44 } // namespace roc
45 
46 #endif // ROC_FEC_CODEC_CONFIG_H_
FEC packet.
FecScheme
FECFRAME scheme.
Definition: fec.h:23
@ FEC_None
No FEC.
Definition: fec.h:25
Root namespace.
Commonly used types and functions.
FEC codec parameters.
Definition: codec_config.h:22
uint8_t ldpc_N1
N1 parameter LDPC scheme.
Definition: codec_config.h:30
packet::FecScheme scheme
FEC scheme.
Definition: codec_config.h:24
int32_t ldpc_prng_seed
Seed for LDPC scheme.
Definition: codec_config.h:27
uint16_t rs_m
Configuration for ReedSolomon scheme.
Definition: codec_config.h:33