| 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 0b5ccda45dbeb2c5b7fe5d73459c4adf0827731c..30ab2acb77a289d9cbf02f9f0ae3f34eea716ea8 100644
|
| --- a/content/renderer/media/rtc_video_decoder.cc
|
| +++ b/content/renderer/media/rtc_video_decoder.cc
|
| @@ -71,8 +71,10 @@ RTCVideoDecoder::BufferData::BufferData() {}
|
| RTCVideoDecoder::BufferData::~BufferData() {}
|
|
|
| RTCVideoDecoder::RTCVideoDecoder(
|
| + webrtc::VideoCodecType type,
|
| const scoped_refptr<media::GpuVideoAcceleratorFactories>& factories)
|
| - : factories_(factories),
|
| + : video_codec_type_(type),
|
| + factories_(factories),
|
| decoder_texture_target_(0),
|
| next_picture_buffer_id_(0),
|
| state_(UNINITIALIZED),
|
| @@ -116,13 +118,16 @@ 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();
|
| }
|
|
|
| base::WaitableEvent waiter(true, false);
|
| - decoder.reset(new RTCVideoDecoder(factories));
|
| + decoder.reset(new RTCVideoDecoder(type, factories));
|
| decoder->factories_->GetTaskRunner()->PostTask(
|
| FROM_HERE,
|
| base::Bind(&RTCVideoDecoder::CreateVDA,
|
| @@ -142,8 +147,9 @@ 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(video_codec_type_ == codecSettings->codecType);
|
| + if (codecSettings->codecType == webrtc::kVideoCodecVP8 &&
|
| + codecSettings->codecSpecific.VP8.feedbackModeOn) {
|
| LOG(ERROR) << "Feedback mode not supported";
|
| return RecordInitDecodeUMA(WEBRTC_VIDEO_CODEC_ERROR);
|
| }
|
|
|