Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
config.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023 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_rtcp/config.h
10 //! @brief RTCP config.
11 
12 #ifndef ROC_RTCP_CONFIG_H_
13 #define ROC_RTCP_CONFIG_H_
14 
15 #include "roc_core/stddefs.h"
16 #include "roc_core/time.h"
17 #include "roc_packet/units.h"
18 #include "roc_rtcp/rtt_estimator.h"
19 
20 namespace roc {
21 namespace rtcp {
22 
23 //! RTCP config.
24 struct Config {
25  //! Interval between reports.
27 
28  //! Timeout to remove inactive streams.
30 
31  //! RTT estimation config.
33 
34  //! Enable generation of SR/RR packets.
36 
37  //! Enable generation of XR packets.
38  bool enable_xr;
39 
40  //! Enable generation of SDES packets.
42 
43  Config()
44  : report_interval(core::Millisecond * 200)
45  , inactivity_timeout(core::Second * 5)
46  , enable_sr_rr(true)
47  , enable_xr(true)
48  , enable_sdes(true) {
49  }
50 };
51 
52 } // namespace rtcp
53 } // namespace roc
54 
55 #endif // ROC_RTCP_CONFIG_H_
const nanoseconds_t Millisecond
One millisecond represented in nanoseconds.
Definition: time.h:67
const nanoseconds_t Second
One second represented in nanoseconds.
Definition: time.h:70
int64_t nanoseconds_t
Nanoseconds.
Definition: time.h:58
Root namespace.
Round-trip time estimator.
Commonly used types and functions.
RTCP config.
Definition: config.h:24
core::nanoseconds_t inactivity_timeout
Timeout to remove inactive streams.
Definition: config.h:29
RttConfig rtt
RTT estimation config.
Definition: config.h:32
bool enable_sr_rr
Enable generation of SR/RR packets.
Definition: config.h:35
bool enable_xr
Enable generation of XR packets.
Definition: config.h:38
bool enable_sdes
Enable generation of SDES packets.
Definition: config.h:41
core::nanoseconds_t report_interval
Interval between reports.
Definition: config.h:26
Round-trip time metrics.
Definition: rtt_estimator.h:22
Time definitions.
Various units used in packets.