Setup GPU channel for video capture utility service on Android.
Build GPU channel by creating the viz::Gpu in the video capture utility service, which is bind to viz::GpuClient of browser process. By this way, video capture service can setup GPU channel to GPU process on Android platform to create shared images. Bug: 40264379 Change-Id: Iae8a573ca04bb25ab9715c65166e981a261264fc Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5957728 Commit-Queue: vikas soni <vikassoni@chromium.org> Reviewed-by: Fred Shih <ffred@chromium.org> Reviewed-by: Colin Blundell <blundell@chromium.org> Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Cr-Commit-Position: refs/heads/main@{#1378303}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
08de76a99d
commit
f09e2a6fec
content
browser
public
browser
utility
media
services/video_capture
@ -75,13 +75,12 @@
|
||||
#include "services/network/public/mojom/network_service.mojom.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
#include "base/task/sequenced_task_runner.h"
|
||||
#include "components/viz/host/gpu_client.h"
|
||||
#include "media/capture/capture_switches.h"
|
||||
#include "services/video_capture/public/mojom/video_capture_service.mojom.h"
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
namespace content {
|
||||
|
||||
@ -152,11 +151,10 @@ UtilityProcessHost::UtilityProcessHost(std::unique_ptr<Client> client)
|
||||
started_(false),
|
||||
name_(u"utility process"),
|
||||
file_data_(std::make_unique<ChildProcessLauncherFileData>()),
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
allowed_gpu_(false),
|
||||
gpu_client_(nullptr, base::OnTaskRunnerDeleter(nullptr)),
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
client_(std::move(client)) {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
process_ = std::make_unique<BrowserChildProcessHostImpl>(
|
||||
@ -212,10 +210,9 @@ void UtilityProcessHost::SetPreloadLibraries(
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
void UtilityProcessHost::SetAllowGpuClient() {
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
allowed_gpu_ = true;
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
@ -417,7 +414,7 @@ bool UtilityProcessHost::StartProcess() {
|
||||
}
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
|
||||
// Pass `kVideoCaptureUseGpuMemoryBuffer` flag to video capture service only
|
||||
// when the video capture use GPU memory buffer enabled.
|
||||
if (metrics_name_ == video_capture::mojom::VideoCaptureService::Name_) {
|
||||
@ -433,8 +430,7 @@ bool UtilityProcessHost::StartProcess() {
|
||||
cmd_line->AppendSwitch(switches::kVideoCaptureUseGpuMemoryBuffer);
|
||||
}
|
||||
}
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ||
|
||||
// BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
|
||||
|
||||
std::unique_ptr<UtilitySandboxedProcessLauncherDelegate> delegate =
|
||||
std::make_unique<UtilitySandboxedProcessLauncherDelegate>(
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "content/common/content_export.h"
|
||||
#include "content/public/browser/browser_child_process_host_delegate.h"
|
||||
#include "content/public/common/zygote/zygote_buildflags.h"
|
||||
#include "media/media_buildflags.h"
|
||||
#include "mojo/public/cpp/bindings/generic_pending_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
#include "sandbox/policy/mojom/sandbox.mojom.h"
|
||||
@ -33,12 +34,11 @@ namespace base {
|
||||
class Thread;
|
||||
} // namespace base
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
namespace viz {
|
||||
class GpuClient;
|
||||
} // namespace viz
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
namespace content {
|
||||
class BrowserChildProcessHostImpl;
|
||||
@ -201,11 +201,10 @@ class CONTENT_EXPORT UtilityProcessHost
|
||||
};
|
||||
LaunchState launch_state_ = LaunchState::kLaunchInProgress;
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
bool allowed_gpu_;
|
||||
std::unique_ptr<viz::GpuClient, base::OnTaskRunnerDeleter> gpu_client_;
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
std::unique_ptr<Client> client_;
|
||||
|
||||
|
@ -4,22 +4,21 @@
|
||||
|
||||
// This file exposes services in the browser to the utility process.
|
||||
|
||||
#include "content/browser/utility_process_host.h"
|
||||
|
||||
#include "build/build_config.h"
|
||||
#include "content/browser/utility_process_host.h"
|
||||
#include "content/public/browser/content_browser_client.h"
|
||||
#include "content/public/common/content_client.h"
|
||||
#include "media/media_buildflags.h"
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
|
||||
#include "content/browser/font_service.h" // nogncheck
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
#include "components/viz/host/gpu_client.h"
|
||||
#include "content/public/browser/gpu_client.h"
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
namespace content {
|
||||
|
||||
@ -31,8 +30,7 @@ void UtilityProcessHost::BindHostReceiver(
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
if (allowed_gpu_) {
|
||||
// TODO(crbug.com/328099369) Remove once all clients get this directly.
|
||||
if (auto gpu_receiver = receiver.As<viz::mojom::Gpu>()) {
|
||||
@ -40,7 +38,7 @@ void UtilityProcessHost::BindHostReceiver(
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
GetContentClient()->browser()->BindUtilityHostReceiver(std::move(receiver));
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "content/public/common/content_client.h"
|
||||
#include "media/media_buildflags.h"
|
||||
|
||||
namespace content {
|
||||
|
||||
@ -70,10 +71,9 @@ ServiceProcessHost::Options::WithPreloadedLibraries(
|
||||
|
||||
ServiceProcessHost::Options& ServiceProcessHost::Options::WithGpuClient(
|
||||
base::PassKey<ServiceProcessHostGpuClient> passkey) {
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
allow_gpu_client = true;
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -119,13 +119,11 @@ extern sandbox::TargetServices* g_utility_target_services;
|
||||
#include "ui/accessibility/accessibility_features.h"
|
||||
#endif // BUILDFLAG(ENABLE_ACCESSIBILITY_SERVICE)
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
#include "media/capture/capture_switches.h"
|
||||
#include "services/viz/public/cpp/gpu/gpu.h"
|
||||
#include "services/viz/public/mojom/gpu.mojom.h"
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
namespace content {
|
||||
base::LazyInstance<NetworkBinderCreationCallback>::Leaky
|
||||
@ -336,8 +334,7 @@ auto RunVideoCapture(
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
auto service = std::make_unique<UtilityThreadVideoCaptureServiceImpl>(
|
||||
std::move(receiver), base::SingleThreadTaskRunner::GetCurrentDefault());
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
{
|
||||
#else
|
||||
@ -350,8 +347,7 @@ auto RunVideoCapture(
|
||||
std::move(remote_gpu), UtilityThread::Get()->GetIOTaskRunner());
|
||||
service->SetVizGpu(std::move(viz_gpu));
|
||||
}
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
return service;
|
||||
}
|
||||
|
@ -67,6 +67,7 @@ buildflag_header("media_buildflags") {
|
||||
"USE_CHROMEOS_PROTECTED_MEDIA=$use_chromeos_protected_media",
|
||||
"USE_CRAS=$use_cras",
|
||||
"USE_PROPRIETARY_CODECS=$proprietary_codecs",
|
||||
"ENABLE_GPU_CHANNEL_MEDIA_CAPTURE=$enable_gpu_channel_media_capture",
|
||||
]
|
||||
|
||||
if (enable_library_cdms) {
|
||||
|
@ -392,7 +392,7 @@ source_set("capture_gpu_channel") {
|
||||
deps = []
|
||||
|
||||
# Establish GPU Channel
|
||||
if (is_linux || is_win || is_chromeos_ash || is_mac) {
|
||||
if (enable_gpu_channel_media_capture) {
|
||||
sources += [
|
||||
"video/video_capture_gpu_channel_host.cc",
|
||||
"video/video_capture_gpu_channel_host.h",
|
||||
|
@ -124,6 +124,11 @@ declare_args() {
|
||||
# Enable inclusion of VVC/H.266 parser/demuxer, and also enable VVC/H.266 decoding
|
||||
# with hardware acceleration provided by platform. Disabled by default for all builds.
|
||||
enable_platform_vvc = false
|
||||
|
||||
# Determines if a GpuChannel is needed between media capture utility process
|
||||
# and gpu process for a given platform.
|
||||
enable_gpu_channel_media_capture =
|
||||
is_linux || is_win || is_chromeos_ash || is_mac || is_android
|
||||
}
|
||||
|
||||
# Use another declare_args() to allow dependence on args defined above.
|
||||
|
@ -7,6 +7,7 @@ include_rules = [
|
||||
"+media/device_monitors",
|
||||
"+media/mojo",
|
||||
"+media/capture",
|
||||
"+media/media_buildflags.h",
|
||||
"+ui/gfx",
|
||||
"+services/video_effects/public/mojom/video_effects_processor.mojom-forward.h",
|
||||
"+services/viz/public/cpp/gpu",
|
||||
|
@ -42,13 +42,11 @@
|
||||
#include "services/video_capture/lacros/device_factory_adapter_lacros.h"
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
#include "media/capture/capture_switches.h"
|
||||
#include "media/capture/video/video_capture_gpu_channel_host.h"
|
||||
#include "services/viz/public/cpp/gpu/context_provider_command_buffer.h"
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
namespace video_capture {
|
||||
|
||||
@ -111,8 +109,7 @@ class VideoCaptureServiceImpl::GpuDependenciesContext {
|
||||
this};
|
||||
};
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
// Intended usage of this class is to create viz::Gpu in utility process and
|
||||
// connect to viz::GpuClient of browser process, which will call to Gpu service.
|
||||
// Also, this class holds the viz::ContextProvider to listen and monitor Gpu
|
||||
@ -230,8 +227,7 @@ class VideoCaptureServiceImpl::VizGpuContextProvider
|
||||
scoped_refptr<viz::ContextProvider> context_provider_;
|
||||
base::WeakPtrFactory<VizGpuContextProvider> weak_ptr_factory_{this};
|
||||
};
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
bool ShouldUseVCDFromAsh() {
|
||||
@ -333,8 +329,7 @@ void VideoCaptureServiceImpl::LazyInitializeGpuDependenciesContext() {
|
||||
if (!gpu_dependencies_context_)
|
||||
gpu_dependencies_context_ = std::make_unique<GpuDependenciesContext>();
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
{
|
||||
#else
|
||||
@ -345,8 +340,7 @@ void VideoCaptureServiceImpl::LazyInitializeGpuDependenciesContext() {
|
||||
std::make_unique<VizGpuContextProvider>(std::move(viz_gpu_));
|
||||
}
|
||||
}
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
}
|
||||
|
||||
void VideoCaptureServiceImpl::LazyInitializeDeviceFactory() {
|
||||
@ -467,12 +461,11 @@ void VideoCaptureServiceImpl::OnGpuInfoUpdate(const CHROME_LUID& luid) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
void VideoCaptureServiceImpl::SetVizGpu(std::unique_ptr<viz::Gpu> viz_gpu) {
|
||||
viz_gpu_ = std::move(viz_gpu);
|
||||
}
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
void VideoCaptureServiceImpl::OnDisconnectedFromVCDFactoryAsh() {
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "base/threading/thread.h"
|
||||
#include "build/build_config.h"
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "media/media_buildflags.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/pending_remote.h"
|
||||
#include "mojo/public/cpp/bindings/receiver.h"
|
||||
@ -27,11 +28,9 @@
|
||||
#include "services/video_capture/ash/video_capture_device_factory_ash.h"
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
#include "services/viz/public/cpp/gpu/gpu.h"
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
#include "media/device_monitors/device_monitor_mac.h"
|
||||
@ -76,11 +75,9 @@ class VideoCaptureServiceImpl : public mojom::VideoCaptureService {
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
void OnGpuInfoUpdate(const CHROME_LUID& luid) override;
|
||||
#endif
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
void SetVizGpu(std::unique_ptr<viz::Gpu> viz_gpu);
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
private:
|
||||
class GpuDependenciesContext;
|
||||
|
||||
@ -122,13 +119,11 @@ class VideoCaptureServiceImpl : public mojom::VideoCaptureService {
|
||||
factory_receivers_ash_;
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \
|
||||
BUILDFLAG(IS_MAC)
|
||||
#if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
class VizGpuContextProvider;
|
||||
std::unique_ptr<VizGpuContextProvider> viz_gpu_context_provider_;
|
||||
std::unique_ptr<viz::Gpu> viz_gpu_;
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC)
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
|
||||
|
||||
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;
|
||||
|
||||
|
Reference in New Issue
Block a user