Home | History | Annotate | Download | only in source
      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