| 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..d8e58ba5cbfdee5c555d80cbf59e2c2fd0b2f2cd 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
|
| @@ -368,6 +373,12 @@ class CONTENT_EXPORT DXVAVideoDecodeAccelerator
|
|
|
| // Function pointer for the MFCreateDXGIDeviceManager API.
|
| static CreateDXGIDeviceManager create_dxgi_device_manager_;
|
| +
|
| + // Set to true if the DX11 device has been locked. This member is only
|
| + // accessed on the decoder thread.
|
| + bool dx11_device_locked_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DXVAVideoDecodeAccelerator);
|
| };
|
|
|
| } // namespace content
|
|
|