| 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 706e2dc92d05abfdfedb9fd2c45b983137b6ddea..8cc02268b0e774bcaba5ff4b5edfa9c52d1ab91f 100644
|
| --- a/content/common/gpu/media/dxva_video_decode_accelerator.h
|
| +++ b/content/common/gpu/media/dxva_video_decode_accelerator.h
|
| @@ -19,6 +19,7 @@
|
| #include <vector>
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/macros.h"
|
| #include "base/memory/linked_ptr.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/synchronization/lock.h"
|
| @@ -241,6 +242,9 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
| // Returns true on success.
|
| bool GetVideoFrameDimensions(IMFSample* sample, int* width, int* height);
|
|
|
| + // Performs any cleanup on the decoder thread and stops it.
|
| + void StopDecoderThread();
|
| +
|
| // To expose client callbacks from VideoDecodeAccelerator.
|
| media::VideoDecodeAccelerator::Client* client_;
|
|
|
| @@ -256,6 +260,7 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
| base::win::ScopedComPtr<ID3D11Device > d3d11_device_;
|
| base::win::ScopedComPtr<IMFDXGIDeviceManager> d3d11_device_manager_;
|
| base::win::ScopedComPtr<ID3D11Query> d3d11_query_;
|
| + base::win::ScopedComPtr<ID3D10Multithread> multi_threaded_;
|
|
|
| // Ideally the reset token would be a stack variable which is used while
|
| // creating the device manager. However it seems that the device manager
|
| @@ -363,11 +368,17 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
| // The GLContext to be used by the decoder.
|
| scoped_refptr<gfx::GLContext> gl_context_;
|
|
|
| + // Set to true if the DX11 device has been locked. This member is only
|
| + // accessed on the decoder thread.
|
| + bool dx11_device_locked_;
|
| +
|
| // WeakPtrFactory for posting tasks back to |this|.
|
| base::WeakPtrFactory<DXVAVideoDecodeAccelerator> weak_this_factory_;
|
|
|
| // Function pointer for the MFCreateDXGIDeviceManager API.
|
| static CreateDXGIDeviceManager create_dxgi_device_manager_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DXVAVideoDecodeAccelerator);
|
| };
|
|
|
| } // namespace content
|
|
|