Index: chrome/gpu/arc_gpu_video_decode_accelerator.h |
diff --git a/chrome/gpu/arc_gpu_video_decode_accelerator.h b/chrome/gpu/arc_gpu_video_decode_accelerator.h |
index 5685f56e57136381ba1d81dd38b568a7b78f13d8..df1458d9dc53454bf71ba3ca0833c1e094f9e7a7 100644 |
--- a/chrome/gpu/arc_gpu_video_decode_accelerator.h |
+++ b/chrome/gpu/arc_gpu_video_decode_accelerator.h |
@@ -32,8 +32,9 @@ class ArcGpuVideoDecodeAccelerator |
~ArcGpuVideoDecodeAccelerator() override; |
// Implementation of the ArcVideoAccelerator interface. |
- bool Initialize(const Config& config, |
- ArcVideoAccelerator::Client* client) override; |
+ ArcVideoAccelerator::Result Initialize( |
+ const Config& config, |
+ ArcVideoAccelerator::Client* client) override; |
void SetNumberOfOutputBuffers(size_t number) override; |
void BindSharedMemory(PortType port, |
uint32_t index, |
@@ -119,6 +120,12 @@ class ArcGpuVideoDecodeAccelerator |
// Returns |nullptr| if it cannot be found. |
InputRecord* FindInputRecord(int32_t bitstream_buffer_id); |
+ // Global counter that keeps track the number of active clients (i.e., how |
+ // many VDAs in use by this class). |
+ // Since this class only works on the same thread, it's safe to access |
+ // |client_count_| without lock. |
+ static int client_count_; |
+ |
std::unique_ptr<media::VideoDecodeAccelerator> vda_; |
// It's safe to use the pointer here, the life cycle of the |arc_client_| |