| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 virtual int GetLocalSSRC(int channel, unsigned int& ssrc) = 0; | 117 virtual int GetLocalSSRC(int channel, unsigned int& ssrc) = 0; |
| 118 | 118 |
| 119 // Gets the SSRC of the incoming RTP packets. | 119 // Gets the SSRC of the incoming RTP packets. |
| 120 virtual int GetRemoteSSRC(int channel, unsigned int& ssrc) = 0; | 120 virtual int GetRemoteSSRC(int channel, unsigned int& ssrc) = 0; |
| 121 | 121 |
| 122 // Sets the status of rtp-audio-level-indication on a specific |channel|. | 122 // Sets the status of rtp-audio-level-indication on a specific |channel|. |
| 123 virtual int SetSendAudioLevelIndicationStatus(int channel, | 123 virtual int SetSendAudioLevelIndicationStatus(int channel, |
| 124 bool enable, | 124 bool enable, |
| 125 unsigned char id = 1) = 0; | 125 unsigned char id = 1) = 0; |
| 126 | 126 |
| 127 // Sets the status of receiving rtp-audio-level-indication on a specific | |
| 128 // |channel|. | |
| 129 virtual int SetReceiveAudioLevelIndicationStatus(int channel, | |
| 130 bool enable, | |
| 131 unsigned char id = 1) { | |
| 132 // TODO(wu): Remove default implementation once talk is updated. | |
| 133 return 0; | |
| 134 } | |
| 135 | |
| 136 // Sets the RTCP status on a specific |channel|. | 127 // Sets the RTCP status on a specific |channel|. |
| 137 virtual int SetRTCPStatus(int channel, bool enable) = 0; | 128 virtual int SetRTCPStatus(int channel, bool enable) = 0; |
| 138 | 129 |
| 139 // Gets the RTCP status on a specific |channel|. | 130 // Gets the RTCP status on a specific |channel|. |
| 140 virtual int GetRTCPStatus(int channel, bool& enabled) = 0; | 131 virtual int GetRTCPStatus(int channel, bool& enabled) = 0; |
| 141 | 132 |
| 142 // Sets the canonical name (CNAME) parameter for RTCP reports on a | 133 // Sets the canonical name (CNAME) parameter for RTCP reports on a |
| 143 // specific |channel|. | 134 // specific |channel|. |
| 144 virtual int SetRTCP_CNAME(int channel, const char cName[256]) = 0; | 135 virtual int SetRTCP_CNAME(int channel, const char cName[256]) = 0; |
| 145 | 136 |
| 146 // TODO(holmer): Remove this API once it has been removed from | |
| 147 // fakewebrtcvoiceengine.h. | |
| 148 virtual int GetRTCP_CNAME(int channel, char cName[256]) { return -1; } | |
| 149 | |
| 150 // Gets the canonical name (CNAME) parameter for incoming RTCP reports | 137 // Gets the canonical name (CNAME) parameter for incoming RTCP reports |
| 151 // on a specific channel. | 138 // on a specific channel. |
| 152 virtual int GetRemoteRTCP_CNAME(int channel, char cName[256]) = 0; | 139 virtual int GetRemoteRTCP_CNAME(int channel, char cName[256]) = 0; |
| 153 | 140 |
| 154 // Gets RTCP data from incoming RTCP Sender Reports. | |
| 155 virtual int GetRemoteRTCPData(int channel, | |
| 156 unsigned int& NTPHigh, | |
| 157 unsigned int& NTPLow, | |
| 158 unsigned int& timestamp, | |
| 159 unsigned int& playoutTimestamp, | |
| 160 unsigned int* jitter = NULL, | |
| 161 unsigned short* fractionLost = NULL) = 0; | |
| 162 | |
| 163 // Gets RTP statistics for a specific |channel|. | |
| 164 virtual int GetRTPStatistics(int channel, | |
| 165 unsigned int& averageJitterMs, | |
| 166 unsigned int& maxJitterMs, | |
| 167 unsigned int& discardedPackets) = 0; | |
| 168 | |
| 169 // Gets RTCP statistics for a specific |channel|. | 141 // Gets RTCP statistics for a specific |channel|. |
| 170 virtual int GetRTCPStatistics(int channel, CallStatistics& stats) = 0; | 142 virtual int GetRTCPStatistics(int channel, CallStatistics& stats) = 0; |
| 171 | 143 |
| 172 // Gets the report block parts of the last received RTCP Sender Report (SR), | |
| 173 // or RTCP Receiver Report (RR) on a specified |channel|. Each vector | |
| 174 // element also contains the SSRC of the sender in addition to a report | |
| 175 // block. | |
| 176 virtual int GetRemoteRTCPReportBlocks( | |
| 177 int channel, | |
| 178 std::vector<ReportBlock>* receive_blocks) = 0; | |
| 179 | |
| 180 // This function enables Negative Acknowledgment (NACK) using RTCP, | |
| 181 // implemented based on RFC 4585. NACK retransmits RTP packets if lost on | |
| 182 // the network. This creates a lossless transport at the expense of delay. | |
| 183 // If using NACK, NACK should be enabled on both endpoints in a call. | |
| 184 virtual int SetNACKStatus(int channel, bool enable, int maxNoPackets) = 0; | |
| 185 | |
| 186 protected: | 144 protected: |
| 187 VoERTP_RTCP() {} | 145 VoERTP_RTCP() {} |
| 188 virtual ~VoERTP_RTCP() {} | 146 virtual ~VoERTP_RTCP() {} |
| 189 }; | 147 }; |
| 190 | 148 |
| 191 } // namespace webrtc | 149 } // namespace webrtc |
| 192 | 150 |
| 193 #endif // #ifndef WEBRTC_VOICE_ENGINE_VOE_RTP_RTCP_H | 151 #endif // #ifndef WEBRTC_VOICE_ENGINE_VOE_RTP_RTCP_H |
| OLD | NEW |