Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7127)

Unified Diff: chrome/gpu/gpu_arc_video_service.cc

Issue 2919193002: ArcBridge: Rename VideoAcceleratorService to VideoDecodeAccelerator. (Closed)
Patch Set: Address review comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/gpu/gpu_arc_video_service.h ('k') | components/arc/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/gpu/gpu_arc_video_service.cc
diff --git a/chrome/gpu/gpu_arc_video_service.cc b/chrome/gpu/gpu_arc_video_service.cc
deleted file mode 100644
index d704fbceb28de515ec88e8f27790b8e9eb470315..0000000000000000000000000000000000000000
--- a/chrome/gpu/gpu_arc_video_service.cc
+++ /dev/null
@@ -1,247 +0,0 @@
-// Copyright 2016 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.
-
-#include "chrome/gpu/gpu_arc_video_service.h"
-
-#include <utility>
-
-#include "base/bind.h"
-#include "base/logging.h"
-#include "base/memory/ptr_util.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "chrome/gpu/arc_gpu_video_decode_accelerator.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
-#include "mojo/public/cpp/bindings/type_converter.h"
-#include "mojo/public/cpp/system/platform_handle.h"
-
-// Make sure arc::mojom::VideoAcceleratorService::Result and
-// chromeos::arc::ArcVideoAccelerator::Result match.
-static_assert(
- static_cast<int>(arc::mojom::VideoAcceleratorService::Result::SUCCESS) ==
- chromeos::arc::ArcVideoAccelerator::SUCCESS,
- "enum mismatch");
-static_assert(static_cast<int>(
- arc::mojom::VideoAcceleratorService::Result::ILLEGAL_STATE) ==
- chromeos::arc::ArcVideoAccelerator::ILLEGAL_STATE,
- "enum mismatch");
-static_assert(
- static_cast<int>(
- arc::mojom::VideoAcceleratorService::Result::INVALID_ARGUMENT) ==
- chromeos::arc::ArcVideoAccelerator::INVALID_ARGUMENT,
- "enum mismatch");
-static_assert(
- static_cast<int>(
- arc::mojom::VideoAcceleratorService::Result::UNREADABLE_INPUT) ==
- chromeos::arc::ArcVideoAccelerator::UNREADABLE_INPUT,
- "enum mismatch");
-static_assert(
- static_cast<int>(
- arc::mojom::VideoAcceleratorService::Result::PLATFORM_FAILURE) ==
- chromeos::arc::ArcVideoAccelerator::PLATFORM_FAILURE,
- "enum mismatch");
-static_assert(
- static_cast<int>(
- arc::mojom::VideoAcceleratorService::Result::INSUFFICIENT_RESOURCES) ==
- chromeos::arc::ArcVideoAccelerator::INSUFFICIENT_RESOURCES,
- "enum mismatch");
-
-namespace mojo {
-
-template <>
-struct TypeConverter<arc::mojom::BufferMetadataPtr,
- chromeos::arc::BufferMetadata> {
- static arc::mojom::BufferMetadataPtr Convert(
- const chromeos::arc::BufferMetadata& input) {
- arc::mojom::BufferMetadataPtr result = arc::mojom::BufferMetadata::New();
- result->timestamp = input.timestamp;
- result->bytes_used = input.bytes_used;
- return result;
- }
-};
-
-template <>
-struct TypeConverter<chromeos::arc::BufferMetadata,
- arc::mojom::BufferMetadataPtr> {
- static chromeos::arc::BufferMetadata Convert(
- const arc::mojom::BufferMetadataPtr& input) {
- chromeos::arc::BufferMetadata result;
- result.timestamp = input->timestamp;
- result.bytes_used = input->bytes_used;
- return result;
- }
-};
-
-template <>
-struct TypeConverter<arc::mojom::VideoFormatPtr, chromeos::arc::VideoFormat> {
- static arc::mojom::VideoFormatPtr Convert(
- const chromeos::arc::VideoFormat& input) {
- arc::mojom::VideoFormatPtr result = arc::mojom::VideoFormat::New();
- result->pixel_format = input.pixel_format;
- result->buffer_size = input.buffer_size;
- result->min_num_buffers = input.min_num_buffers;
- result->coded_width = input.coded_width;
- result->coded_height = input.coded_height;
- result->crop_left = input.crop_left;
- result->crop_width = input.crop_width;
- result->crop_top = input.crop_top;
- result->crop_height = input.crop_height;
- return result;
- }
-};
-
-template <>
-struct TypeConverter<chromeos::arc::ArcVideoAccelerator::Config,
- arc::mojom::ArcVideoAcceleratorConfigPtr> {
- static chromeos::arc::ArcVideoAccelerator::Config Convert(
- const arc::mojom::ArcVideoAcceleratorConfigPtr& input) {
- chromeos::arc::ArcVideoAccelerator::Config result;
- result.device_type =
- static_cast<chromeos::arc::ArcVideoAccelerator::Config::DeviceType>(
- input->device_type);
- result.num_input_buffers = input->num_input_buffers;
- result.input_pixel_format = input->input_pixel_format;
- return result;
- }
-};
-
-} // namespace mojo
-
-namespace chromeos {
-namespace arc {
-
-GpuArcVideoService::GpuArcVideoService(
- const gpu::GpuPreferences& gpu_preferences)
- : gpu_preferences_(gpu_preferences),
- accelerator_(new ArcGpuVideoDecodeAccelerator(gpu_preferences_)) {}
-
-GpuArcVideoService::~GpuArcVideoService() {
- DCHECK(thread_checker_.CalledOnValidThread());
-}
-
-void GpuArcVideoService::OnError(ArcVideoAccelerator::Result error) {
- DVLOG(2) << "OnError " << error;
- DCHECK_NE(error, ArcVideoAccelerator::SUCCESS);
- DCHECK(client_);
- client_->OnError(
- static_cast<::arc::mojom::VideoAcceleratorService::Result>(error));
-}
-
-void GpuArcVideoService::OnBufferDone(PortType port,
- uint32_t index,
- const BufferMetadata& metadata) {
- DVLOG(2) << "OnBufferDone " << port << "," << index;
- DCHECK(client_);
- client_->OnBufferDone(static_cast<::arc::mojom::PortType>(port), index,
- ::arc::mojom::BufferMetadata::From(metadata));
-}
-
-void GpuArcVideoService::OnFlushDone() {
- DVLOG(2) << "OnFlushDone";
- DCHECK(client_);
- client_->OnFlushDone();
-}
-
-void GpuArcVideoService::OnResetDone() {
- DVLOG(2) << "OnResetDone";
- DCHECK(client_);
- client_->OnResetDone();
-}
-
-void GpuArcVideoService::OnOutputFormatChanged(const VideoFormat& format) {
- DVLOG(2) << "OnOutputFormatChanged";
- DCHECK(client_);
- client_->OnOutputFormatChanged(::arc::mojom::VideoFormat::From(format));
-}
-
-void GpuArcVideoService::Initialize(
- ::arc::mojom::ArcVideoAcceleratorConfigPtr config,
- ::arc::mojom::VideoAcceleratorServiceClientPtr client,
- const InitializeCallback& callback) {
- DVLOG(2) << "Initialize";
- DCHECK(!client_);
- client_ = std::move(client);
- ArcVideoAccelerator::Result result =
- accelerator_->Initialize(config.To<ArcVideoAccelerator::Config>(), this);
- callback.Run(
- static_cast<::arc::mojom::VideoAcceleratorService::Result>(result));
-}
-
-base::ScopedFD GpuArcVideoService::UnwrapFdFromMojoHandle(
- mojo::ScopedHandle handle) {
- DCHECK(client_);
- if (!handle.is_valid()) {
- LOG(ERROR) << "handle is invalid";
- client_->OnError(
- ::arc::mojom::VideoAcceleratorService::Result::INVALID_ARGUMENT);
- return base::ScopedFD();
- }
-
- base::PlatformFile platform_file;
- MojoResult mojo_result =
- mojo::UnwrapPlatformFile(std::move(handle), &platform_file);
- if (mojo_result != MOJO_RESULT_OK) {
- LOG(ERROR) << "UnwrapPlatformFile failed: " << mojo_result;
- client_->OnError(
- ::arc::mojom::VideoAcceleratorService::Result::PLATFORM_FAILURE);
- return base::ScopedFD();
- }
-
- return base::ScopedFD(platform_file);
-}
-
-void GpuArcVideoService::BindSharedMemory(::arc::mojom::PortType port,
- uint32_t index,
- mojo::ScopedHandle ashmem_handle,
- uint32_t offset,
- uint32_t length) {
- DVLOG(2) << "BindSharedMemoryCallback port=" << port << ", index=" << index
- << ", offset=" << offset << ", length=" << length;
-
- base::ScopedFD fd = UnwrapFdFromMojoHandle(std::move(ashmem_handle));
- if (!fd.is_valid())
- return;
- accelerator_->BindSharedMemory(static_cast<PortType>(port), index,
- std::move(fd), offset, length);
-}
-
-void GpuArcVideoService::BindDmabuf(
- ::arc::mojom::PortType port,
- uint32_t index,
- mojo::ScopedHandle dmabuf_handle,
- std::vector<::arc::ArcVideoAcceleratorDmabufPlane> dmabuf_planes) {
- DVLOG(2) << "BindDmabuf port=" << port << ", index=" << index;
-
- base::ScopedFD fd = UnwrapFdFromMojoHandle(std::move(dmabuf_handle));
- if (!fd.is_valid())
- return;
-
- accelerator_->BindDmabuf(static_cast<PortType>(port), index, std::move(fd),
- std::move(dmabuf_planes));
-}
-
-void GpuArcVideoService::UseBuffer(::arc::mojom::PortType port,
- uint32_t index,
- ::arc::mojom::BufferMetadataPtr metadata) {
- DVLOG(2) << "UseBuffer port=" << port << ", index=" << index;
- accelerator_->UseBuffer(static_cast<PortType>(port), index,
- metadata.To<BufferMetadata>());
-}
-
-void GpuArcVideoService::SetNumberOfOutputBuffers(uint32_t number) {
- DVLOG(2) << "SetNumberOfOutputBuffers number=" << number;
- accelerator_->SetNumberOfOutputBuffers(number);
-}
-
-void GpuArcVideoService::Reset() {
- DVLOG(2) << "Reset";
- accelerator_->Reset();
-}
-
-void GpuArcVideoService::Flush() {
- DVLOG(2) << "Flush";
- accelerator_->Flush();
-}
-
-} // namespace arc
-} // namespace chromeos
« no previous file with comments | « chrome/gpu/gpu_arc_video_service.h ('k') | components/arc/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698