Update internal encoder factory to new interface

TBR=stefan@webrtc.org

Bug: webrtc:7925
Change-Id: I0bb97acdf0d58a9ce531ecdd672bb17ef96360df
Reviewed-on: https://webrtc-review.googlesource.com/21162
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20717}
This commit is contained in:
Magnus Jedvert
2017-11-16 16:56:39 +01:00
committed by Commit Bot
parent 1e1dd77604
commit 2c8c8e26fc
14 changed files with 283 additions and 206 deletions

View File

@ -516,11 +516,21 @@ bool MediaCodecVideoEncoder::EncodeTask::Run() {
return false;
}
bool IsFormatSupported(
const std::vector<webrtc::SdpVideoFormat>& supported_formats,
const std::string& name) {
for (const webrtc::SdpVideoFormat& supported_format : supported_formats) {
if (cricket::CodecNamesEq(name, supported_format.name))
return true;
}
return false;
}
bool MediaCodecVideoEncoder::ProcessHWError(
bool reset_if_fallback_unavailable) {
ALOGE << "ProcessHWError";
if (FindMatchingCodec(cricket::InternalEncoderFactory().supported_codecs(),
codec_)) {
if (IsFormatSupported(InternalEncoderFactory().GetSupportedFormats(),
codec_.name)) {
ALOGE << "Fallback to SW encoder.";
sw_fallback_required_ = true;
return false;