Index: content/renderer/media/media_recorder_handler.cc |
diff --git a/content/renderer/media/media_recorder_handler.cc b/content/renderer/media/media_recorder_handler.cc |
index cea6710b159b6332dcdd7feea700c524ba27d134..d505226be056b8b6bf1f876bd0933ea965d5b26d 100644 |
--- a/content/renderer/media/media_recorder_handler.cc |
+++ b/content/renderer/media/media_recorder_handler.cc |
@@ -40,8 +40,12 @@ media::VideoCodec CodecIdToMediaVideoCodec(VideoTrackRecorder::CodecId id) { |
return media::kCodecVP8; |
case VideoTrackRecorder::CodecId::VP9: |
return media::kCodecVP9; |
+#if BUILDFLAG(RTC_USE_H264) |
case VideoTrackRecorder::CodecId::H264: |
return media::kCodecH264; |
+#endif |
+ case VideoTrackRecorder::CodecId::LAST: |
+ return media::kUnknownVideoCodec; |
} |
NOTREACHED() << "Unsupported codec"; |
return media::kUnknownVideoCodec; |
@@ -119,8 +123,7 @@ bool MediaRecorderHandler::initialize( |
UpdateWebRTCMethodCount(WEBKIT_MEDIA_STREAM_RECORDER); |
if (!canSupportMimeType(type, codecs)) { |
- DLOG(ERROR) << "Can't support " << type.utf8() |
- << ";codecs=" << codecs.utf8(); |
+ DLOG(ERROR) << "Unsupported " << type.utf8() << ";codecs=" << codecs.utf8(); |
return false; |
} |
@@ -136,6 +139,11 @@ bool MediaRecorderHandler::initialize( |
else if (codecs_str.find("avc1") != std::string::npos) |
codec_id_ = VideoTrackRecorder::CodecId::H264; |
#endif |
+ else |
+ codec_id_ = VideoTrackRecorder::GetPreferredCodecId(); |
+ |
+ DVLOG_IF(1, codecs_str.empty()) << "Falling back to preferred codec id " |
+ << static_cast<int>(codec_id_); |
media_stream_ = media_stream; |
DCHECK(client); |