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 ce1f24c6b520755daf9a58e07f2a2a7fd7265be7..bacbb9cd2a171429db52e9dce39402e412775001 100644 |
--- a/content/renderer/media/rtc_video_decoder.cc |
+++ b/content/renderer/media/rtc_video_decoder.cc |
@@ -672,7 +672,9 @@ void RTCVideoDecoder::ReusePictureBuffer( |
void RTCVideoDecoder::CreateVDA(media::VideoCodecProfile profile, |
base::WaitableEvent* waiter) { |
DCHECK(vda_task_runner_->BelongsToCurrentThread()); |
- vda_ = factories_->CreateVideoDecodeAccelerator(profile, this); |
+ vda_ = factories_->CreateVideoDecodeAccelerator(profile); |
+ if (vda_ && !vda_->Initialize(this, profile)) |
+ vda_.release()->Destroy(); |
waiter->Signal(); |
} |