| 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 |
| 11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ | 11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ |
| 12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ | 12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ |
| 13 | 13 |
| 14 #include <memory> |
| 14 #include <set> | 15 #include <set> |
| 15 #include <utility> | 16 #include <utility> |
| 16 #include <vector> | 17 #include <vector> |
| 17 | 18 |
| 18 #include "webrtc/base/criticalsection.h" | 19 #include "webrtc/base/criticalsection.h" |
| 19 #include "webrtc/base/gtest_prod_util.h" | 20 #include "webrtc/base/gtest_prod_util.h" |
| 20 #include "webrtc/base/optional.h" | 21 #include "webrtc/base/optional.h" |
| 21 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h" | 22 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h" |
| 22 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" | 23 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
| 23 #include "webrtc/modules/rtp_rtcp/source/packet_loss_stats.h" | 24 #include "webrtc/modules/rtp_rtcp/source/packet_loss_stats.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 const std::vector<uint16_t>& nack_sequence_numbers) override; | 301 const std::vector<uint16_t>& nack_sequence_numbers) override; |
| 301 void OnReceivedRtcpReportBlocks( | 302 void OnReceivedRtcpReportBlocks( |
| 302 const ReportBlockList& report_blocks) override; | 303 const ReportBlockList& report_blocks) override; |
| 303 void OnRequestSendReport() override; | 304 void OnRequestSendReport() override; |
| 304 | 305 |
| 305 void SetVideoBitrateAllocation(const BitrateAllocation& bitrate) override; | 306 void SetVideoBitrateAllocation(const BitrateAllocation& bitrate) override; |
| 306 | 307 |
| 307 protected: | 308 protected: |
| 308 bool UpdateRTCPReceiveInformationTimers(); | 309 bool UpdateRTCPReceiveInformationTimers(); |
| 309 | 310 |
| 310 RTPSender* rtp_sender() { return &rtp_sender_; } | 311 RTPSender* rtp_sender() { return rtp_sender_.get(); } |
| 311 const RTPSender* rtp_sender() const { return &rtp_sender_; } | 312 const RTPSender* rtp_sender() const { return rtp_sender_.get(); } |
| 312 | 313 |
| 313 RTCPSender* rtcp_sender() { return &rtcp_sender_; } | 314 RTCPSender* rtcp_sender() { return &rtcp_sender_; } |
| 314 const RTCPSender* rtcp_sender() const { return &rtcp_sender_; } | 315 const RTCPSender* rtcp_sender() const { return &rtcp_sender_; } |
| 315 | 316 |
| 316 RTCPReceiver* rtcp_receiver() { return &rtcp_receiver_; } | 317 RTCPReceiver* rtcp_receiver() { return &rtcp_receiver_; } |
| 317 const RTCPReceiver* rtcp_receiver() const { return &rtcp_receiver_; } | 318 const RTCPReceiver* rtcp_receiver() const { return &rtcp_receiver_; } |
| 318 | 319 |
| 319 const Clock* clock() const { return clock_; } | 320 const Clock* clock() const { return clock_; } |
| 320 | 321 |
| 321 private: | 322 private: |
| 322 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, Rtt); | 323 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, Rtt); |
| 323 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, RttForReceiverOnly); | 324 FRIEND_TEST_ALL_PREFIXES(RtpRtcpImplTest, RttForReceiverOnly); |
| 324 int64_t RtcpReportInterval(); | 325 int64_t RtcpReportInterval(); |
| 325 void SetRtcpReceiverSsrcs(uint32_t main_ssrc); | 326 void SetRtcpReceiverSsrcs(uint32_t main_ssrc); |
| 326 | 327 |
| 327 void set_rtt_ms(int64_t rtt_ms); | 328 void set_rtt_ms(int64_t rtt_ms); |
| 328 int64_t rtt_ms() const; | 329 int64_t rtt_ms() const; |
| 329 | 330 |
| 330 bool TimeToSendFullNackList(int64_t now) const; | 331 bool TimeToSendFullNackList(int64_t now) const; |
| 331 | 332 |
| 332 RTPSender rtp_sender_; | 333 std::unique_ptr<RTPSender> rtp_sender_; |
| 333 RTCPSender rtcp_sender_; | 334 RTCPSender rtcp_sender_; |
| 334 RTCPReceiver rtcp_receiver_; | 335 RTCPReceiver rtcp_receiver_; |
| 335 | 336 |
| 336 const Clock* const clock_; | 337 const Clock* const clock_; |
| 337 | 338 |
| 338 const bool audio_; | 339 const bool audio_; |
| 339 int64_t last_process_time_; | 340 int64_t last_process_time_; |
| 340 int64_t last_bitrate_process_time_; | 341 int64_t last_bitrate_process_time_; |
| 341 int64_t last_rtt_process_time_; | 342 int64_t last_rtt_process_time_; |
| 342 uint16_t packet_overhead_; | 343 uint16_t packet_overhead_; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 356 PacketLossStats receive_loss_stats_; | 357 PacketLossStats receive_loss_stats_; |
| 357 | 358 |
| 358 // The processed RTT from RtcpRttStats. | 359 // The processed RTT from RtcpRttStats. |
| 359 rtc::CriticalSection critical_section_rtt_; | 360 rtc::CriticalSection critical_section_rtt_; |
| 360 int64_t rtt_ms_; | 361 int64_t rtt_ms_; |
| 361 }; | 362 }; |
| 362 | 363 |
| 363 } // namespace webrtc | 364 } // namespace webrtc |
| 364 | 365 |
| 365 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ | 366 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_RTCP_IMPL_H_ |
| OLD | NEW |