Index: content/common/gpu/media/vaapi_wrapper.cc |
diff --git a/content/common/gpu/media/vaapi_wrapper.cc b/content/common/gpu/media/vaapi_wrapper.cc |
index b08aa039d209f913c59b041cef80c57726479e91..8b1ee6c8c00f848d911a37d322452715d0745b75 100644 |
--- a/content/common/gpu/media/vaapi_wrapper.cc |
+++ b/content/common/gpu/media/vaapi_wrapper.cc |
@@ -114,8 +114,12 @@ static std::vector<VAConfigAttrib> GetRequiredAttribs( |
VASurface::VASurface(VASurfaceID va_surface_id, |
const gfx::Size& size, |
+ const unsigned int format, |
const ReleaseCB& release_cb) |
- : va_surface_id_(va_surface_id), size_(size), release_cb_(release_cb) { |
+ : va_surface_id_(va_surface_id), |
+ size_(size), |
+ format_(format), |
+ release_cb_(release_cb) { |
DCHECK(!release_cb_.is_null()); |
} |
@@ -124,7 +128,8 @@ VASurface::~VASurface() { |
} |
VaapiWrapper::VaapiWrapper() |
- : va_display_(NULL), |
+ : va_surface_format_(0), |
+ va_display_(NULL), |
va_config_id_(VA_INVALID_ID), |
va_context_id_(VA_INVALID_ID), |
va_vpp_config_id_(VA_INVALID_ID), |
@@ -512,6 +517,7 @@ bool VaapiWrapper::CreateSurfaces(unsigned int va_format, |
DCHECK(va_surfaces->empty()); |
DCHECK(va_surface_ids_.empty()); |
va_surface_ids_.resize(num_surfaces); |
+ va_surface_format_ = va_format; |
// Allocate surfaces in driver. |
VAStatus va_res = |
@@ -579,7 +585,7 @@ scoped_refptr<VASurface> VaapiWrapper::CreateUnownedSurface( |
// of the destruction order. All the surfaces will be destroyed |
// before VaapiWrapper. |
va_surface = new VASurface( |
- va_surface_id, size, |
+ va_surface_id, size, va_format, |
base::Bind(&VaapiWrapper::DestroyUnownedSurface, base::Unretained(this))); |
return va_surface; |