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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 147 |
148 if (config_.rtp.rtx_ssrc) { | 148 if (config_.rtp.rtx_ssrc) { |
149 // Needed for rtp_payload_registry_.RtxEnabled(). | 149 // Needed for rtp_payload_registry_.RtxEnabled(). |
150 rtp_payload_registry_.SetRtxSsrc(config_.rtp.rtx_ssrc); | 150 rtp_payload_registry_.SetRtxSsrc(config_.rtp.rtx_ssrc); |
151 } | 151 } |
152 | 152 |
153 if (IsUlpfecEnabled()) { | 153 if (IsUlpfecEnabled()) { |
154 VideoCodec ulpfec_codec = {}; | 154 VideoCodec ulpfec_codec = {}; |
155 ulpfec_codec.codecType = kVideoCodecULPFEC; | 155 ulpfec_codec.codecType = kVideoCodecULPFEC; |
156 strncpy(ulpfec_codec.plName, "ulpfec", sizeof(ulpfec_codec.plName)); | 156 strncpy(ulpfec_codec.plName, "ulpfec", sizeof(ulpfec_codec.plName)); |
157 ulpfec_codec.plType = config_.rtp.ulpfec.ulpfec_payload_type; | 157 ulpfec_codec.plType = config_.rtp.ulpfec_payload_type; |
158 RTC_CHECK(AddReceiveCodec(ulpfec_codec)); | 158 RTC_CHECK(AddReceiveCodec(ulpfec_codec)); |
159 } | 159 } |
160 | 160 |
161 if (IsRedEnabled()) { | 161 if (IsRedEnabled()) { |
162 VideoCodec red_codec = {}; | 162 VideoCodec red_codec = {}; |
163 red_codec.codecType = kVideoCodecRED; | 163 red_codec.codecType = kVideoCodecRED; |
164 strncpy(red_codec.plName, "red", sizeof(red_codec.plName)); | 164 strncpy(red_codec.plName, "red", sizeof(red_codec.plName)); |
165 red_codec.plType = config_.rtp.ulpfec.red_payload_type; | 165 red_codec.plType = config_.rtp.red_payload_type; |
166 RTC_CHECK(AddReceiveCodec(red_codec)); | 166 RTC_CHECK(AddReceiveCodec(red_codec)); |
167 } | 167 } |
168 | 168 |
169 if (config_.rtp.rtcp_xr.receiver_reference_time_report) | 169 if (config_.rtp.rtcp_xr.receiver_reference_time_report) |
170 rtp_rtcp_->SetRtcpXrRrtrStatus(true); | 170 rtp_rtcp_->SetRtcpXrRrtrStatus(true); |
171 | 171 |
172 // Stats callback for CNAME changes. | 172 // Stats callback for CNAME changes. |
173 rtp_rtcp_->RegisterRtcpStatisticsCallback(receive_stats_proxy); | 173 rtp_rtcp_->RegisterRtcpStatisticsCallback(receive_stats_proxy); |
174 | 174 |
175 process_thread_->RegisterModule(rtp_rtcp_.get(), RTC_FROM_HERE); | 175 process_thread_->RegisterModule(rtp_rtcp_.get(), RTC_FROM_HERE); |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 for (RtpPacketSinkInterface* secondary_sink : secondary_sinks_) { | 361 for (RtpPacketSinkInterface* secondary_sink : secondary_sinks_) { |
362 secondary_sink->OnRtpPacket(packet); | 362 secondary_sink->OnRtpPacket(packet); |
363 } | 363 } |
364 } | 364 } |
365 | 365 |
366 int32_t RtpVideoStreamReceiver::RequestKeyFrame() { | 366 int32_t RtpVideoStreamReceiver::RequestKeyFrame() { |
367 return rtp_rtcp_->RequestKeyFrame(); | 367 return rtp_rtcp_->RequestKeyFrame(); |
368 } | 368 } |
369 | 369 |
370 bool RtpVideoStreamReceiver::IsUlpfecEnabled() const { | 370 bool RtpVideoStreamReceiver::IsUlpfecEnabled() const { |
371 return config_.rtp.ulpfec.ulpfec_payload_type != -1; | 371 return config_.rtp.ulpfec_payload_type != -1; |
372 } | 372 } |
373 | 373 |
374 bool RtpVideoStreamReceiver::IsRedEnabled() const { | 374 bool RtpVideoStreamReceiver::IsRedEnabled() const { |
375 return config_.rtp.ulpfec.red_payload_type != -1; | 375 return config_.rtp.red_payload_type != -1; |
376 } | 376 } |
377 | 377 |
378 bool RtpVideoStreamReceiver::IsRetransmissionsEnabled() const { | 378 bool RtpVideoStreamReceiver::IsRetransmissionsEnabled() const { |
379 return config_.rtp.nack.rtp_history_ms > 0; | 379 return config_.rtp.nack.rtp_history_ms > 0; |
380 } | 380 } |
381 | 381 |
382 void RtpVideoStreamReceiver::RequestPacketRetransmit( | 382 void RtpVideoStreamReceiver::RequestPacketRetransmit( |
383 const std::vector<uint16_t>& sequence_numbers) { | 383 const std::vector<uint16_t>& sequence_numbers) { |
384 rtp_rtcp_->SendNack(sequence_numbers); | 384 rtp_rtcp_->SendNack(sequence_numbers); |
385 } | 385 } |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 return; | 673 return; |
674 | 674 |
675 if (!sprop_decoder.DecodeSprop(sprop_base64_it->second.c_str())) | 675 if (!sprop_decoder.DecodeSprop(sprop_base64_it->second.c_str())) |
676 return; | 676 return; |
677 | 677 |
678 tracker_.InsertSpsPpsNalus(sprop_decoder.sps_nalu(), | 678 tracker_.InsertSpsPpsNalus(sprop_decoder.sps_nalu(), |
679 sprop_decoder.pps_nalu()); | 679 sprop_decoder.pps_nalu()); |
680 } | 680 } |
681 | 681 |
682 } // namespace webrtc | 682 } // namespace webrtc |
OLD | NEW |