Index: content/common/gpu/media/vaapi_video_decode_accelerator.h |
diff --git a/content/common/gpu/media/vaapi_video_decode_accelerator.h b/content/common/gpu/media/vaapi_video_decode_accelerator.h |
index 11cc082a627469dd5def2b502f5b764ee8086d57..df385236941b65b66acea613479804a00d3eaca1 100644 |
--- a/content/common/gpu/media/vaapi_video_decode_accelerator.h |
+++ b/content/common/gpu/media/vaapi_video_decode_accelerator.h |
@@ -28,6 +28,7 @@ |
#include "base/threading/thread.h" |
#include "content/common/content_export.h" |
#include "content/common/gpu/media/vaapi_wrapper.h" |
+#include "content/public/common/gpu_video_decode_accelerator_helpers.h" |
#include "media/base/bitstream_buffer.h" |
#include "media/video/picture.h" |
#include "media/video/video_decode_accelerator.h" |
@@ -55,9 +56,9 @@ class CONTENT_EXPORT VaapiVideoDecodeAccelerator |
class VaapiDecodeSurface; |
VaapiVideoDecodeAccelerator( |
- const base::Callback<bool(void)>& make_context_current, |
- const base::Callback< |
- void(uint32_t, uint32_t, scoped_refptr<gl::GLImage>)>& bind_image); |
+ const gpu_vda_helpers::MakeGLContextCurrentCb& make_context_current_cb, |
+ const gpu_vda_helpers::BindGLImageCb& bind_image_cb); |
+ |
~VaapiVideoDecodeAccelerator() override; |
// media::VideoDecodeAccelerator implementation. |
@@ -69,7 +70,10 @@ class CONTENT_EXPORT VaapiVideoDecodeAccelerator |
void Flush() override; |
void Reset() override; |
void Destroy() override; |
- bool CanDecodeOnIOThread() override; |
+ bool TryInitializeDecodeOnSeparateThread( |
+ const base::WeakPtr<Client>& decode_client, |
+ const scoped_refptr<base::SingleThreadTaskRunner>& decode_task_runner) |
+ override; |
static media::VideoDecodeAccelerator::SupportedProfiles |
GetSupportedProfiles(); |
@@ -180,10 +184,6 @@ class CONTENT_EXPORT VaapiVideoDecodeAccelerator |
// available. |
scoped_refptr<VaapiDecodeSurface> CreateSurface(); |
- |
- // Client-provided GL state. |
- base::Callback<bool(void)> make_context_current_; |
- |
// VAVDA state. |
enum State { |
// Initialize() not called yet or failed. |
@@ -305,10 +305,11 @@ class CONTENT_EXPORT VaapiVideoDecodeAccelerator |
size_t requested_num_pics_; |
gfx::Size requested_pic_size_; |
- // Binds the provided GLImage to a givenr client texture ID & texture target |
- // combination in GLES. |
- base::Callback<void(uint32_t, uint32_t, scoped_refptr<gl::GLImage>)> |
- bind_image_; |
+ // Callback to make GL context current. |
+ gpu_vda_helpers::MakeGLContextCurrentCb make_context_current_cb_; |
+ |
+ // Callback to bind a GLImage to a given texture. |
+ gpu_vda_helpers::BindGLImageCb bind_image_cb_; |
// The WeakPtrFactory for |weak_this_|. |
base::WeakPtrFactory<VaapiVideoDecodeAccelerator> weak_this_factory_; |