# 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 # Enable libwebm for multiplexing video and audio for JS recording API. media_use_libwebm = true # Neither Android nor iOS use ffmpeg, libvpx nor libwebm. if (is_android || is_ios) { media_use_ffmpeg = false media_use_libvpx = false media_use_libwebm = 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 }