blob: 09deef35cd1aed40aba85412b76bf5f98d86f937 [file] [log] [blame]
niklase@google.com470e71d2011-07-07 08:21:25 +00001/*
asapersson@webrtc.orga7689702012-04-19 07:01:29 +00002 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
niklase@google.com470e71d2011-07-07 08:21:25 +00003 *
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 MODULES_RTP_RTCP_SOURCE_RTP_RTCP_CONFIG_H_
12#define MODULES_RTP_RTCP_SOURCE_RTP_RTCP_CONFIG_H_
niklase@google.com470e71d2011-07-07 08:21:25 +000013
14// Configuration file for RTP utilities (RTPSender, RTPReceiver ...)
15namespace webrtc {
danilchap162abd32015-12-10 02:39:40 -080016enum { NACK_BYTECOUNT_SIZE = 60 }; // size of our NACK history
stefan@webrtc.orgbecf9c82013-02-01 15:09:57 +000017// A sanity for the NACK list parsing at the send-side.
18enum { kSendSideNackListSizeSanity = 20000 };
19enum { kDefaultMaxReorderingThreshold = 50 }; // In sequence numbers.
stefan@webrtc.orga2710702013-03-05 09:02:06 +000020enum { kRtcpMaxNackFields = 253 };
niklase@google.com470e71d2011-07-07 08:21:25 +000021
danilchap162abd32015-12-10 02:39:40 -080022enum { RTCP_INTERVAL_VIDEO_MS = 1000 };
23enum { RTCP_INTERVAL_AUDIO_MS = 5000 };
24enum { RTCP_SEND_BEFORE_KEY_FRAME_MS = 100 };
25enum { RTCP_MAX_REPORT_BLOCKS = 31 }; // RFC 3550 page 37
danilchap162abd32015-12-10 02:39:40 -080026enum {
27 kRtcpAppCode_DATA_SIZE = 32 * 4
28}; // multiple of 4, this is not a limitation of the size
danilchap162abd32015-12-10 02:39:40 -080029enum { RTCP_NUMBER_OF_SR = 60 };
niklase@google.com470e71d2011-07-07 08:21:25 +000030
danilchap162abd32015-12-10 02:39:40 -080031enum { MAX_NUMBER_OF_TEMPORAL_ID = 8 }; // RFC
32enum { MAX_NUMBER_OF_DEPENDENCY_QUALITY_ID = 128 }; // RFC
asapersson@webrtc.orga7689702012-04-19 07:01:29 +000033enum { MAX_NUMBER_OF_REMB_FEEDBACK_SSRCS = 255 };
niklase@google.com470e71d2011-07-07 08:21:25 +000034
danilchap162abd32015-12-10 02:39:40 -080035enum { BW_HISTORY_SIZE = 35 };
niklase@google.com470e71d2011-07-07 08:21:25 +000036
danilchap162abd32015-12-10 02:39:40 -080037#define MIN_AUDIO_BW_MANAGEMENT_BITRATE 6
38#define MIN_VIDEO_BW_MANAGEMENT_BITRATE 30
niklase@google.com470e71d2011-07-07 08:21:25 +000039
niklase@google.com470e71d2011-07-07 08:21:25 +000040enum { RTP_MAX_BURST_SLEEP_TIME = 500 };
41enum { RTP_AUDIO_LEVEL_UNIQUE_ID = 0xbede };
danilchap162abd32015-12-10 02:39:40 -080042enum { RTP_MAX_PACKETS_PER_FRAME = 512 }; // must be multiple of 32
pbos@webrtc.orgd900e8b2013-07-03 15:12:26 +000043} // namespace webrtc
niklase@google.com470e71d2011-07-07 08:21:25 +000044
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020045#endif // MODULES_RTP_RTCP_SOURCE_RTP_RTCP_CONFIG_H_