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 20977f2a4245a45a6b078168284d7947865bca0d..b0ecbd045bbcb2557d24d1b59babe7085bf62118 100644 |
--- a/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
+++ b/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
@@ -1292,10 +1292,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; |