| Index: webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h
|
| diff --git a/webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h b/webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h
|
| deleted file mode 100644
|
| index ac3954ba9be003c14cc0f3a929a667bc3abfac63..0000000000000000000000000000000000000000
|
| --- a/webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h
|
| +++ /dev/null
|
| @@ -1,442 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#ifndef WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_
|
| -#define WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_
|
| -
|
| -#pragma message("WARNING: rtp_rtcp/interface is DEPRECATED; use include dir.")
|
| -
|
| -#include <stddef.h>
|
| -#include <list>
|
| -
|
| -#include "webrtc/modules/include/module_common_types.h"
|
| -#include "webrtc/system_wrappers/include/clock.h"
|
| -#include "webrtc/typedefs.h"
|
| -
|
| -#define RTCP_CNAME_SIZE 256 // RFC 3550 page 44, including null termination
|
| -#define IP_PACKET_SIZE 1500 // we assume ethernet
|
| -#define MAX_NUMBER_OF_PARALLEL_TELEPHONE_EVENTS 10
|
| -#define TIMEOUT_SEI_MESSAGES_MS 30000 // in milliseconds
|
| -
|
| -namespace webrtc {
|
| -namespace rtcp {
|
| -class TransportFeedback;
|
| -}
|
| -
|
| -const int kVideoPayloadTypeFrequency = 90000;
|
| -
|
| -// Minimum RTP header size in bytes.
|
| -const uint8_t kRtpHeaderSize = 12;
|
| -
|
| -struct AudioPayload
|
| -{
|
| - uint32_t frequency;
|
| - uint8_t channels;
|
| - uint32_t rate;
|
| -};
|
| -
|
| -struct VideoPayload
|
| -{
|
| - RtpVideoCodecTypes videoCodecType;
|
| - uint32_t maxRate;
|
| -};
|
| -
|
| -union PayloadUnion
|
| -{
|
| - AudioPayload Audio;
|
| - VideoPayload Video;
|
| -};
|
| -
|
| -enum RTPAliveType
|
| -{
|
| - kRtpDead = 0,
|
| - kRtpNoRtp = 1,
|
| - kRtpAlive = 2
|
| -};
|
| -
|
| -enum ProtectionType {
|
| - kUnprotectedPacket,
|
| - kProtectedPacket
|
| -};
|
| -
|
| -enum StorageType {
|
| - kDontRetransmit,
|
| - kAllowRetransmission
|
| -};
|
| -
|
| -enum RTPExtensionType {
|
| - kRtpExtensionNone,
|
| - kRtpExtensionTransmissionTimeOffset,
|
| - kRtpExtensionAudioLevel,
|
| - kRtpExtensionAbsoluteSendTime,
|
| - kRtpExtensionVideoRotation,
|
| - kRtpExtensionTransportSequenceNumber,
|
| -};
|
| -
|
| -enum RTCPAppSubTypes
|
| -{
|
| - kAppSubtypeBwe = 0x00
|
| -};
|
| -
|
| -// TODO(sprang): Make this an enum class once rtcp_receiver has been cleaned up.
|
| -enum RTCPPacketType : uint32_t {
|
| - kRtcpReport = 0x0001,
|
| - kRtcpSr = 0x0002,
|
| - kRtcpRr = 0x0004,
|
| - kRtcpSdes = 0x0008,
|
| - kRtcpBye = 0x0010,
|
| - kRtcpPli = 0x0020,
|
| - kRtcpNack = 0x0040,
|
| - kRtcpFir = 0x0080,
|
| - kRtcpTmmbr = 0x0100,
|
| - kRtcpTmmbn = 0x0200,
|
| - kRtcpSrReq = 0x0400,
|
| - kRtcpXrVoipMetric = 0x0800,
|
| - kRtcpApp = 0x1000,
|
| - kRtcpSli = 0x4000,
|
| - kRtcpRpsi = 0x8000,
|
| - kRtcpRemb = 0x10000,
|
| - kRtcpTransmissionTimeOffset = 0x20000,
|
| - kRtcpXrReceiverReferenceTime = 0x40000,
|
| - kRtcpXrDlrrReportBlock = 0x80000,
|
| - kRtcpTransportFeedback = 0x100000,
|
| -};
|
| -
|
| -enum KeyFrameRequestMethod { kKeyFrameReqPliRtcp, kKeyFrameReqFirRtcp };
|
| -
|
| -enum RtpRtcpPacketType
|
| -{
|
| - kPacketRtp = 0,
|
| - kPacketKeepAlive = 1
|
| -};
|
| -
|
| -enum NACKMethod
|
| -{
|
| - kNackOff = 0,
|
| - kNackRtcp = 2
|
| -};
|
| -
|
| -enum RetransmissionMode : uint8_t {
|
| - kRetransmitOff = 0x0,
|
| - kRetransmitFECPackets = 0x1,
|
| - kRetransmitBaseLayer = 0x2,
|
| - kRetransmitHigherLayers = 0x4,
|
| - kRetransmitAllPackets = 0xFF
|
| -};
|
| -
|
| -enum RtxMode {
|
| - kRtxOff = 0x0,
|
| - kRtxRetransmitted = 0x1, // Only send retransmissions over RTX.
|
| - kRtxRedundantPayloads = 0x2 // Preventively send redundant payloads
|
| - // instead of padding.
|
| -};
|
| -
|
| -const size_t kRtxHeaderSize = 2;
|
| -
|
| -struct RTCPSenderInfo
|
| -{
|
| - uint32_t NTPseconds;
|
| - uint32_t NTPfraction;
|
| - uint32_t RTPtimeStamp;
|
| - uint32_t sendPacketCount;
|
| - uint32_t sendOctetCount;
|
| -};
|
| -
|
| -struct RTCPReportBlock {
|
| - RTCPReportBlock()
|
| - : remoteSSRC(0), sourceSSRC(0), fractionLost(0), cumulativeLost(0),
|
| - extendedHighSeqNum(0), jitter(0), lastSR(0),
|
| - delaySinceLastSR(0) {}
|
| -
|
| - RTCPReportBlock(uint32_t remote_ssrc,
|
| - uint32_t source_ssrc,
|
| - uint8_t fraction_lost,
|
| - uint32_t cumulative_lost,
|
| - uint32_t extended_high_sequence_number,
|
| - uint32_t jitter,
|
| - uint32_t last_sender_report,
|
| - uint32_t delay_since_last_sender_report)
|
| - : remoteSSRC(remote_ssrc),
|
| - sourceSSRC(source_ssrc),
|
| - fractionLost(fraction_lost),
|
| - cumulativeLost(cumulative_lost),
|
| - extendedHighSeqNum(extended_high_sequence_number),
|
| - jitter(jitter),
|
| - lastSR(last_sender_report),
|
| - delaySinceLastSR(delay_since_last_sender_report) {}
|
| -
|
| - // Fields as described by RFC 3550 6.4.2.
|
| - uint32_t remoteSSRC; // SSRC of sender of this report.
|
| - uint32_t sourceSSRC; // SSRC of the RTP packet sender.
|
| - uint8_t fractionLost;
|
| - uint32_t cumulativeLost; // 24 bits valid.
|
| - uint32_t extendedHighSeqNum;
|
| - uint32_t jitter;
|
| - uint32_t lastSR;
|
| - uint32_t delaySinceLastSR;
|
| -};
|
| -
|
| -struct RtcpReceiveTimeInfo {
|
| - // Fields as described by RFC 3611 4.5.
|
| - uint32_t sourceSSRC;
|
| - uint32_t lastRR;
|
| - uint32_t delaySinceLastRR;
|
| -};
|
| -
|
| -typedef std::list<RTCPReportBlock> ReportBlockList;
|
| -
|
| -struct RtpState {
|
| - RtpState()
|
| - : sequence_number(0),
|
| - start_timestamp(0),
|
| - timestamp(0),
|
| - capture_time_ms(-1),
|
| - last_timestamp_time_ms(-1),
|
| - media_has_been_sent(false) {}
|
| - uint16_t sequence_number;
|
| - uint32_t start_timestamp;
|
| - uint32_t timestamp;
|
| - int64_t capture_time_ms;
|
| - int64_t last_timestamp_time_ms;
|
| - bool media_has_been_sent;
|
| -};
|
| -
|
| -class RtpData
|
| -{
|
| -public:
|
| - virtual ~RtpData() {}
|
| -
|
| - virtual int32_t OnReceivedPayloadData(
|
| - const uint8_t* payloadData,
|
| - const size_t payloadSize,
|
| - const WebRtcRTPHeader* rtpHeader) = 0;
|
| -
|
| - virtual bool OnRecoveredPacket(const uint8_t* packet,
|
| - size_t packet_length) = 0;
|
| -};
|
| -
|
| -class RtpFeedback
|
| -{
|
| -public:
|
| - virtual ~RtpFeedback() {}
|
| -
|
| - // Receiving payload change or SSRC change. (return success!)
|
| - /*
|
| - * channels - number of channels in codec (1 = mono, 2 = stereo)
|
| - */
|
| - virtual int32_t OnInitializeDecoder(
|
| - const int8_t payloadType,
|
| - const char payloadName[RTP_PAYLOAD_NAME_SIZE],
|
| - const int frequency,
|
| - const uint8_t channels,
|
| - const uint32_t rate) = 0;
|
| -
|
| - virtual void OnIncomingSSRCChanged(const uint32_t ssrc) = 0;
|
| -
|
| - virtual void OnIncomingCSRCChanged(const uint32_t CSRC,
|
| - const bool added) = 0;
|
| -};
|
| -
|
| -class RtpAudioFeedback {
|
| - public:
|
| - virtual void OnPlayTelephoneEvent(const uint8_t event,
|
| - const uint16_t lengthMs,
|
| - const uint8_t volume) = 0;
|
| -
|
| - protected:
|
| - virtual ~RtpAudioFeedback() {}
|
| -};
|
| -
|
| -class RtcpIntraFrameObserver {
|
| - public:
|
| - virtual void OnReceivedIntraFrameRequest(uint32_t ssrc) = 0;
|
| -
|
| - virtual void OnReceivedSLI(uint32_t ssrc,
|
| - uint8_t picture_id) = 0;
|
| -
|
| - virtual void OnReceivedRPSI(uint32_t ssrc,
|
| - uint64_t picture_id) = 0;
|
| -
|
| - virtual void OnLocalSsrcChanged(uint32_t old_ssrc, uint32_t new_ssrc) = 0;
|
| -
|
| - virtual ~RtcpIntraFrameObserver() {}
|
| -};
|
| -
|
| -class RtcpBandwidthObserver {
|
| - public:
|
| - // REMB or TMMBR
|
| - virtual void OnReceivedEstimatedBitrate(uint32_t bitrate) = 0;
|
| -
|
| - virtual void OnReceivedRtcpReceiverReport(
|
| - const ReportBlockList& report_blocks,
|
| - int64_t rtt,
|
| - int64_t now_ms) = 0;
|
| -
|
| - virtual ~RtcpBandwidthObserver() {}
|
| -};
|
| -
|
| -struct PacketInfo {
|
| - PacketInfo(int64_t arrival_time_ms, uint16_t sequence_number)
|
| - : PacketInfo(-1, arrival_time_ms, -1, sequence_number, 0, false) {}
|
| -
|
| - PacketInfo(int64_t arrival_time_ms,
|
| - int64_t send_time_ms,
|
| - uint16_t sequence_number,
|
| - size_t payload_size,
|
| - bool was_paced)
|
| - : PacketInfo(-1,
|
| - arrival_time_ms,
|
| - send_time_ms,
|
| - sequence_number,
|
| - payload_size,
|
| - was_paced) {}
|
| -
|
| - PacketInfo(int64_t creation_time_ms,
|
| - int64_t arrival_time_ms,
|
| - int64_t send_time_ms,
|
| - uint16_t sequence_number,
|
| - size_t payload_size,
|
| - bool was_paced)
|
| - : creation_time_ms(creation_time_ms),
|
| - arrival_time_ms(arrival_time_ms),
|
| - send_time_ms(send_time_ms),
|
| - sequence_number(sequence_number),
|
| - payload_size(payload_size),
|
| - was_paced(was_paced) {}
|
| -
|
| - // Time corresponding to when this object was created.
|
| - int64_t creation_time_ms;
|
| - // Time corresponding to when the packet was received. Timestamped with the
|
| - // receiver's clock.
|
| - int64_t arrival_time_ms;
|
| - // Time corresponding to when the packet was sent, timestamped with the
|
| - // sender's clock.
|
| - int64_t send_time_ms;
|
| - // Packet identifier, incremented with 1 for every packet generated by the
|
| - // sender.
|
| - uint16_t sequence_number;
|
| - // Size of the packet excluding RTP headers.
|
| - size_t payload_size;
|
| - // True if the packet was paced out by the pacer.
|
| - bool was_paced;
|
| -};
|
| -
|
| -class TransportFeedbackObserver {
|
| - public:
|
| - TransportFeedbackObserver() {}
|
| - virtual ~TransportFeedbackObserver() {}
|
| -
|
| - // Note: Transport-wide sequence number as sequence number. Arrival time
|
| - // must be set to 0.
|
| - virtual void AddPacket(uint16_t sequence_number,
|
| - size_t length,
|
| - bool was_paced) = 0;
|
| -
|
| - virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0;
|
| -};
|
| -
|
| -class RtcpRttStats {
|
| - public:
|
| - virtual void OnRttUpdate(int64_t rtt) = 0;
|
| -
|
| - virtual int64_t LastProcessedRtt() const = 0;
|
| -
|
| - virtual ~RtcpRttStats() {};
|
| -};
|
| -
|
| -// Null object version of RtpFeedback.
|
| -class NullRtpFeedback : public RtpFeedback {
|
| - public:
|
| - virtual ~NullRtpFeedback() {}
|
| -
|
| - int32_t OnInitializeDecoder(const int8_t payloadType,
|
| - const char payloadName[RTP_PAYLOAD_NAME_SIZE],
|
| - const int frequency,
|
| - const uint8_t channels,
|
| - const uint32_t rate) override {
|
| - return 0;
|
| - }
|
| -
|
| - void OnIncomingSSRCChanged(const uint32_t ssrc) override {}
|
| - void OnIncomingCSRCChanged(const uint32_t CSRC, const bool added) override {}
|
| -};
|
| -
|
| -// Null object version of RtpData.
|
| -class NullRtpData : public RtpData {
|
| - public:
|
| - virtual ~NullRtpData() {}
|
| -
|
| - int32_t OnReceivedPayloadData(const uint8_t* payloadData,
|
| - const size_t payloadSize,
|
| - const WebRtcRTPHeader* rtpHeader) override {
|
| - return 0;
|
| - }
|
| -
|
| - bool OnRecoveredPacket(const uint8_t* packet, size_t packet_length) override {
|
| - return true;
|
| - }
|
| -};
|
| -
|
| -// Null object version of RtpAudioFeedback.
|
| -class NullRtpAudioFeedback : public RtpAudioFeedback {
|
| - public:
|
| - virtual ~NullRtpAudioFeedback() {}
|
| -
|
| - void OnPlayTelephoneEvent(const uint8_t event,
|
| - const uint16_t lengthMs,
|
| - const uint8_t volume) override {}
|
| -};
|
| -
|
| -// Statistics about packet loss for a single directional connection. All values
|
| -// are totals since the connection initiated.
|
| -struct RtpPacketLossStats {
|
| - // The number of packets lost in events where no adjacent packets were also
|
| - // lost.
|
| - uint64_t single_packet_loss_count;
|
| - // The number of events in which more than one adjacent packet was lost.
|
| - uint64_t multiple_packet_loss_event_count;
|
| - // The number of packets lost in events where more than one adjacent packet
|
| - // was lost.
|
| - uint64_t multiple_packet_loss_packet_count;
|
| -};
|
| -
|
| -class RtpPacketSender {
|
| - public:
|
| - RtpPacketSender() {}
|
| - virtual ~RtpPacketSender() {}
|
| -
|
| - enum Priority {
|
| - kHighPriority = 0, // Pass through; will be sent immediately.
|
| - kNormalPriority = 2, // Put in back of the line.
|
| - kLowPriority = 3, // Put in back of the low priority line.
|
| - };
|
| - // Low priority packets are mixed with the normal priority packets
|
| - // while we are paused.
|
| -
|
| - // Returns true if we send the packet now, else it will add the packet
|
| - // information to the queue and call TimeToSendPacket when it's time to send.
|
| - virtual void InsertPacket(Priority priority,
|
| - uint32_t ssrc,
|
| - uint16_t sequence_number,
|
| - int64_t capture_time_ms,
|
| - size_t bytes,
|
| - bool retransmission) = 0;
|
| -};
|
| -
|
| -class TransportSequenceNumberAllocator {
|
| - public:
|
| - TransportSequenceNumberAllocator() {}
|
| - virtual ~TransportSequenceNumberAllocator() {}
|
| -
|
| - virtual uint16_t AllocateSequenceNumber() = 0;
|
| -};
|
| -
|
| -} // namespace webrtc
|
| -#endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_DEFINES_H_
|
|
|