Commit eeb11d19 authored by Gil Dekel's avatar Gil Dekel Committed by Commit Bot

media/gpu: Fix VaapiWrapper::DestroySurfaces() bug.

This CL fixes a bug in which, in some cases, empty vectors of type VASurfaceID
were passed to vaDestroySurfaces.

Bug: 973235
Test: jpeg_decode_accelerator_unittest
Change-Id: Ic285a71134e6030210ad794e4f74992ffb1965b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1655991
Commit-Queue: Gil Dekel <gildekel@chromium.org>
Reviewed-by: default avatarMiguel Casas <mcasas@chromium.org>
Reviewed-by: default avatarAndres Calderon Jaramillo <andrescj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#668524}
parent 20bbda17
...@@ -1831,10 +1831,10 @@ bool VaapiWrapper::CreateSurfaces(unsigned int va_format, ...@@ -1831,10 +1831,10 @@ bool VaapiWrapper::CreateSurfaces(unsigned int va_format,
void VaapiWrapper::DestroySurfaces(std::vector<VASurfaceID> va_surfaces) { void VaapiWrapper::DestroySurfaces(std::vector<VASurfaceID> va_surfaces) {
DVLOG(2) << "Destroying " << va_surfaces.size() << " surfaces"; DVLOG(2) << "Destroying " << va_surfaces.size() << " surfaces";
if (va_surfaces.empty())
return;
// vaDestroySurfaces() makes no guarantees about VA_INVALID_SURFACE. // vaDestroySurfaces() makes no guarantees about VA_INVALID_SURFACE.
base::Erase(va_surfaces, VA_INVALID_SURFACE); base::Erase(va_surfaces, VA_INVALID_SURFACE);
if (va_surfaces.empty())
return;
base::AutoLock auto_lock(*va_lock_); base::AutoLock auto_lock(*va_lock_);
const VAStatus va_res = const VAStatus va_res =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment