Chromium Code Reviews| Index: content/common/gpu/media/gpu_video_decode_accelerator.h |
| diff --git a/content/common/gpu/media/gpu_video_decode_accelerator.h b/content/common/gpu/media/gpu_video_decode_accelerator.h |
| index e59a76fb5c35169dd4b0fab8cb448e9bc02a46b3..675e04ca9fd330e144f9f9d488f86c243783e965 100644 |
| --- a/content/common/gpu/media/gpu_video_decode_accelerator.h |
| +++ b/content/common/gpu/media/gpu_video_decode_accelerator.h |
| @@ -59,14 +59,29 @@ class GpuVideoDecodeAccelerator |
| // Function to delegate sending to actual sender. |
| bool Send(IPC::Message* message) override; |
| - // Initialize the accelerator with the given profile and send the |
| - // |init_done_msg| when done. |
| + // Initialize VDAs from the set of VDAs supported for current platform until |
| + // one of them succeeds for given |profile|. Send the |init_done_msg| when |
| + // done. filter_ is passed to GpuCommandBufferStube channel only if we can |
|
Pawel Osciak
2015/01/02 01:49:14
s/Stube/Stub/
s/we/the chosen VDA/
|
| + // decode on IO thread. |
| void Initialize(const media::VideoCodecProfile profile, |
| IPC::Message* init_done_msg); |
| private: |
| + typedef base::Callback<scoped_ptr<media::VideoDecodeAccelerator>(void)> |
| + CreateVDACb; |
| + |
| class MessageFilter; |
| + // Return a set of VDA Create callback functions applicable to the current |
| + // platform. |
| + std::vector<CreateVDACb> CreateVDACbs(); |
| + scoped_ptr<media::VideoDecodeAccelerator> CreateDXVAVDA(); |
| + scoped_ptr<media::VideoDecodeAccelerator> CreateV4L2VDA(); |
| + scoped_ptr<media::VideoDecodeAccelerator> CreateVaapiVDA(); |
| + scoped_ptr<media::VideoDecodeAccelerator> CreateVTVDA(); |
| + scoped_ptr<media::VideoDecodeAccelerator> CreateAndroidVDA(); |
| + scoped_ptr<media::VideoDecodeAccelerator> CreateOzoneVDA(); |
| + |
| // We only allow self-delete, from OnWillDestroyStub(), after cleanup there. |
| ~GpuVideoDecodeAccelerator() override; |