| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 1720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1731 RTC_DCHECK_RUN_ON(&thread_checker_); | 1731 RTC_DCHECK_RUN_ON(&thread_checker_); |
| 1732 parameters_.encoder_config = CreateVideoEncoderConfig(codec_settings.codec); | 1732 parameters_.encoder_config = CreateVideoEncoderConfig(codec_settings.codec); |
| 1733 RTC_DCHECK_GT(parameters_.encoder_config.number_of_streams, 0u); | 1733 RTC_DCHECK_GT(parameters_.encoder_config.number_of_streams, 0u); |
| 1734 | 1734 |
| 1735 AllocatedEncoder new_encoder = CreateVideoEncoder(codec_settings.codec); | 1735 AllocatedEncoder new_encoder = CreateVideoEncoder(codec_settings.codec); |
| 1736 parameters_.config.encoder_settings.encoder = new_encoder.encoder; | 1736 parameters_.config.encoder_settings.encoder = new_encoder.encoder; |
| 1737 parameters_.config.encoder_settings.full_overuse_time = new_encoder.external; | 1737 parameters_.config.encoder_settings.full_overuse_time = new_encoder.external; |
| 1738 parameters_.config.encoder_settings.payload_name = codec_settings.codec.name; | 1738 parameters_.config.encoder_settings.payload_name = codec_settings.codec.name; |
| 1739 parameters_.config.encoder_settings.payload_type = codec_settings.codec.id; | 1739 parameters_.config.encoder_settings.payload_type = codec_settings.codec.id; |
| 1740 if (new_encoder.external) { | 1740 if (new_encoder.external) { |
| 1741 webrtc::VideoCodecType type = CodecTypeFromName(codec_settings.codec.name); | 1741 webrtc::VideoCodecType type = |
| 1742 webrtc::PayloadNameToCodecType(codec_settings.codec.name) |
| 1743 .value_or(webrtc::kVideoCodecUnknown); |
| 1742 parameters_.config.encoder_settings.internal_source = | 1744 parameters_.config.encoder_settings.internal_source = |
| 1743 external_encoder_factory_->EncoderTypeHasInternalSource(type); | 1745 external_encoder_factory_->EncoderTypeHasInternalSource(type); |
| 1744 } | 1746 } |
| 1745 parameters_.config.rtp.ulpfec = codec_settings.ulpfec; | 1747 parameters_.config.rtp.ulpfec = codec_settings.ulpfec; |
| 1746 | 1748 |
| 1747 // Set RTX payload type if RTX is enabled. | 1749 // Set RTX payload type if RTX is enabled. |
| 1748 if (!parameters_.config.rtp.rtx.ssrcs.empty()) { | 1750 if (!parameters_.config.rtp.rtx.ssrcs.empty()) { |
| 1749 if (codec_settings.rtx_payload_type == -1) { | 1751 if (codec_settings.rtx_payload_type == -1) { |
| 1750 LOG(LS_WARNING) << "RTX SSRCs configured but there's no configured RTX " | 1752 LOG(LS_WARNING) << "RTX SSRCs configured but there's no configured RTX " |
| 1751 "payload type. Ignoring."; | 1753 "payload type. Ignoring."; |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2170 return rtc::Optional<uint32_t>(); | 2172 return rtc::Optional<uint32_t>(); |
| 2171 } else { | 2173 } else { |
| 2172 return rtc::Optional<uint32_t>(primary_ssrcs[0]); | 2174 return rtc::Optional<uint32_t>(primary_ssrcs[0]); |
| 2173 } | 2175 } |
| 2174 } | 2176 } |
| 2175 | 2177 |
| 2176 WebRtcVideoChannel2::WebRtcVideoReceiveStream::AllocatedDecoder | 2178 WebRtcVideoChannel2::WebRtcVideoReceiveStream::AllocatedDecoder |
| 2177 WebRtcVideoChannel2::WebRtcVideoReceiveStream::CreateOrReuseVideoDecoder( | 2179 WebRtcVideoChannel2::WebRtcVideoReceiveStream::CreateOrReuseVideoDecoder( |
| 2178 std::vector<AllocatedDecoder>* old_decoders, | 2180 std::vector<AllocatedDecoder>* old_decoders, |
| 2179 const VideoCodec& codec) { | 2181 const VideoCodec& codec) { |
| 2180 webrtc::VideoCodecType type = CodecTypeFromName(codec.name); | 2182 webrtc::VideoCodecType type = webrtc::PayloadNameToCodecType(codec.name) |
| 2183 .value_or(webrtc::kVideoCodecUnknown); |
| 2181 | 2184 |
| 2182 for (size_t i = 0; i < old_decoders->size(); ++i) { | 2185 for (size_t i = 0; i < old_decoders->size(); ++i) { |
| 2183 if ((*old_decoders)[i].type == type) { | 2186 if ((*old_decoders)[i].type == type) { |
| 2184 AllocatedDecoder decoder = (*old_decoders)[i]; | 2187 AllocatedDecoder decoder = (*old_decoders)[i]; |
| 2185 (*old_decoders)[i] = old_decoders->back(); | 2188 (*old_decoders)[i] = old_decoders->back(); |
| 2186 old_decoders->pop_back(); | 2189 old_decoders->pop_back(); |
| 2187 return decoder; | 2190 return decoder; |
| 2188 } | 2191 } |
| 2189 } | 2192 } |
| 2190 | 2193 |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2548 rtx_mapping[video_codecs[i].codec.id] != | 2551 rtx_mapping[video_codecs[i].codec.id] != |
| 2549 ulpfec_config.red_payload_type) { | 2552 ulpfec_config.red_payload_type) { |
| 2550 video_codecs[i].rtx_payload_type = rtx_mapping[video_codecs[i].codec.id]; | 2553 video_codecs[i].rtx_payload_type = rtx_mapping[video_codecs[i].codec.id]; |
| 2551 } | 2554 } |
| 2552 } | 2555 } |
| 2553 | 2556 |
| 2554 return video_codecs; | 2557 return video_codecs; |
| 2555 } | 2558 } |
| 2556 | 2559 |
| 2557 } // namespace cricket | 2560 } // namespace cricket |
| OLD | NEW |