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 15 matching lines...) Expand all Loading... | |
26 #include "webrtc/modules/audio_processing/rms_level.h" | 26 #include "webrtc/modules/audio_processing/rms_level.h" |
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/audio_level.h" | 30 #include "webrtc/voice_engine/audio_level.h" |
31 #include "webrtc/voice_engine/file_player.h" | 31 #include "webrtc/voice_engine/file_player.h" |
32 #include "webrtc/voice_engine/file_recorder.h" | 32 #include "webrtc/voice_engine/file_recorder.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/shared_data.h" | 35 #include "webrtc/voice_engine/shared_data.h" |
36 #include "webrtc/voice_engine/transport_feedback_packet_loss_tracker.h" | |
36 #include "webrtc/voice_engine/voice_engine_defines.h" | 37 #include "webrtc/voice_engine/voice_engine_defines.h" |
37 | 38 |
38 namespace rtc { | 39 namespace rtc { |
39 class TimestampWrapAroundHandler; | 40 class TimestampWrapAroundHandler; |
40 } | 41 } |
41 | 42 |
42 namespace webrtc { | 43 namespace webrtc { |
43 | 44 |
44 class AudioDeviceModule; | 45 class AudioDeviceModule; |
45 class FileWrapper; | 46 class FileWrapper; |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
369 | 370 |
370 // Set a RtcEventLog logging object. | 371 // Set a RtcEventLog logging object. |
371 void SetRtcEventLog(RtcEventLog* event_log); | 372 void SetRtcEventLog(RtcEventLog* event_log); |
372 | 373 |
373 void SetRtcpRttStats(RtcpRttStats* rtcp_rtt_stats); | 374 void SetRtcpRttStats(RtcpRttStats* rtcp_rtt_stats); |
374 void SetTransportOverhead(size_t transport_overhead_per_packet); | 375 void SetTransportOverhead(size_t transport_overhead_per_packet); |
375 | 376 |
376 // From OverheadObserver in the RTP/RTCP module | 377 // From OverheadObserver in the RTP/RTCP module |
377 void OnOverheadChanged(size_t overhead_bytes_per_packet) override; | 378 void OnOverheadChanged(size_t overhead_bytes_per_packet) override; |
378 | 379 |
380 // Note: The existence of this function alongside OnUplinkPacketLossRate is | |
381 // a compromise. We want the encoder to be agnostic of the PLR source, but | |
382 // we also don't want it to receive conflicting information from TWCC and | |
383 // from RTCP-XR. | |
384 void OnTwccBasedUplinkPacketLossRate( | |
385 const rtc::Optional<float>& packet_loss_rate); | |
minyue-webrtc
2017/03/17 09:20:32
I think the arg should be "float packet_loss_rate"
elad.alon_webrtc.org
2017/03/17 10:10:33
An unknown is possible when a new feedback arrives
| |
386 | |
379 protected: | 387 protected: |
380 void OnIncomingFractionLoss(int fraction_lost); | 388 void OnUplinkPacketLossRate(float packet_loss_rate); |
381 | 389 |
382 private: | 390 private: |
383 bool InputMute() const; | 391 bool InputMute() const; |
384 bool OnRtpPacketWithHeader(const uint8_t* received_packet, | 392 bool OnRtpPacketWithHeader(const uint8_t* received_packet, |
385 size_t length, | 393 size_t length, |
386 RTPHeader *header); | 394 RTPHeader *header); |
387 bool ReceivePacket(const uint8_t* packet, | 395 bool ReceivePacket(const uint8_t* packet, |
388 size_t packet_length, | 396 size_t packet_length, |
389 const RTPHeader& header, | 397 const RTPHeader& header, |
390 bool in_order); | 398 bool in_order); |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
497 | 505 |
498 bool pacing_enabled_; | 506 bool pacing_enabled_; |
499 PacketRouter* packet_router_ = nullptr; | 507 PacketRouter* packet_router_ = nullptr; |
500 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_; | 508 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_; |
501 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_; | 509 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_; |
502 std::unique_ptr<RtpPacketSenderProxy> rtp_packet_sender_proxy_; | 510 std::unique_ptr<RtpPacketSenderProxy> rtp_packet_sender_proxy_; |
503 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; | 511 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; |
504 | 512 |
505 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. | 513 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. |
506 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; | 514 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; |
515 | |
516 const bool use_twcc_plr_for_ana_; | |
507 }; | 517 }; |
508 | 518 |
509 } // namespace voe | 519 } // namespace voe |
510 } // namespace webrtc | 520 } // namespace webrtc |
511 | 521 |
512 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ | 522 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ |
OLD | NEW |