Chromium Code Reviews| Index: content/renderer/media/video_track_recorder.cc |
| diff --git a/content/renderer/media/video_track_recorder.cc b/content/renderer/media/video_track_recorder.cc |
| index 011c633e3d1e90f8db0bf692b6185ad8c67ff4b1..6f40477193ddfc71a54973b54a076d57b45f8560 100644 |
| --- a/content/renderer/media/video_track_recorder.cc |
| +++ b/content/renderer/media/video_track_recorder.cc |
| @@ -1075,6 +1075,30 @@ void H264Encoder::ConfigureEncoderOnEncodingTaskRunner(const gfx::Size& size) { |
| } // anonymous namespace |
| +// static |
| +VideoTrackRecorder::CodecId VideoTrackRecorder::GetPreferredCodec() { |
| + CodecId codec_id = CodecId::VP8; |
| + while (codec_id != VideoTrackRecorder::CodecId::LAST) { |
| + if (CodecIdToVEAProfile(codec_id) != media::VIDEO_CODEC_PROFILE_UNKNOWN) |
|
emircan
2017/01/11 18:01:58
We end up calling CodecIdToVEAProfile() at least 3
mcasas
2017/01/11 21:40:48
Ok, you convinced me to cut deeper and made a sing
|
| + return codec_id; |
| + |
| + switch (codec_id) { |
|
chfremer
2017/01/11 17:34:52
Why not use a for-loop to check a fixed list of ca
mcasas
2017/01/11 21:40:48
I wanted to have a compiler-enforced way to guaran
|
| + case CodecId::VP8: |
| + codec_id = CodecId::VP9; |
| + break; |
| + case CodecId::VP9: |
| + codec_id = CodecId::H264; |
| + break; |
| + case CodecId::H264: |
| + codec_id = CodecId::LAST; |
| + break; |
| + case CodecId::LAST: |
| + NOTREACHED(); |
| + } |
| + } |
| + return CodecId::VP8; |
| +} |
| + |
| VideoTrackRecorder::VideoTrackRecorder( |
| CodecId codec, |
| const blink::WebMediaStreamTrack& track, |