Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: webrtc/voice_engine/channel.h

Issue 2638083002: Attach TransportFeedbackPacketLossTracker to ANA (PLR only) (Closed)
Patch Set: Fix UT Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698