| Index: content/common/gpu/media/dxva_video_decode_accelerator_win.h
|
| diff --git a/content/common/gpu/media/dxva_video_decode_accelerator_win.h b/content/common/gpu/media/dxva_video_decode_accelerator_win.h
|
| index 0158e74ed8f92bb9df925b574937473f8473e064..dabe1183c282eda11a99f652795740b45e4fccc5 100644
|
| --- a/content/common/gpu/media/dxva_video_decode_accelerator_win.h
|
| +++ b/content/common/gpu/media/dxva_video_decode_accelerator_win.h
|
| @@ -30,6 +30,7 @@
|
| #include "base/threading/thread.h"
|
| #include "base/win/scoped_comptr.h"
|
| #include "content/common/content_export.h"
|
| +#include "content/common/gpu/media/gpu_video_decode_accelerator_helpers.h"
|
| #include "media/filters/h264_parser.h"
|
| #include "media/video/video_decode_accelerator.h"
|
|
|
| @@ -101,8 +102,8 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
|
|
| // Does not take ownership of |client| which must outlive |*this|.
|
| DXVAVideoDecodeAccelerator(
|
| - const base::Callback<bool(void)>& make_context_current,
|
| - gfx::GLContext* gl_context,
|
| + const GetGLContextCallback& get_gl_context_cb,
|
| + const MakeGLContextCurrentCallback& make_context_current_cb,
|
| bool enable_accelerated_vpx_decode);
|
| ~DXVAVideoDecodeAccelerator() override;
|
|
|
| @@ -115,7 +116,10 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
| void Flush() override;
|
| void Reset() override;
|
| void Destroy() override;
|
| - bool CanDecodeOnIOThread() override;
|
| + bool TryToSetupDecodeOnSeparateThread(
|
| + const base::WeakPtr<Client>& decode_client,
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& decode_task_runner)
|
| + override;
|
| GLenum GetSurfaceInternalFormat() const override;
|
|
|
| static media::VideoDecodeAccelerator::SupportedProfiles
|
| @@ -406,8 +410,10 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
| typedef std::list<base::win::ScopedComPtr<IMFSample>> PendingInputs;
|
| PendingInputs pending_input_buffers_;
|
|
|
| + // Callback to get current GLContext.
|
| + GetGLContextCallback get_gl_context_cb_;
|
| // Callback to set the correct gl context.
|
| - base::Callback<bool(void)> make_context_current_;
|
| + MakeGLContextCurrentCallback make_context_current_cb_;
|
|
|
| // Which codec we are decoding with hardware acceleration.
|
| media::VideoCodec codec_;
|
| @@ -447,9 +453,6 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
| // be initialized. Defaults to true.
|
| bool dx11_video_format_converter_media_type_needs_init_;
|
|
|
| - // The GLContext to be used by the decoder.
|
| - scoped_refptr<gfx::GLContext> gl_context_;
|
| -
|
| // Set to true if we are sharing ANGLE's device.
|
| bool using_angle_device_;
|
|
|
|
|