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 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 UpdateAggregateNetworkState(); | 695 UpdateAggregateNetworkState(); |
696 delete receive_stream_impl; | 696 delete receive_stream_impl; |
697 } | 697 } |
698 | 698 |
699 FlexfecReceiveStream* Call::CreateFlexfecReceiveStream( | 699 FlexfecReceiveStream* Call::CreateFlexfecReceiveStream( |
700 const FlexfecReceiveStream::Config& config) { | 700 const FlexfecReceiveStream::Config& config) { |
701 TRACE_EVENT0("webrtc", "Call::CreateFlexfecReceiveStream"); | 701 TRACE_EVENT0("webrtc", "Call::CreateFlexfecReceiveStream"); |
702 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); | 702 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); |
703 | 703 |
704 RecoveredPacketReceiver* recovered_packet_receiver = this; | 704 RecoveredPacketReceiver* recovered_packet_receiver = this; |
705 FlexfecReceiveStreamImpl* receive_stream = | 705 FlexfecReceiveStreamImpl* receive_stream = new FlexfecReceiveStreamImpl( |
706 new FlexfecReceiveStreamImpl(config, recovered_packet_receiver); | 706 config, recovered_packet_receiver, call_stats_->rtcp_rtt_stats(), |
| 707 module_process_thread_.get()); |
707 | 708 |
708 { | 709 { |
709 WriteLockScoped write_lock(*receive_crit_); | 710 WriteLockScoped write_lock(*receive_crit_); |
710 | 711 |
711 RTC_DCHECK(flexfec_receive_streams_.find(receive_stream) == | 712 RTC_DCHECK(flexfec_receive_streams_.find(receive_stream) == |
712 flexfec_receive_streams_.end()); | 713 flexfec_receive_streams_.end()); |
713 flexfec_receive_streams_.insert(receive_stream); | 714 flexfec_receive_streams_.insert(receive_stream); |
714 | 715 |
715 for (auto ssrc : config.protected_media_ssrcs) | 716 for (auto ssrc : config.protected_media_ssrcs) |
716 flexfec_receive_ssrcs_media_.insert(std::make_pair(ssrc, receive_stream)); | 717 flexfec_receive_ssrcs_media_.insert(std::make_pair(ssrc, receive_stream)); |
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 return status; | 1159 return status; |
1159 } | 1160 } |
1160 } | 1161 } |
1161 if (media_type == MediaType::ANY || media_type == MediaType::VIDEO) { | 1162 if (media_type == MediaType::ANY || media_type == MediaType::VIDEO) { |
1162 auto it = flexfec_receive_ssrcs_protection_.find(ssrc); | 1163 auto it = flexfec_receive_ssrcs_protection_.find(ssrc); |
1163 if (it != flexfec_receive_ssrcs_protection_.end()) { | 1164 if (it != flexfec_receive_ssrcs_protection_.end()) { |
1164 rtc::Optional<RtpPacketReceived> parsed_packet = | 1165 rtc::Optional<RtpPacketReceived> parsed_packet = |
1165 ParseRtpPacket(packet, length, packet_time); | 1166 ParseRtpPacket(packet, length, packet_time); |
1166 if (parsed_packet) { | 1167 if (parsed_packet) { |
1167 NotifyBweOfReceivedPacket(*parsed_packet); | 1168 NotifyBweOfReceivedPacket(*parsed_packet); |
1168 auto status = | 1169 auto status = it->second->AddAndProcessReceivedPacket(*parsed_packet) |
1169 it->second->AddAndProcessReceivedPacket(std::move(*parsed_packet)) | 1170 ? DELIVERY_OK |
1170 ? DELIVERY_OK | 1171 : DELIVERY_PACKET_ERROR; |
1171 : DELIVERY_PACKET_ERROR; | |
1172 if (status == DELIVERY_OK) | 1172 if (status == DELIVERY_OK) |
1173 event_log_->LogRtpHeader(kIncomingPacket, media_type, packet, length); | 1173 event_log_->LogRtpHeader(kIncomingPacket, media_type, packet, length); |
1174 return status; | 1174 return status; |
1175 } | 1175 } |
1176 } | 1176 } |
1177 } | 1177 } |
1178 return DELIVERY_UNKNOWN_SSRC; | 1178 return DELIVERY_UNKNOWN_SSRC; |
1179 } | 1179 } |
1180 | 1180 |
1181 PacketReceiver::DeliveryStatus Call::DeliverPacket( | 1181 PacketReceiver::DeliveryStatus Call::DeliverPacket( |
(...skipping 24 matching lines...) Expand all Loading... |
1206 | 1206 |
1207 void Call::NotifyBweOfReceivedPacket(const RtpPacketReceived& packet) { | 1207 void Call::NotifyBweOfReceivedPacket(const RtpPacketReceived& packet) { |
1208 RTPHeader header; | 1208 RTPHeader header; |
1209 packet.GetHeader(&header); | 1209 packet.GetHeader(&header); |
1210 congestion_controller_->OnReceivedPacket(packet.arrival_time_ms(), | 1210 congestion_controller_->OnReceivedPacket(packet.arrival_time_ms(), |
1211 packet.payload_size(), header); | 1211 packet.payload_size(), header); |
1212 } | 1212 } |
1213 | 1213 |
1214 } // namespace internal | 1214 } // namespace internal |
1215 } // namespace webrtc | 1215 } // namespace webrtc |
OLD | NEW |