Commit f2b80dd2 authored by Sergey Silkin's avatar Sergey Silkin Committed by Commit Bot

Don't require SW H264 on android.

- Don't require availability of SW H264 (webrtc_h264_sw_enabled) on
android. Allow H264 processing with HW only.

- Don't pass SW encoder factory to SEA if SW encoder of given type
is not available.

Bug: webrtc:11244, 1046501, 599650
Change-Id: I96991c9f40402d6dd723b10fd272b2dfe3120af1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2027848Reviewed-by: default avatarHarald Alvestrand <hta@chromium.org>
Reviewed-by: default avatarMiguel Casas <mcasas@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#737396}
parent 2d3cb03f
......@@ -33,6 +33,7 @@ base::Optional<webrtc::SdpVideoFormat> VEAToWebRTCFormat(
}
if (profile.profile >= media::H264PROFILE_MIN &&
profile.profile <= media::H264PROFILE_MAX) {
#if !defined(OS_ANDROID)
// Enable H264 HW encode for WebRTC when SW fallback is available, which is
// checked by kWebRtcH264WithOpenH264FFmpeg flag. This check should be
// removed when SW implementation is fully enabled.
......@@ -43,6 +44,7 @@ base::Optional<webrtc::SdpVideoFormat> VEAToWebRTCFormat(
#endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
if (!webrtc_h264_sw_enabled)
return base::nullopt;
#endif
webrtc::H264::Profile h264_profile;
switch (profile.profile) {
......
......@@ -127,7 +127,11 @@ class EncoderAdapter : public webrtc::VideoEncoderFactory {
if (!supported_in_hardware || !hardware_encoder_factory_.get()) {
return std::make_unique<webrtc::SimulcastEncoderAdapter>(
&software_encoder_factory_, nullptr, format);
} else if (!supported_in_software) {
return std::make_unique<webrtc::SimulcastEncoderAdapter>(
hardware_encoder_factory_.get(), nullptr, format);
}
return std::make_unique<webrtc::SimulcastEncoderAdapter>(
hardware_encoder_factory_.get(), &software_encoder_factory_, format);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment