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";
// of these messages are acknowledged.
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
......
......@@ -38,9 +38,9 @@ MojoVideoEncodeAcceleratorProvider::~MojoVideoEncodeAcceleratorProvider() =
default;
void MojoVideoEncodeAcceleratorProvider::CreateVideoEncodeAccelerator(
mojom::VideoEncodeAcceleratorRequest request) {
mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver) {
MojoVideoEncodeAcceleratorService::Create(
std::move(request), create_vea_callback_, gpu_preferences_);
std::move(receiver), create_vea_callback_, gpu_preferences_);
}
} // namespace media
......@@ -10,6 +10,7 @@
#include "media/mojo/mojom/video_encode_accelerator.mojom.h"
#include "media/mojo/services/media_mojo_export.h"
#include "media/mojo/services/mojo_video_encode_accelerator_service.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
namespace gpu {
struct GpuPreferences;
......@@ -40,7 +41,7 @@ class MEDIA_MOJO_EXPORT MojoVideoEncodeAcceleratorProvider
// mojom::VideoEncodeAcceleratorProvider impl.
void CreateVideoEncodeAccelerator(
mojom::VideoEncodeAcceleratorRequest request) override;
mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver) override;
private:
const CreateAndInitializeVideoEncodeAcceleratorCallback create_vea_callback_;
......
......@@ -10,20 +10,21 @@
#include "base/logging.h"
#include "media/base/bind_to_current_loop.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"
namespace media {
// static
void MojoVideoEncodeAcceleratorService::Create(
mojom::VideoEncodeAcceleratorRequest request,
mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver,
const CreateAndInitializeVideoEncodeAcceleratorCallback&
create_vea_callback,
const gpu::GpuPreferences& gpu_preferences) {
mojo::MakeStrongBinding(std::make_unique<MojoVideoEncodeAcceleratorService>(
create_vea_callback, gpu_preferences),
std::move(request));
mojo::MakeSelfOwnedReceiver(
std::make_unique<MojoVideoEncodeAcceleratorService>(create_vea_callback,
gpu_preferences),
std::move(receiver));
}
MojoVideoEncodeAcceleratorService::MojoVideoEncodeAcceleratorService(
......
......@@ -18,6 +18,7 @@
#include "media/mojo/mojom/video_encode_accelerator.mojom.h"
#include "media/mojo/services/media_mojo_export.h"
#include "media/video/video_encode_accelerator.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
namespace gpu {
struct GpuPreferences;
......@@ -37,7 +38,8 @@ class MEDIA_MOJO_EXPORT MojoVideoEncodeAcceleratorService
Client* client,
const gpu::GpuPreferences& gpu_preferences)>;
static void Create(mojom::VideoEncodeAcceleratorRequest request,
static void Create(
mojo::PendingReceiver<mojom::VideoEncodeAccelerator> receiver,
const CreateAndInitializeVideoEncodeAcceleratorCallback&
create_vea_callback,
const gpu::GpuPreferences& gpu_preferences);
......
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