blob: 86d32ac104df91b3eda4c40cc50969d30eb0fb11 [file] [log] [blame]
Stefan Holmer1acbd682017-09-01 15:29:28 +02001/*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef CALL_RTP_CONFIG_H_
12#define CALL_RTP_CONFIG_H_
Stefan Holmer1acbd682017-09-01 15:29:28 +020013
14#include <string>
15
16namespace webrtc {
17// Settings for NACK, see RFC 4585 for details.
18struct NackConfig {
19 NackConfig() : rtp_history_ms(0) {}
20 std::string ToString() const;
21 // Send side: the time RTP packets are stored for retransmissions.
22 // Receive side: the time the receiver is prepared to wait for
23 // retransmissions.
24 // Set to '0' to disable.
25 int rtp_history_ms;
26};
27
28// Settings for ULPFEC forward error correction.
29// Set the payload types to '-1' to disable.
30struct UlpfecConfig {
31 UlpfecConfig()
32 : ulpfec_payload_type(-1),
33 red_payload_type(-1),
34 red_rtx_payload_type(-1) {}
35 std::string ToString() const;
36 bool operator==(const UlpfecConfig& other) const;
37
38 // Payload type used for ULPFEC packets.
39 int ulpfec_payload_type;
40
41 // Payload type used for RED packets.
42 int red_payload_type;
43
44 // RTX payload type for RED payload.
45 int red_rtx_payload_type;
46};
47} // namespace webrtc
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020048#endif // CALL_RTP_CONFIG_H_