• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright (c) 2012 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 
11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_CONFIG_H_
12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_CONFIG_H_
13 
14 // Configuration file for RTP utilities (RTPSender, RTPReceiver ...)
15 namespace webrtc {
16 enum { kRtpRtcpMaxIdleTimeProcess = 5,
17        kRtpRtcpBitrateProcessTimeMs = 10,
18        kRtpRtcpPacketTimeoutProcessTimeMs = 100,
19        kRtpRtcpRttProcessTimeMs = 1000 };
20 
21 enum { NACK_BYTECOUNT_SIZE      = 60};   // size of our NACK history
22 // A sanity for the NACK list parsing at the send-side.
23 enum { kSendSideNackListSizeSanity = 20000 };
24 enum { kDefaultMaxReorderingThreshold = 50 };  // In sequence numbers.
25 enum { kRtcpMaxNackFields = 253 };
26 
27 enum { RTCP_INTERVAL_VIDEO_MS       = 1000 };
28 enum { RTCP_INTERVAL_AUDIO_MS       = 5000 };
29 enum { RTCP_SEND_BEFORE_KEY_FRAME_MS= 100 };
30 enum { RTCP_MAX_REPORT_BLOCKS       = 31};      // RFC 3550 page 37
31 enum { RTCP_MIN_FRAME_LENGTH_MS     = 17};
32 enum { kRtcpAppCode_DATA_SIZE           = 32*4};    // multiple of 4, this is not a limitation of the size
33 enum { RTCP_RPSI_DATA_SIZE          = 30};
34 enum { RTCP_NUMBER_OF_SR            = 60 };
35 
36 enum { MAX_NUMBER_OF_TEMPORAL_ID    = 8 };          // RFC
37 enum { MAX_NUMBER_OF_DEPENDENCY_QUALITY_ID  = 128 };// RFC
38 enum { MAX_NUMBER_OF_REMB_FEEDBACK_SSRCS = 255 };
39 
40 enum { BW_HISTORY_SIZE          = 35};
41 
42 #define MIN_AUDIO_BW_MANAGEMENT_BITRATE   6
43 #define MIN_VIDEO_BW_MANAGEMENT_BITRATE   30
44 
45 enum { DTMF_OUTBAND_MAX         = 20};
46 
47 enum { RTP_MAX_BURST_SLEEP_TIME = 500 };
48 enum { RTP_AUDIO_LEVEL_UNIQUE_ID = 0xbede };
49 enum { RTP_MAX_PACKETS_PER_FRAME= 512 }; // must be multiple of 32
50 }  // namespace webrtc
51 
52 
53 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_CONFIG_H_
54