// Copyright 2019 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 "media/capture/capture_switches.h" #include "base/command_line.h" namespace switches { // Enables GpuMemoryBuffer-based buffer pool. const char kVideoCaptureUseGpuMemoryBuffer[] = "video-capture-use-gpu-memory-buffer"; // This is for the same feature controlled by kVideoCaptureUseGpuMemoryBuffer. // kVideoCaptureUseGpuMemoryBuffer is settled by chromeos overlays. This flag is // necessary to overwrite the settings via chrome:// flag. The behavior of // chrome://flag#zero-copy-video-capture is as follows; // Default : Respect chromeos overlays settings. // Enabled : Force to enable kVideoCaptureUseGpuMemoryBuffer. // Disabled : Force to disable kVideoCaptureUseGpuMemoryBuffer. const char kDisableVideoCaptureUseGpuMemoryBuffer[] = "disable-video-capture-use-gpu-memory-buffer"; CAPTURE_EXPORT bool IsVideoCaptureUseGpuMemoryBufferEnabled() { return !base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDisableVideoCaptureUseGpuMemoryBuffer) && base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kVideoCaptureUseGpuMemoryBuffer); } } // namespace switches