| 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 96cb15c59538018ae513dd08fd64c6216398e6b8..6b46f88c0a11ed7cdb6befe30c80c4f758970c45 100644
|
| --- a/content/renderer/media_recorder/video_track_recorder.cc
|
| +++ b/content/renderer/media_recorder/video_track_recorder.cc
|
| @@ -332,6 +332,16 @@ VideoTrackRecorder::CodecId VideoTrackRecorder::GetPreferredCodecId() {
|
| return GetCodecEnumerator()->GetPreferredCodecId();
|
| }
|
|
|
| +// static
|
| +bool VideoTrackRecorder::CanUseAcceleratedEncoder(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,
|
| @@ -410,17 +420,14 @@ 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) {
|
| + if (allow_vea_encoder && CanUseAcceleratedEncoder(codec, input_size.width(),
|
| + 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)
|
|
|