| 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..2c93becd56150e820c85ca9f85cfdb7c1a95286b 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 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> CreateOzoneVDA();
|
| + scoped_ptr<media::VideoDecodeAccelerator> CreateAndroidVDA();
|
| +
|
| // We only allow self-delete, from OnWillDestroyStub(), after cleanup there.
|
| ~GpuVideoDecodeAccelerator() override;
|
|
|
|
|