Index: content/common/gpu/media/dxva_video_decode_accelerator.h |
diff --git a/content/common/gpu/media/dxva_video_decode_accelerator.h b/content/common/gpu/media/dxva_video_decode_accelerator.h |
index 0b92551e5bef3f1ea9d19b7a4f863cf55fe9d880..4073d34c5e99bb323c3fe13d5605badf6fbe3206 100644 |
--- a/content/common/gpu/media/dxva_video_decode_accelerator.h |
+++ b/content/common/gpu/media/dxva_video_decode_accelerator.h |
@@ -151,7 +151,7 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator |
typedef std::map<int32, linked_ptr<DXVAPictureBuffer> > OutputBuffers; |
// Tells the client to dismiss the stale picture buffers passed in. |
- void DismissStaleBuffers(const OutputBuffers& picture_buffers); |
+ void DismissStaleBuffers(); |
// To expose client callbacks from VideoDecodeAccelerator. |
media::VideoDecodeAccelerator::Client* client_; |
@@ -196,6 +196,12 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator |
// The key is the picture buffer id. |
OutputBuffers output_picture_buffers_; |
+ // After a resolution change there may be a few output buffers which have yet |
+ // to be displayed so they cannot be dismissed immediately. We move them from |
+ // |output_picture_buffers_| to this map so they may be dismissed once they |
+ // become available. |
+ OutputBuffers stale_output_picture_buffers_; |
+ |
// Set to true if we requested picture slots from the client. |
bool pictures_requested_; |