| Index: webrtc/media/engine/videoencodersoftwarefallbackwrapper.cc
|
| diff --git a/webrtc/media/engine/videoencodersoftwarefallbackwrapper.cc b/webrtc/media/engine/videoencodersoftwarefallbackwrapper.cc
|
| index 2bc74a7e724578392b6bf4f544bdc2c1c76da0dd..540597838a9058bd187f76eac5bfc9d6baf9aafc 100644
|
| --- a/webrtc/media/engine/videoencodersoftwarefallbackwrapper.cc
|
| +++ b/webrtc/media/engine/videoencodersoftwarefallbackwrapper.cc
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "webrtc/media/engine/videoencodersoftwarefallbackwrapper.h"
|
|
|
| +#include "webrtc/media/base/h264_profile_level_id.h"
|
| #include "webrtc/media/engine/internalencoderfactory.h"
|
| #include "webrtc/modules/video_coding/include/video_error_codes.h"
|
| #include "webrtc/rtc_base/checks.h"
|
| @@ -89,6 +90,7 @@ VideoEncoderSoftwareFallbackWrapper::VideoEncoderSoftwareFallbackWrapper(
|
| }
|
|
|
| bool VideoEncoderSoftwareFallbackWrapper::InitFallbackEncoder() {
|
| + MaybeModifyCodecForFallback();
|
| cricket::InternalEncoderFactory internal_factory;
|
| if (!FindMatchingCodec(internal_factory.supported_codecs(), codec_)) {
|
| LOG(LS_WARNING)
|
| @@ -355,4 +357,13 @@ bool VideoEncoderSoftwareFallbackWrapper::ForcedFallbackParams::ShouldStop(
|
| (codec.width * codec.height >= kMinPixelsStop);
|
| }
|
|
|
| +void VideoEncoderSoftwareFallbackWrapper::MaybeModifyCodecForFallback() {
|
| + // We have a specific case for H264 ConstrainedBaseline because that is the
|
| + // only supported profile in Sw fallback.
|
| + if (!cricket::CodecNamesEq(codec_.name.c_str(), cricket::kH264CodecName))
|
| + return;
|
| + codec_.SetParam(cricket::kH264FmtpProfileLevelId,
|
| + cricket::kH264ProfileLevelConstrainedBaseline);
|
| +}
|
| +
|
| } // namespace webrtc
|
|
|