diff options
Diffstat (limited to 'chromium/third_party/webrtc/video_engine/include/vie_rtp_rtcp.h')
-rw-r--r-- | chromium/third_party/webrtc/video_engine/include/vie_rtp_rtcp.h | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/chromium/third_party/webrtc/video_engine/include/vie_rtp_rtcp.h b/chromium/third_party/webrtc/video_engine/include/vie_rtp_rtcp.h index 9d899ad7f39..972ca58486e 100644 --- a/chromium/third_party/webrtc/video_engine/include/vie_rtp_rtcp.h +++ b/chromium/third_party/webrtc/video_engine/include/vie_rtp_rtcp.h @@ -27,6 +27,7 @@ namespace webrtc { class VideoEngine; +struct ReceiveBandwidthEstimatorStats; // This enumerator sets the RTCP mode. enum ViERTCPMode { @@ -48,11 +49,6 @@ enum StreamType { kViEStreamTypeRtx = 1 // Retransmission media stream }; -enum BandwidthEstimationMode { - kViEMultiStreamEstimation, - kViESingleStreamEstimation -}; - // This class declares an abstract interface for a user defined observer. It is // up to the VideoEngine user to implement a derived class which implements the // observer class. The observer is registered using RegisterRTPObserver() and @@ -138,6 +134,15 @@ class WEBRTC_DLLEXPORT ViERTP_RTCP { virtual int SetRtxSendPayloadType(const int video_channel, const uint8_t payload_type) = 0; + // This enables sending redundant payloads when padding up the bitrate instead + // of sending dummy padding packets. This feature is off by default and will + // only have an effect if RTX is also enabled. + // TODO(holmer): Remove default implementation once this has been implemented + // in libjingle. + virtual int SetPadWithRedundantPayloads(int video_channel, bool enable) { + return 0; + } + virtual int SetRtxReceivePayloadType(const int video_channel, const uint8_t payload_type) = 0; @@ -265,6 +270,22 @@ class WEBRTC_DLLEXPORT ViERTP_RTCP { virtual int SetTransmissionSmoothingStatus(int video_channel, bool enable) = 0; + // Sets a minimal bitrate which will be padded to when the encoder doesn't + // produce enough bitrate. + // TODO(pbos): Remove default implementation when libjingle's + // FakeWebRtcVideoEngine is updated. + virtual int SetMinTransmitBitrate(int video_channel, + int min_transmit_bitrate_kbps) { + return -1; + }; + + // Set a constant amount to deduct from received bitrate estimates before + // using it to allocate capacity among outgoing video streams. + virtual int SetReservedTransmitBitrate( + int video_channel, unsigned int reserved_transmit_bitrate_bps) { + return 0; + } + // This function returns our locally created statistics of the received RTP // stream. virtual int GetReceiveChannelRtcpStatistics(const int video_channel, @@ -359,6 +380,14 @@ class WEBRTC_DLLEXPORT ViERTP_RTCP { virtual int DeregisterReceiveChannelRtpStatisticsCallback( int video_channel, StreamDataCountersCallback* callback) = 0; + + // Gets sent and received RTCP packet types. + // TODO(asapersson): Remove default implementation. + virtual int GetRtcpPacketTypeCounters( + int video_channel, + RtcpPacketTypeCounter* packets_sent, + RtcpPacketTypeCounter* packets_received) const { return -1; } + // The function gets bandwidth usage statistics from the sent RTP streams in // bits/s. virtual int GetBandwidthUsage(const int video_channel, @@ -389,6 +418,20 @@ class WEBRTC_DLLEXPORT ViERTP_RTCP { const int video_channel, unsigned int* estimated_bandwidth) const = 0; + // This function gets the receive-side bandwidth esitmator statistics. + // TODO(jiayl): remove the default impl when libjingle's FakeWebRtcVideoEngine + // is updated. + virtual int GetReceiveBandwidthEstimatorStats( + const int video_channel, + ReceiveBandwidthEstimatorStats* output) const { return -1; } + + // This function gets the PacedSender queuing delay for the last sent frame. + // TODO(jiayl): remove the default impl when libjingle is updated. + virtual int GetPacerQueuingDelayMs( + const int video_channel, int* delay_ms) const { + return -1; + } + // This function enables capturing of RTP packets to a binary file on a // specific channel and for a given direction. The file can later be // replayed using e.g. RTP Tools rtpplay since the binary file format is |