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 16 matching lines...) Expand all Loading... |
27 #include "webrtc/modules/rtp_rtcp/include/remote_ntp_time_estimator.h" | 27 #include "webrtc/modules/rtp_rtcp/include/remote_ntp_time_estimator.h" |
28 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" | 28 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" |
29 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h" | 29 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h" |
30 #include "webrtc/voice_engine/file_player.h" | 30 #include "webrtc/voice_engine/file_player.h" |
31 #include "webrtc/voice_engine/file_recorder.h" | 31 #include "webrtc/voice_engine/file_recorder.h" |
32 #include "webrtc/voice_engine/include/voe_audio_processing.h" | 32 #include "webrtc/voice_engine/include/voe_audio_processing.h" |
33 #include "webrtc/voice_engine/include/voe_base.h" | 33 #include "webrtc/voice_engine/include/voe_base.h" |
34 #include "webrtc/voice_engine/include/voe_network.h" | 34 #include "webrtc/voice_engine/include/voe_network.h" |
35 #include "webrtc/voice_engine/level_indicator.h" | 35 #include "webrtc/voice_engine/level_indicator.h" |
36 #include "webrtc/voice_engine/shared_data.h" | 36 #include "webrtc/voice_engine/shared_data.h" |
| 37 #include "webrtc/voice_engine/transport_feedback_packet_loss_tracker.h" |
37 #include "webrtc/voice_engine/voice_engine_defines.h" | 38 #include "webrtc/voice_engine/voice_engine_defines.h" |
38 | 39 |
39 namespace rtc { | 40 namespace rtc { |
40 class TimestampWrapAroundHandler; | 41 class TimestampWrapAroundHandler; |
41 } | 42 } |
42 | 43 |
43 namespace webrtc { | 44 namespace webrtc { |
44 | 45 |
45 class AudioDeviceModule; | 46 class AudioDeviceModule; |
46 class FileWrapper; | 47 class FileWrapper; |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 | 414 |
414 // Set a RtcEventLog logging object. | 415 // Set a RtcEventLog logging object. |
415 void SetRtcEventLog(RtcEventLog* event_log); | 416 void SetRtcEventLog(RtcEventLog* event_log); |
416 | 417 |
417 void SetRtcpRttStats(RtcpRttStats* rtcp_rtt_stats); | 418 void SetRtcpRttStats(RtcpRttStats* rtcp_rtt_stats); |
418 void SetTransportOverhead(size_t transport_overhead_per_packet); | 419 void SetTransportOverhead(size_t transport_overhead_per_packet); |
419 | 420 |
420 // From OverheadObserver in the RTP/RTCP module | 421 // From OverheadObserver in the RTP/RTCP module |
421 void OnOverheadChanged(size_t overhead_bytes_per_packet) override; | 422 void OnOverheadChanged(size_t overhead_bytes_per_packet) override; |
422 | 423 |
| 424 void HandleTransportFeedback( |
| 425 const std::vector<uint16_t>& packets_sent_since_last_feedback, |
| 426 const rtcp::TransportFeedback& feedback); |
| 427 |
423 protected: | 428 protected: |
424 void OnIncomingFractionLoss(int fraction_lost); | 429 void OnIncomingFractionLoss(int fraction_lost); |
425 | 430 |
426 private: | 431 private: |
427 bool ReceivePacket(const uint8_t* packet, | 432 bool ReceivePacket(const uint8_t* packet, |
428 size_t packet_length, | 433 size_t packet_length, |
429 const RTPHeader& header, | 434 const RTPHeader& header, |
430 bool in_order); | 435 bool in_order); |
431 bool HandleRtxPacket(const uint8_t* packet, | 436 bool HandleRtxPacket(const uint8_t* packet, |
432 size_t packet_length, | 437 size_t packet_length, |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 | 552 |
548 bool pacing_enabled_; | 553 bool pacing_enabled_; |
549 PacketRouter* packet_router_ = nullptr; | 554 PacketRouter* packet_router_ = nullptr; |
550 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_; | 555 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_; |
551 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_; | 556 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_; |
552 std::unique_ptr<RtpPacketSenderProxy> rtp_packet_sender_proxy_; | 557 std::unique_ptr<RtpPacketSenderProxy> rtp_packet_sender_proxy_; |
553 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; | 558 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; |
554 | 559 |
555 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. | 560 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. |
556 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; | 561 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; |
| 562 |
| 563 bool use_twcc_plr_for_ana_; |
| 564 TransportFeedbackPacketLossTracker packet_loss_tracker_; |
557 }; | 565 }; |
558 | 566 |
559 } // namespace voe | 567 } // namespace voe |
560 } // namespace webrtc | 568 } // namespace webrtc |
561 | 569 |
562 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ | 570 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ |
OLD | NEW |