Roll src/third_party/WebKit 33ba8ad:8d0ce3d (svn 202514:202517)
[chromium-blink-merge.git] / media / media_options.gni
blob746d96d6b9d7d2dd9edc9973b99549aa1befd98b
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 declare_args() {
6   # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
7   # using dlopen. This helps with automated detection of ABI mismatches and
8   # prevents silent errors.
9   link_pulseaudio = false
11   # Enable usage of FFmpeg within the media library. Used for most software
12   # based decoding, demuxing, and sometimes optimized FFTs. If disabled,
13   # implementors must provide their own demuxers and decoders.
14   media_use_ffmpeg = true
16   # Enable usage of libvpx within the media library. Used for software based
17   # decoding of VP9 and VP8A type content.
18   media_use_libvpx = true
20   # Enable libwebm for multiplexing video and audio for JS recording API.
21   media_use_libwebm = true
23   # Neither Android nor iOS use ffmpeg, libvpx nor libwebm.
24   if (is_android || is_ios) {
25     media_use_ffmpeg = false
26     media_use_libvpx = false
27     media_use_libwebm = false
28   }
30   # Override to dynamically link the cras (ChromeOS audio) library.
31   use_cras = false
33   # Enables runtime selection of PulseAudio library.
34   use_pulseaudio = false
36   # Enables runtime selection of ALSA library for audio.
37   use_alsa = false
39   # TODO(GYP): How to handled the "embedded" use case?
40   # Original conditional: (OS=="linux" or OS=="freebsd" or OS=="solaris") and embedded!=1
41   if (is_posix && !is_android && !is_mac) {
42     use_alsa = true
43     if (!use_cras) {
44       use_pulseaudio = true
45     }
46   }
48   # Enables the MPEG2-TS stream parser for use with Media Source. Disabled by
49   # default since it's not available on the normal Web Platform and costs money.
50   enable_mpeg2ts_stream_parser = false
52   # Enable HEVC/H265 demuxing. Actual decoding must be provided by the
53   # platform.
54   enable_hevc_demuxing = false
56   # Experiment to enable mojo media application: http://crbug.com/431776
57   # Valid options are:
58   # - "none": Do not use mojo media application.
59   # - "browser": Use mojo media application hosted in the browser process.
60   # - "utility": Use mojo media application hosted in the utility process.
61   enable_mojo_media = "none"
63   # TODO(GYP): This should be a platform define.
64   is_openbsd = false