Index: content/renderer/media_recorder/video_track_recorder.cc |
diff --git a/content/renderer/media_recorder/video_track_recorder.cc b/content/renderer/media_recorder/video_track_recorder.cc |
index 8b7477374e1b9ae67e0d3a51dca4ddb0efdde62d..6ea98944edc1032d45e908ebfe1117d4ebf00fb9 100644 |
--- a/content/renderer/media_recorder/video_track_recorder.cc |
+++ b/content/renderer/media_recorder/video_track_recorder.cc |
@@ -327,6 +327,16 @@ VideoTrackRecorder::CodecId VideoTrackRecorder::GetPreferredCodecId() { |
return GetCodecEnumerator()->GetPreferredCodecId(); |
} |
+// static |
+bool VideoTrackRecorder::IsEncodingLikelyAccelerated(CodecId codec, |
+ size_t width, |
+ size_t height) { |
+ return GetCodecEnumerator()->CodecIdToVEAProfile(codec) != |
+ media::VIDEO_CODEC_PROFILE_UNKNOWN && |
+ width >= kVEAEncoderMinResolutionWidth && |
+ height >= kVEAEncoderMinResolutionHeight; |
+} |
+ |
VideoTrackRecorder::VideoTrackRecorder( |
CodecId codec, |
const blink::WebMediaStreamTrack& track, |
@@ -405,17 +415,15 @@ void VideoTrackRecorder::InitializeEncoder( |
MediaStreamVideoSink::DisconnectFromTrack(); |
const gfx::Size& input_size = frame->visible_rect().size(); |
- const auto& vea_supported_profile = |
- GetCodecEnumerator()->CodecIdToVEAProfile(codec); |
if (allow_vea_encoder && |
- vea_supported_profile != media::VIDEO_CODEC_PROFILE_UNKNOWN && |
- input_size.width() >= kVEAEncoderMinResolutionWidth && |
- input_size.height() >= kVEAEncoderMinResolutionHeight) { |
+ IsEncodingLikelyAccelerated(codec, input_size.width(), |
emircan
2017/04/25 02:04:30
This serves as a decision mechanism of accelerated
mcasas
2017/04/25 18:16:07
CanUseAcceleratedEncoder() ?
|
+ input_size.height())) { |
+ const auto vea_profile = GetCodecEnumerator()->CodecIdToVEAProfile(codec); |
encoder_ = new VEAEncoder( |
on_encoded_video_callback, |
media::BindToCurrentLoop(base::Bind(&VideoTrackRecorder::OnError, |
weak_ptr_factory_.GetWeakPtr())), |
- bits_per_second, vea_supported_profile, input_size); |
+ bits_per_second, vea_profile, input_size); |
} else { |
switch (codec) { |
#if BUILDFLAG(RTC_USE_H264) |