| Index: content/renderer/media/rtc_video_decoder.cc
|
| diff --git a/content/renderer/media/rtc_video_decoder.cc b/content/renderer/media/rtc_video_decoder.cc
|
| index 4e4b3199683e7a0f33e37f48fee7360be304417c..509b72802e954553413447009c8ce44662e83025 100644
|
| --- a/content/renderer/media/rtc_video_decoder.cc
|
| +++ b/content/renderer/media/rtc_video_decoder.cc
|
| @@ -120,6 +120,9 @@ scoped_ptr<RTCVideoDecoder> RTCVideoDecoder::Create(
|
| case webrtc::kVideoCodecVP8:
|
| profile = media::VP8PROFILE_MAIN;
|
| break;
|
| + case webrtc::kVideoCodecH264:
|
| + profile = media::H264PROFILE_MAIN;
|
| + break;
|
| default:
|
| DVLOG(2) << "Video codec not supported:" << type;
|
| return decoder.Pass();
|
| @@ -146,8 +149,10 @@ scoped_ptr<RTCVideoDecoder> RTCVideoDecoder::Create(
|
| int32_t RTCVideoDecoder::InitDecode(const webrtc::VideoCodec* codecSettings,
|
| int32_t /*numberOfCores*/) {
|
| DVLOG(2) << "InitDecode";
|
| - DCHECK_EQ(codecSettings->codecType, webrtc::kVideoCodecVP8);
|
| - if (codecSettings->codecSpecific.VP8.feedbackModeOn) {
|
| + DCHECK(codecSettings->codecType == webrtc::kVideoCodecVP8 ||
|
| + codecSettings->codecType == webrtc::kVideoCodecH264);
|
| + if (codecSettings->codecType == webrtc::kVideoCodecVP8 &&
|
| + codecSettings->codecSpecific.VP8.feedbackModeOn) {
|
| LOG(ERROR) << "Feedback mode not supported";
|
| return RecordInitDecodeUMA(WEBRTC_VIDEO_CODEC_ERROR);
|
| }
|
| @@ -208,10 +213,12 @@ int32_t RTCVideoDecoder::Decode(
|
|
|
| bool need_to_reset_for_midstream_resize = false;
|
| if (inputImage._frameType == webrtc::kKeyFrame) {
|
| + int width = inputImage._encodedWidth ? inputImage._encodedWidth : 640;
|
| + int height = inputImage._encodedHeight ? inputImage._encodedHeight : 480;
|
| DVLOG(2) << "Got key frame. size=" << inputImage._encodedWidth << "x"
|
| << inputImage._encodedHeight;
|
| gfx::Size prev_frame_size = frame_size_;
|
| - frame_size_.SetSize(inputImage._encodedWidth, inputImage._encodedHeight);
|
| + frame_size_.SetSize(width, height);
|
| if (!kVDACanHandleMidstreamResize && !prev_frame_size.IsEmpty() &&
|
| prev_frame_size != frame_size_) {
|
| need_to_reset_for_midstream_resize = true;
|
|
|