| 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..bd8caf74afecc8dee72013a5753aba96d53f47d5 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 GpuCommandBufferStub channel only if the chosen
|
| + // VDA can decode on IO thread.
|
| void Initialize(const media::VideoCodecProfile profile,
|
| IPC::Message* init_done_msg);
|
|
|
| private:
|
| + typedef scoped_ptr<media::VideoDecodeAccelerator>(
|
| + GpuVideoDecodeAccelerator::*CreateVDAFp)();
|
| +
|
| class MessageFilter;
|
|
|
| + // Return a set of VDA Create function pointers applicable to the current
|
| + // platform.
|
| + std::vector<CreateVDAFp> CreateVDAFps();
|
| + scoped_ptr<media::VideoDecodeAccelerator> CreateDXVAVDA();
|
| + scoped_ptr<media::VideoDecodeAccelerator> CreateV4L2VDA();
|
| + scoped_ptr<media::VideoDecodeAccelerator> CreateVaapiVDA();
|
| + scoped_ptr<media::VideoDecodeAccelerator> CreateVTVDA();
|
| + scoped_ptr<media::VideoDecodeAccelerator> CreateOzoneVDA();
|
| + scoped_ptr<media::VideoDecodeAccelerator> CreateAndroidVDA();
|
| +
|
| // We only allow self-delete, from OnWillDestroyStub(), after cleanup there.
|
| ~GpuVideoDecodeAccelerator() override;
|
|
|
|
|