Index: media/filters/gpu_video_decoder.cc |
diff --git a/media/filters/gpu_video_decoder.cc b/media/filters/gpu_video_decoder.cc |
index 5f65eb2ac90664001b590eca9c3472967df98cc3..f52ef5d330a07f56cb80378018de2eeb7a86fca9 100644 |
--- a/media/filters/gpu_video_decoder.cc |
+++ b/media/filters/gpu_video_decoder.cc |
@@ -287,6 +287,12 @@ void GpuVideoDecoder::CompleteInitialization(int cdm_id, int surface_id) { |
DCheckGpuVideoAcceleratorFactoriesTaskRunnerIsCurrent(); |
DCHECK(!init_cb_.is_null()); |
+ // It's possible for the vda to become null if NotifyError is called. |
+ if (!vda_) { |
+ base::ResetAndReturn(&init_cb_).Run(false); |
+ return; |
+ } |
+ |
VideoDecodeAccelerator::Config vda_config; |
vda_config.profile = config_.profile(); |
vda_config.cdm_id = cdm_id; |