OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 const PacketTime& packet_time) override; | 95 const PacketTime& packet_time) override; |
96 | 96 |
97 // Implements RecoveredPacketReceiver. | 97 // Implements RecoveredPacketReceiver. |
98 bool OnRecoveredPacket(const uint8_t* packet, size_t length) override; | 98 bool OnRecoveredPacket(const uint8_t* packet, size_t length) override; |
99 | 99 |
100 void SetBitrateConfig( | 100 void SetBitrateConfig( |
101 const webrtc::Call::Config::BitrateConfig& bitrate_config) override; | 101 const webrtc::Call::Config::BitrateConfig& bitrate_config) override; |
102 | 102 |
103 void SignalChannelNetworkState(MediaType media, NetworkState state) override; | 103 void SignalChannelNetworkState(MediaType media, NetworkState state) override; |
104 | 104 |
| 105 void SignalTransportOverheadChange( |
| 106 MediaType media, |
| 107 int transport_overhead_per_packet) override; |
| 108 |
105 void OnNetworkRouteChanged(const std::string& transport_name, | 109 void OnNetworkRouteChanged(const std::string& transport_name, |
106 const rtc::NetworkRoute& network_route) override; | 110 const rtc::NetworkRoute& network_route) override; |
107 | 111 |
108 void OnSentPacket(const rtc::SentPacket& sent_packet) override; | 112 void OnSentPacket(const rtc::SentPacket& sent_packet) override; |
109 | 113 |
110 // Implements BitrateObserver. | 114 // Implements BitrateObserver. |
111 void OnNetworkChanged(uint32_t bitrate_bps, uint8_t fraction_loss, | 115 void OnNetworkChanged(uint32_t bitrate_bps, uint8_t fraction_loss, |
112 int64_t rtt_ms) override; | 116 int64_t rtt_ms) override; |
113 | 117 |
114 // Implements BitrateAllocator::LimitObserver. | 118 // Implements BitrateAllocator::LimitObserver. |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
659 ReadLockScoped read_lock(*receive_crit_); | 663 ReadLockScoped read_lock(*receive_crit_); |
660 for (auto& kv : audio_receive_ssrcs_) { | 664 for (auto& kv : audio_receive_ssrcs_) { |
661 kv.second->SignalNetworkState(audio_network_state_); | 665 kv.second->SignalNetworkState(audio_network_state_); |
662 } | 666 } |
663 for (auto& kv : video_receive_ssrcs_) { | 667 for (auto& kv : video_receive_ssrcs_) { |
664 kv.second->SignalNetworkState(video_network_state_); | 668 kv.second->SignalNetworkState(video_network_state_); |
665 } | 669 } |
666 } | 670 } |
667 } | 671 } |
668 | 672 |
| 673 void Call::SignalTransportOverheadChange(MediaType media, |
| 674 int transport_overhead_per_packet) { |
| 675 switch (media) { |
| 676 case MediaType::AUDIO: { |
| 677 ReadLockScoped read_lock(*send_crit_); |
| 678 for (auto& kv : audio_send_ssrcs_) { |
| 679 kv.second->SetTransportOverhead(transport_overhead_per_packet); |
| 680 } |
| 681 break; |
| 682 } |
| 683 case MediaType::VIDEO: { |
| 684 ReadLockScoped read_lock(*send_crit_); |
| 685 for (auto& kv : video_send_ssrcs_) { |
| 686 kv.second->SetTransportOverhead(transport_overhead_per_packet); |
| 687 } |
| 688 break; |
| 689 } |
| 690 case MediaType::ANY: |
| 691 case MediaType::DATA: |
| 692 RTC_NOTREACHED(); |
| 693 break; |
| 694 } |
| 695 } |
| 696 |
669 // TODO(honghaiz): Add tests for this method. | 697 // TODO(honghaiz): Add tests for this method. |
670 void Call::OnNetworkRouteChanged(const std::string& transport_name, | 698 void Call::OnNetworkRouteChanged(const std::string& transport_name, |
671 const rtc::NetworkRoute& network_route) { | 699 const rtc::NetworkRoute& network_route) { |
672 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); | 700 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); |
673 // Check if the network route is connected. | 701 // Check if the network route is connected. |
674 if (!network_route.connected) { | 702 if (!network_route.connected) { |
675 LOG(LS_INFO) << "Transport " << transport_name << " is disconnected"; | 703 LOG(LS_INFO) << "Transport " << transport_name << " is disconnected"; |
676 // TODO(honghaiz): Perhaps handle this in SignalChannelNetworkState and | 704 // TODO(honghaiz): Perhaps handle this in SignalChannelNetworkState and |
677 // consider merging these two methods. | 705 // consider merging these two methods. |
678 return; | 706 return; |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
952 uint32_t ssrc = ByteReader<uint32_t>::ReadBigEndian(&packet[8]); | 980 uint32_t ssrc = ByteReader<uint32_t>::ReadBigEndian(&packet[8]); |
953 ReadLockScoped read_lock(*receive_crit_); | 981 ReadLockScoped read_lock(*receive_crit_); |
954 auto it = video_receive_ssrcs_.find(ssrc); | 982 auto it = video_receive_ssrcs_.find(ssrc); |
955 if (it == video_receive_ssrcs_.end()) | 983 if (it == video_receive_ssrcs_.end()) |
956 return false; | 984 return false; |
957 return it->second->OnRecoveredPacket(packet, length); | 985 return it->second->OnRecoveredPacket(packet, length); |
958 } | 986 } |
959 | 987 |
960 } // namespace internal | 988 } // namespace internal |
961 } // namespace webrtc | 989 } // namespace webrtc |
OLD | NEW |