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 |