Index: content/common/gpu/media/gpu_video_encode_accelerator.h |
diff --git a/content/common/gpu/media/gpu_video_encode_accelerator.h b/content/common/gpu/media/gpu_video_encode_accelerator.h |
deleted file mode 100644 |
index 738f764e9260f08ad12fdbbc9e6a118a1f57d900..0000000000000000000000000000000000000000 |
--- a/content/common/gpu/media/gpu_video_encode_accelerator.h |
+++ /dev/null |
@@ -1,136 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ |
-#define CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ |
- |
-#include <stddef.h> |
-#include <stdint.h> |
- |
-#include <memory> |
-#include <vector> |
- |
-#include "base/macros.h" |
-#include "base/memory/weak_ptr.h" |
-#include "gpu/config/gpu_info.h" |
-#include "gpu/ipc/service/gpu_command_buffer_stub.h" |
-#include "ipc/ipc_listener.h" |
-#include "media/video/video_encode_accelerator.h" |
-#include "ui/gfx/geometry/size.h" |
- |
-struct AcceleratedVideoEncoderMsg_Encode_Params; |
-struct AcceleratedVideoEncoderMsg_Encode_Params2; |
- |
-namespace base { |
-class SharedMemory; |
-} // namespace base |
- |
-namespace gpu { |
-struct GpuPreferences; |
-} // namespace gpu |
- |
-namespace content { |
- |
-// This class encapsulates the GPU process view of a VideoEncodeAccelerator, |
-// wrapping the platform-specific VideoEncodeAccelerator instance. It handles |
-// IPC coming in from the renderer and passes it to the underlying VEA. |
-class GpuVideoEncodeAccelerator |
- : public IPC::Listener, |
- public media::VideoEncodeAccelerator::Client, |
- public gpu::GpuCommandBufferStub::DestructionObserver { |
- public: |
- GpuVideoEncodeAccelerator(int32_t host_route_id, |
- gpu::GpuCommandBufferStub* stub); |
- ~GpuVideoEncodeAccelerator() override; |
- |
- // Initialize this accelerator with the given parameters and send |
- // |init_done_msg| when complete. |
- bool Initialize(media::VideoPixelFormat input_format, |
- const gfx::Size& input_visible_size, |
- media::VideoCodecProfile output_profile, |
- uint32_t initial_bitrate); |
- |
- // IPC::Listener implementation |
- bool OnMessageReceived(const IPC::Message& message) override; |
- |
- // media::VideoEncodeAccelerator::Client implementation. |
- void RequireBitstreamBuffers(unsigned int input_count, |
- const gfx::Size& input_coded_size, |
- size_t output_buffer_size) override; |
- void BitstreamBufferReady(int32_t bitstream_buffer_id, |
- size_t payload_size, |
- bool key_frame) override; |
- void NotifyError(media::VideoEncodeAccelerator::Error error) override; |
- |
- // gpu::GpuCommandBufferStub::DestructionObserver implementation. |
- void OnWillDestroyStub() override; |
- |
- // Static query for supported profiles. This query calls the appropriate |
- // platform-specific version. The returned supported profiles vector will |
- // not contain duplicates. |
- static gpu::VideoEncodeAcceleratorSupportedProfiles GetSupportedProfiles( |
- const gpu::GpuPreferences& gpu_preferences); |
- |
- private: |
- typedef std::unique_ptr<media::VideoEncodeAccelerator> (*CreateVEAFp)(); |
- |
- // Return a set of VEA Create function pointers applicable to the current |
- // platform. |
- static std::vector<CreateVEAFp> CreateVEAFps( |
- const gpu::GpuPreferences& gpu_preferences); |
-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) |
- static std::unique_ptr<media::VideoEncodeAccelerator> CreateV4L2VEA(); |
-#endif |
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) |
- static std::unique_ptr<media::VideoEncodeAccelerator> CreateVaapiVEA(); |
-#endif |
-#if defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
- static std::unique_ptr<media::VideoEncodeAccelerator> CreateAndroidVEA(); |
-#endif |
-#if defined(OS_MACOSX) |
- static std::unique_ptr<media::VideoEncodeAccelerator> CreateVTVEA(); |
-#endif |
- |
- // IPC handlers, proxying media::VideoEncodeAccelerator for the renderer |
- // process. |
- void OnEncode(const AcceleratedVideoEncoderMsg_Encode_Params& params); |
- void OnEncode2(const AcceleratedVideoEncoderMsg_Encode_Params2& params); |
- void OnUseOutputBitstreamBuffer(int32_t buffer_id, |
- base::SharedMemoryHandle buffer_handle, |
- uint32_t buffer_size); |
- void OnRequestEncodingParametersChange(uint32_t bitrate, uint32_t framerate); |
- |
- void OnDestroy(); |
- |
- void EncodeFrameFinished(int32_t frame_id, |
- std::unique_ptr<base::SharedMemory> shm); |
- void Send(IPC::Message* message); |
- |
- // Route ID to communicate with the host. |
- const uint32_t host_route_id_; |
- |
- // Unowned pointer to the underlying gpu::GpuCommandBufferStub. |this| is |
- // registered as a DestuctionObserver of |stub_| and will self-delete when |
- // |stub_| is destroyed. |
- gpu::GpuCommandBufferStub* const stub_; |
- |
- // Owned pointer to the underlying VideoEncodeAccelerator. |
- std::unique_ptr<media::VideoEncodeAccelerator> encoder_; |
- base::Callback<bool(void)> make_context_current_; |
- |
- // Video encoding parameters. |
- media::VideoPixelFormat input_format_; |
- gfx::Size input_visible_size_; |
- gfx::Size input_coded_size_; |
- size_t output_buffer_size_; |
- |
- // Weak pointer for media::VideoFrames that refer back to |this|. |
- base::WeakPtrFactory<GpuVideoEncodeAccelerator> weak_this_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(GpuVideoEncodeAccelerator); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ |