Index: content/common/gpu/media/vaapi_video_decode_accelerator.cc |
diff --git a/content/common/gpu/media/vaapi_video_decode_accelerator.cc b/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
index 8af5b794b02c16667fabf55eb7a3a6e0e36e9e74..d5f0698ae1fae9b679832795af307f8248d36f1e 100644 |
--- a/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
+++ b/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
@@ -1232,10 +1232,15 @@ VaapiVideoDecodeAccelerator::VaapiH264Accelerator:: |
void VaapiVideoDecodeAccelerator::VaapiH264Accelerator::FillVAPicture( |
VAPictureH264* va_pic, |
scoped_refptr<H264Picture> pic) { |
- scoped_refptr<VaapiDecodeSurface> dec_surface = |
- H264PictureToVaapiDecodeSurface(pic); |
+ VASurfaceID va_surface_id = VA_INVALID_SURFACE; |
+ |
+ if (!pic->nonexisting) { |
+ scoped_refptr<VaapiDecodeSurface> dec_surface = |
+ H264PictureToVaapiDecodeSurface(pic); |
+ va_surface_id = dec_surface->va_surface()->id(); |
+ } |
- va_pic->picture_id = dec_surface->va_surface()->id(); |
+ va_pic->picture_id = va_surface_id; |
va_pic->frame_idx = pic->frame_num; |
va_pic->flags = 0; |