Commit d42c4ebd authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Commit Bot

Convert VideoEncodeClient interface to the new Mojo

This CL converts all uses of VideoEncodeClient to
mojo::PendingRemote and mojo::Remote.

Bug: 955171
Change-Id: I469adb26f11ce589f017654e70f234f43fe095c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2223693Reviewed-by: default avatarHidehiko Abe <hidehiko@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#773963}
parent 00d8d63d
...@@ -84,7 +84,7 @@ interface VideoEncodeAccelerator { ...@@ -84,7 +84,7 @@ interface VideoEncodeAccelerator {
[MinVersion=4] [MinVersion=4]
Initialize@9(VideoEncodeAcceleratorConfig config, Initialize@9(VideoEncodeAcceleratorConfig config,
VideoEncodeClient client) => (Result result); pending_remote<VideoEncodeClient> client) => (Result result);
// Initializes the video encoder with specific configuration. Called once per // Initializes the video encoder with specific configuration. Called once per
// encoder construction. // encoder construction.
...@@ -97,7 +97,8 @@ interface VideoEncodeAccelerator { ...@@ -97,7 +97,8 @@ interface VideoEncodeAccelerator {
// invoke any other methods before the callback. // invoke any other methods before the callback.
[MinVersion=1] [MinVersion=1]
InitializeDeprecated@7(VideoEncodeAcceleratorConfig config, InitializeDeprecated@7(VideoEncodeAcceleratorConfig config,
VideoEncodeClient client) => (bool success); pending_remote<VideoEncodeClient> client) =>
(bool success);
// Encodes the given frame. // Encodes the given frame.
// Parameters: // Parameters:
......
...@@ -114,7 +114,7 @@ void GpuArcVideoEncodeAccelerator::GetSupportedProfiles( ...@@ -114,7 +114,7 @@ void GpuArcVideoEncodeAccelerator::GetSupportedProfiles(
void GpuArcVideoEncodeAccelerator::Initialize( void GpuArcVideoEncodeAccelerator::Initialize(
const media::VideoEncodeAccelerator::Config& config, const media::VideoEncodeAccelerator::Config& config,
VideoEncodeClientPtr client, mojo::PendingRemote<mojom::VideoEncodeClient> client,
InitializeCallback callback) { InitializeCallback callback) {
auto result = InitializeTask(config, std::move(client)); auto result = InitializeTask(config, std::move(client));
std::move(callback).Run(result); std::move(callback).Run(result);
...@@ -122,7 +122,7 @@ void GpuArcVideoEncodeAccelerator::Initialize( ...@@ -122,7 +122,7 @@ void GpuArcVideoEncodeAccelerator::Initialize(
void GpuArcVideoEncodeAccelerator::InitializeDeprecated( void GpuArcVideoEncodeAccelerator::InitializeDeprecated(
const media::VideoEncodeAccelerator::Config& config, const media::VideoEncodeAccelerator::Config& config,
VideoEncodeClientPtr client, mojo::PendingRemote<mojom::VideoEncodeClient> client,
InitializeDeprecatedCallback callback) { InitializeDeprecatedCallback callback) {
auto result = InitializeTask(config, std::move(client)); auto result = InitializeTask(config, std::move(client));
std::move(callback).Run(result == std::move(callback).Run(result ==
...@@ -132,7 +132,7 @@ void GpuArcVideoEncodeAccelerator::InitializeDeprecated( ...@@ -132,7 +132,7 @@ void GpuArcVideoEncodeAccelerator::InitializeDeprecated(
mojom::VideoEncodeAccelerator::Result mojom::VideoEncodeAccelerator::Result
GpuArcVideoEncodeAccelerator::InitializeTask( GpuArcVideoEncodeAccelerator::InitializeTask(
const media::VideoEncodeAccelerator::Config& config, const media::VideoEncodeAccelerator::Config& config,
VideoEncodeClientPtr client) { mojo::PendingRemote<mojom::VideoEncodeClient> client) {
DVLOGF(2) << config.AsHumanReadableString(); DVLOGF(2) << config.AsHumanReadableString();
if (!config.storage_type.has_value()) { if (!config.storage_type.has_value()) {
DLOG(ERROR) << "storage type must be specified"; DLOG(ERROR) << "storage type must be specified";
...@@ -147,7 +147,7 @@ GpuArcVideoEncodeAccelerator::InitializeTask( ...@@ -147,7 +147,7 @@ GpuArcVideoEncodeAccelerator::InitializeTask(
DLOG(ERROR) << "Failed to create a VideoEncodeAccelerator."; DLOG(ERROR) << "Failed to create a VideoEncodeAccelerator.";
return mojom::VideoEncodeAccelerator::Result::kPlatformFailureError; return mojom::VideoEncodeAccelerator::Result::kPlatformFailureError;
} }
client_ = std::move(client); client_.Bind(std::move(client));
return mojom::VideoEncodeAccelerator::Result::kSuccess; return mojom::VideoEncodeAccelerator::Result::kSuccess;
} }
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
#include "gpu/config/gpu_preferences.h" #include "gpu/config/gpu_preferences.h"
#include "gpu/ipc/common/gpu_memory_buffer_support.h" #include "gpu/ipc/common/gpu_memory_buffer_support.h"
#include "media/video/video_encode_accelerator.h" #include "media/video/video_encode_accelerator.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
namespace arc { namespace arc {
...@@ -33,7 +35,6 @@ class GpuArcVideoEncodeAccelerator ...@@ -33,7 +35,6 @@ class GpuArcVideoEncodeAccelerator
using VideoPixelFormat = media::VideoPixelFormat; using VideoPixelFormat = media::VideoPixelFormat;
using VideoCodecProfile = media::VideoCodecProfile; using VideoCodecProfile = media::VideoCodecProfile;
using Error = media::VideoEncodeAccelerator::Error; using Error = media::VideoEncodeAccelerator::Error;
using VideoEncodeClientPtr = ::arc::mojom::VideoEncodeClientPtr;
// VideoEncodeAccelerator::Client implementation. // VideoEncodeAccelerator::Client implementation.
void RequireBitstreamBuffers(unsigned int input_count, void RequireBitstreamBuffers(unsigned int input_count,
...@@ -48,14 +49,15 @@ class GpuArcVideoEncodeAccelerator ...@@ -48,14 +49,15 @@ class GpuArcVideoEncodeAccelerator
void GetSupportedProfiles(GetSupportedProfilesCallback callback) override; void GetSupportedProfiles(GetSupportedProfilesCallback callback) override;
void Initialize(const media::VideoEncodeAccelerator::Config& config, void Initialize(const media::VideoEncodeAccelerator::Config& config,
VideoEncodeClientPtr client, mojo::PendingRemote<mojom::VideoEncodeClient> client,
InitializeCallback callback) override; InitializeCallback callback) override;
void InitializeDeprecated(const media::VideoEncodeAccelerator::Config& config, void InitializeDeprecated(
VideoEncodeClientPtr client, const media::VideoEncodeAccelerator::Config& config,
InitializeDeprecatedCallback callback) override; mojo::PendingRemote<mojom::VideoEncodeClient> client,
InitializeDeprecatedCallback callback) override;
mojom::VideoEncodeAccelerator::Result InitializeTask( mojom::VideoEncodeAccelerator::Result InitializeTask(
const media::VideoEncodeAccelerator::Config& config, const media::VideoEncodeAccelerator::Config& config,
VideoEncodeClientPtr client); mojo::PendingRemote<mojom::VideoEncodeClient> client);
void Encode(media::VideoPixelFormat format, void Encode(media::VideoPixelFormat format,
mojo::ScopedHandle fd, mojo::ScopedHandle fd,
...@@ -86,7 +88,7 @@ class GpuArcVideoEncodeAccelerator ...@@ -86,7 +88,7 @@ class GpuArcVideoEncodeAccelerator
gpu::GpuPreferences gpu_preferences_; gpu::GpuPreferences gpu_preferences_;
std::unique_ptr<media::VideoEncodeAccelerator> accelerator_; std::unique_ptr<media::VideoEncodeAccelerator> accelerator_;
::arc::mojom::VideoEncodeClientPtr client_; mojo::Remote<::arc::mojom::VideoEncodeClient> client_;
gfx::Size coded_size_; gfx::Size coded_size_;
gfx::Size visible_size_; gfx::Size visible_size_;
VideoPixelFormat input_pixel_format_; VideoPixelFormat input_pixel_format_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment