Commit 3c93461e authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Commit Bot

Migrate VideoEncodeAcceleratorProvider to new Mojo types

This CL applies pending_receiver to CreateVideoEncodeAccelerator()
in VideoEncodeAccelerator interface.

 - Convert InterfaceRequest to mojo::PendingReceiver
 - Convert mojo::MakeStrongBinding to mojo::MakeSelfOwnedReceiver

Bug: 955171
Change-Id: Id3d3237e8d3687c2ac4d18b7965530239ef83d10
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1833004Reviewed-by: default avatarChrome Cunningham <chcunningham@chromium.org>
Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Cr-Commit-Position: refs/heads/master@{#704921}
parent 06e5d9f0
...@@ -33,7 +33,9 @@ import "ui/gfx/geometry/mojom/geometry.mojom"; ...@@ -33,7 +33,9 @@ import "ui/gfx/geometry/mojom/geometry.mojom";
// of these messages are acknowledged. // of these messages are acknowledged.
interface VideoEncodeAcceleratorProvider { interface VideoEncodeAcceleratorProvider {
CreateVideoEncodeAccelerator(VideoEncodeAccelerator& request); // Creates a VideoEncodeAccelerator bound to |receiver|.
CreateVideoEncodeAccelerator(
pending_receiver<VideoEncodeAccelerator> receiver);
}; };
// Class that describes how video bitrate, in bps, is allocated across temporal // Class that describes how video bitrate, in bps, is allocated across temporal
......
...@@ -38,9 +38,9 @@ MojoVideoEncodeAcceleratorProvider::~MojoVideoEncodeAcceleratorProvider() = ...@@ -38,9 +38,9 @@ MojoVideoEncodeAcceleratorProvider::~MojoVideoEncodeAcceleratorProvider() =
default; default;
void MojoVideoEncodeAcceleratorProvider::CreateVideoEncodeAccelerator( void MojoVideoEncodeAcceleratorProvider::CreateVideoEncodeAccelerator(
mojom::VideoEncodeAcceleratorRequest request) { mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver) {
MojoVideoEncodeAcceleratorService::Create( MojoVideoEncodeAcceleratorService::Create(
std::move(request), create_vea_callback_, gpu_preferences_); std::move(receiver), create_vea_callback_, gpu_preferences_);
} }
} // namespace media } // namespace media
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "media/mojo/mojom/video_encode_accelerator.mojom.h" #include "media/mojo/mojom/video_encode_accelerator.mojom.h"
#include "media/mojo/services/media_mojo_export.h" #include "media/mojo/services/media_mojo_export.h"
#include "media/mojo/services/mojo_video_encode_accelerator_service.h" #include "media/mojo/services/mojo_video_encode_accelerator_service.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
namespace gpu { namespace gpu {
struct GpuPreferences; struct GpuPreferences;
...@@ -40,7 +41,7 @@ class MEDIA_MOJO_EXPORT MojoVideoEncodeAcceleratorProvider ...@@ -40,7 +41,7 @@ class MEDIA_MOJO_EXPORT MojoVideoEncodeAcceleratorProvider
// mojom::VideoEncodeAcceleratorProvider impl. // mojom::VideoEncodeAcceleratorProvider impl.
void CreateVideoEncodeAccelerator( void CreateVideoEncodeAccelerator(
mojom::VideoEncodeAcceleratorRequest request) override; mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver) override;
private: private:
const CreateAndInitializeVideoEncodeAcceleratorCallback create_vea_callback_; const CreateAndInitializeVideoEncodeAcceleratorCallback create_vea_callback_;
......
...@@ -10,20 +10,21 @@ ...@@ -10,20 +10,21 @@
#include "base/logging.h" #include "base/logging.h"
#include "media/base/bind_to_current_loop.h" #include "media/base/bind_to_current_loop.h"
#include "media/base/limits.h" #include "media/base/limits.h"
#include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "mojo/public/cpp/system/platform_handle.h" #include "mojo/public/cpp/system/platform_handle.h"
namespace media { namespace media {
// static // static
void MojoVideoEncodeAcceleratorService::Create( void MojoVideoEncodeAcceleratorService::Create(
mojom::VideoEncodeAcceleratorRequest request, mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver,
const CreateAndInitializeVideoEncodeAcceleratorCallback& const CreateAndInitializeVideoEncodeAcceleratorCallback&
create_vea_callback, create_vea_callback,
const gpu::GpuPreferences& gpu_preferences) { const gpu::GpuPreferences& gpu_preferences) {
mojo::MakeStrongBinding(std::make_unique<MojoVideoEncodeAcceleratorService>( mojo::MakeSelfOwnedReceiver(
create_vea_callback, gpu_preferences), std::make_unique<MojoVideoEncodeAcceleratorService>(create_vea_callback,
std::move(request)); gpu_preferences),
std::move(receiver));
} }
MojoVideoEncodeAcceleratorService::MojoVideoEncodeAcceleratorService( MojoVideoEncodeAcceleratorService::MojoVideoEncodeAcceleratorService(
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include "media/mojo/mojom/video_encode_accelerator.mojom.h" #include "media/mojo/mojom/video_encode_accelerator.mojom.h"
#include "media/mojo/services/media_mojo_export.h" #include "media/mojo/services/media_mojo_export.h"
#include "media/video/video_encode_accelerator.h" #include "media/video/video_encode_accelerator.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
namespace gpu { namespace gpu {
struct GpuPreferences; struct GpuPreferences;
...@@ -37,10 +38,11 @@ class MEDIA_MOJO_EXPORT MojoVideoEncodeAcceleratorService ...@@ -37,10 +38,11 @@ class MEDIA_MOJO_EXPORT MojoVideoEncodeAcceleratorService
Client* client, Client* client,
const gpu::GpuPreferences& gpu_preferences)>; const gpu::GpuPreferences& gpu_preferences)>;
static void Create(mojom::VideoEncodeAcceleratorRequest request, static void Create(
const CreateAndInitializeVideoEncodeAcceleratorCallback& mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver,
create_vea_callback, const CreateAndInitializeVideoEncodeAcceleratorCallback&
const gpu::GpuPreferences& gpu_preferences); create_vea_callback,
const gpu::GpuPreferences& gpu_preferences);
MojoVideoEncodeAcceleratorService( MojoVideoEncodeAcceleratorService(
const CreateAndInitializeVideoEncodeAcceleratorCallback& const CreateAndInitializeVideoEncodeAcceleratorCallback&
......
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