| # Copyright 2014 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. |
| |
| import("//build/config/chromecast_build.gni") |
| import("//build/config/headless_build.gni") |
| |
| declare_args() { |
| # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of |
| # using dlopen. This helps with automated detection of ABI mismatches and |
| # prevents silent errors. |
| link_pulseaudio = false |
| |
| # Enable usage of FFmpeg within the media library. Used for most software |
| # based decoding, demuxing, and sometimes optimized FFTs. If disabled, |
| # implementors must provide their own demuxers and decoders. |
| media_use_ffmpeg = true |
| |
| # Enable usage of libvpx within the media library. Used for software based |
| # decoding of VP9 and VP8A type content. |
| media_use_libvpx = true |
| |
| # Neither Android nor iOS use ffmpeg, libvpx. |
| if (is_android || is_ios) { |
| media_use_ffmpeg = false |
| media_use_libvpx = false |
| } |
| |
| # Override to dynamically link the cras (ChromeOS audio) library. |
| use_cras = false |
| |
| # Enables runtime selection of PulseAudio library. |
| use_pulseaudio = false |
| |
| # Enables runtime selection of ALSA library for audio. |
| use_alsa = false |
| |
| # Alsa should be used on non-Android, non-Mac POSIX systems, and Chromecast |
| # builds for desktop Linux. |
| if (is_posix && !is_headless && !is_android && !is_mac && |
| (!is_chromecast || target_cpu != "arm")) { |
| use_alsa = true |
| if (!use_cras) { |
| use_pulseaudio = true |
| } |
| } |
| |
| # Use low-memory buffers on non-Android builds of Chromecast. |
| use_low_memory_buffer = is_chromecast && !is_android |
| |
| # Enables the MPEG2-TS stream parser for use with Media Source. Disabled by |
| # default (except on Chromecast) since it's not available on the normal Web |
| # Platform and costs money. |
| enable_mpeg2ts_stream_parser = is_chromecast |
| |
| # Enable HEVC/H265 demuxing. Actual decoding must be provided by the |
| # platform. Enable by default for Chromecast. |
| enable_hevc_demuxing = is_chromecast |
| |
| # Experiment to enable mojo media application: http://crbug.com/431776 |
| # Valid options are: |
| # - "none": Do not use mojo media application. |
| # - "browser": Use mojo media application hosted in the browser process. |
| # - "gpu": Use mojo media application hosted in the gpu process. |
| # - "utility": Use mojo media application hosted in the utility process. |
| enable_mojo_media = "none" |
| |
| # TODO(GYP): This should be a platform define. |
| is_openbsd = false |
| } |