blob: aa6cde94a55e17d6f02b8370ab879837f866ccc9 [file] [log] [blame]
# Copyright 2017 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#####################################################################
# If you modify this file, PLEASE REMEMBER TO UPDATE
# //cobalt/build/config/base.gni AS WELL
#####################################################################
# This contains the defaults and documentation for all Cobalt-defined GYP
# variables. Starboard-defined variables are specified in
# starboard/build/base_configuration.gypi.
#
# starboard/build/cobalt_configuration includes this file automatically in all
# .gyp files processed by starboard/build/gyp_cobalt.
{
'variables': {
# Cobalt variables.
# We need to define some variables inside of an inner 'variables' scope
# so that they can be referenced by other outer variables here. Also, it
# allows for the specification of default values that get referenced by
# a top level scope.
'variables': {
'cobalt_webapi_extension_source_idl_files%': [],
'cobalt_webapi_extension_generated_header_idl_files%': [],
'cobalt_media_source_2016%': 1,
},
# Whether Cobalt is being built.
'cobalt': 1,
# Contains the current build configuration.
'cobalt_config%': 'gold',
'cobalt_fastbuild%': 0,
# Enable support for the map to mesh filter, which is primarily used to
# implement spherical video playback.
'enable_map_to_mesh%': 0,
# Enables embedding Cobalt as a shared library within another app. This
# requires a 'lib' starboard implementation for the corresponding platform.
'cobalt_enable_lib': '<(sb_enable_lib)',
# This variable defines what Cobalt's preferred strategy should be for
# handling internally triggered application exit requests (e.g. the user
# chooses to back out of the application).
# 'stop' -- The application should call SbSystemRequestStop() on exit,
# resulting in a complete shutdown of the application.
# 'suspend' -- The application should call SbSystemRequestSuspend() on
# exit, resulting in the application being "minimized".
# 'noexit' -- The application should never allow the user to trigger an
# exit, this will be managed by the system.
'cobalt_user_on_exit_strategy%': 'stop',
# Contains the current font package selection. This can be used to trade
# font quality, coverage, and latency for different font package sizes.
# The font package can be one of the following options:
# 'standard' -- The default package. It includes all sans-serif, serif,
# and FCC fonts, non-CJK fallback fonts in both 'normal' and
# 'bold' weights, 'normal' weight CJK ('bold' weight CJK is
# synthesized from it), historic script fonts, and color
# emojis. This package is ~38.3MB.
# 'limited' -- A significantly smaller package than 'standard'. This
# package removes all but 'normal' and 'bold' weighted
# sans-serif and serif, removes the FCC fonts (which must be
# provided by the system or downloaded from the web),
# replaces standard CJK with low quality CJK, removes
# historic script fonts, and replaces colored emojis with
# uncolored ones. Because low quality CJK cannot synthesize
# bold, bold glyphs are unavailable in Chinese, Japanese and
# Korean. This package is ~8.3MB.
# 'minimal' -- The smallest possible font package. It only includes
# Roboto's Basic Latin characters. Everything else must be
# provided by the system or downloaded from the web. This
# package is ~40.0KB.
# NOTE: When bold is needed, but unavailable, it is typically synthesized,
# resulting in lower quality glyphs than those generated directly from
# a bold font. However, this does not occur with low quality CJK,
# which is not high enough quality to synthesize. Its glyphs always
# have a 'normal' weight.
'cobalt_font_package%': 'standard',
# Font package overrides can be used to modify the files included within the
# selected package. The following values are available:
# -1 -- The package value for the specified category is not overridden.
# 0 -- The package value is overridden and no fonts for the specified
# category are included.
# 1 -- The package value is overridden and fonts from the specified
# category with a weight of 'normal' and a style of 'normal' are
# included.
# 2 -- The package value is overridden and fonts from the specified
# category with a weight of either 'normal' or bold' and a style of
# 'normal' are included.
# 3 -- The package value is overridden and fonts from the specified
# category with a weight of either 'normal' or 'bold' and a style of
# either 'normal' or 'italic' are included.
# 4 -- The package value is overridden and all available fonts from the
# specified category are included. This may include additional
# weights beyond 'normal' and 'bold'.
# See content/fonts/README.md for details on the specific values used by
# each of the packages use for the various font categories.
'cobalt_font_package_override_named_sans_serif%': -1,
'cobalt_font_package_override_named_serif%': -1,
'cobalt_font_package_override_named_fcc_fonts%': -1,
'cobalt_font_package_override_fallback_lang_non_cjk%': -1,
'cobalt_font_package_override_fallback_lang_cjk%': -1,
'cobalt_font_package_override_fallback_lang_cjk_low_quality%': -1,
'cobalt_font_package_override_fallback_historic%': -1,
'cobalt_font_package_override_fallback_color_emoji%': -1,
'cobalt_font_package_override_fallback_emoji%': -1,
'cobalt_font_package_override_fallback_symbols%': -1,
# Build version number.
'cobalt_version%': 0,
# Defines what kind of rasterizer will be used. This can be adjusted to
# force a stub graphics implementation or software graphics implementation.
# It can be one of the following options:
# 'direct-gles' -- Uses a light wrapper over OpenGL ES to handle most
# draw elements. This will fall back to the skia hardware
# rasterizer for some render tree node types, but is
# generally faster on the CPU and GPU. This can handle
# 360 rendering.
# 'hardware' -- As much hardware acceleration of graphics commands as
# possible. This uses skia to wrap OpenGL ES commands.
# Required for 360 rendering.
# 'software' -- Perform most rasterization using the CPU and only
# interact with the GPU to send the final image to the
# output window.
# 'stub' -- Stub graphics rasterization. A rasterizer object will
# still be available and valid, but it will do nothing.
'rasterizer_type%': 'direct-gles',
# If set to 1, will enable support for rendering only the regions of the
# display that are modified due to animations, instead of re-rendering the
# entire scene each frame. This feature can reduce startup time where
# usually there is a small loading spinner animating on the screen. On GLES
# renderers, Cobalt will attempt to implement this support by using
# eglSurfaceAttrib(..., EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED), otherwise
# the dirty region will be silently disabled. On Blitter API platforms,
# if this is enabled, we explicitly create an extra offscreen full-size
# intermediate surface to render into. Note that some GLES driver
# implementations may internally allocate an extra full screen surface to
# support this feature, and many have been noticed to not properly support
# this functionality (but they report that they do), and for these reasons
# this value is defaulted to 0.
'render_dirty_region_only%': 0,
# Override this value to adjust the default rasterizer setting for your
# platform.
'default_renderer_options_dependency%': '<(DEPTH)/cobalt/renderer/default_options_starboard.gyp:default_options',
# Override this to inject a custom interface into Cobalt's JavaScript
# `window` global object. This implies that you will have to provide your
# own IDL files to describe that interface and all interfaces that it
# references. See cobalt/doc/webapi_extension.md for more information.
'cobalt_webapi_extension_source_idl_files%': [
'<@(cobalt_webapi_extension_source_idl_files)',
],
# Override this to have Cobalt build IDL files that result in generated
# header files that may need to be included from other C++ source files.
# This includes, for example, IDL enumerations. See
# cobalt/doc/webapi_extension.md for more information.
'cobalt_webapi_extension_generated_header_idl_files%': [
'<@(cobalt_webapi_extension_generated_header_idl_files)',
],
# This gyp target must implement the functions defined in
# <(DEPTH)/cobalt/browser/idl_extensions.h. See
# cobalt/doc/webapi_extension.md for more information.
'cobalt_webapi_extension_gyp_target%':
'<(DEPTH)/cobalt/browser/null_webapi_extension.gyp:null_webapi_extension',
# Allow throttling of the frame rate. This is expressed in terms of
# milliseconds and can be a floating point number. Keep in mind that
# swapping frames may take some additional processing time, so it may be
# better to specify a lower delay. For example, '33' instead of '33.33'
# for 30 Hz refresh.
'cobalt_minimum_frame_time_in_milliseconds%': '16.0',
# Cobalt will call eglSwapInterval() and specify this value before calling
# eglSwapBuffers() each frame.
'cobalt_egl_swap_interval%': 1,
# Set to 1 to build with DIAL support.
'in_app_dial%': 0,
# Set to 1 to enable a custom MediaSessionClient.
'custom_media_session_client%': 0,
# Set to 1 to enable H5vccAccountManager.
'enable_account_manager%': 0,
# Set to 1 to enable H5vccCrashLog.
'enable_crash_log%': 0,
# Set to 1 to enable H5vccSSO (Single Sign On).
'enable_sso%': 0,
# Set to 1 to compile with SPDY support.
'enable_spdy%': 0,
# Set to 1 to enable filtering of HTTP headers before sending.
'enable_xhr_header_filtering%': 0,
# List of platform-specific targets that get compiled into cobalt.
'cobalt_platform_dependencies%': [],
# The URL of default build time splash screen - see
# cobalt/doc/splash_screen.md for information about this.
'fallback_splash_screen_url%': 'none',
# The path to a splash screen to copy into content/data/web which can be
# accessed via a file URL starting with
# "file:///cobalt/browser/splash_screen/". If '', no file is copied.
'cobalt_splash_screen_file%': '',
# Some platforms have difficulty linking snapshot_app_stats
'build_snapshot_app_stats%': 1,
# Cache parameters
# The following set of parameters define how much memory is reserved for
# different Cobalt caches. These caches affect CPU *and* GPU memory usage.
#
# The sum of the following caches effectively describes the maximum GPU
# texture memory usage (though it doesn't consider video textures and
# display color buffers):
# - skia_cache_size_in_bytes (GLES2 rasterizer only)
# - scratch_surface_cache_size_in_bytes
# - image_cache_size_in_bytes
# - skia_glyph_atlas_width * skia_glyph_atlas_height
#
# The other caches affect CPU memory usage.
# Determines the capacity of the skia cache. The Skia cache is maintained
# within Skia and is used to cache the results of complicated effects such
# as shadows, so that Skia draw calls that are used repeatedly across
# frames can be cached into surfaces. This setting is only relevant when
# using the hardware-accelerated Skia rasterizer (e.g. as opposed to the
# Blitter API).
'skia_cache_size_in_bytes%': 4 * 1024 * 1024,
# Determines the capacity of the scratch surface cache. The scratch
# surface cache facilitates the reuse of temporary offscreen surfaces
# within a single frame. This setting is only relevant when using the
# hardware-accelerated Skia rasterizer.
'scratch_surface_cache_size_in_bytes%': 0,
# Determines the amount of GPU memory the offscreen target atlases will
# use. This is specific to the direct-GLES rasterizer and caches any render
# tree nodes which require skia for rendering. Two atlases will be allocated
# from this memory or multiple atlases of the frame size if the limit
# allows. It is recommended that enough memory be reserved for two RGBA
# atlases about a quarter of the frame size.
'offscreen_target_cache_size_in_bytes%': -1,
# Determines the capacity of the image cache, which manages image surfaces
# downloaded from a web page. While it depends on the platform, often (and
# ideally) these images are cached within GPU memory.
# Set to -1 to automatically calculate the value at runtime, based on
# features like windows dimensions and the value of
# SbSystemGetTotalGPUMemory().
'image_cache_size_in_bytes%': -1,
# Determines the capacity of the local font cache, which manages all fonts
# loaded from local files. Newly encountered sections of font files are
# lazily loaded into the cache, enabling subsequent requests to the same
# file sections to be handled via direct memory access. Once the limit is
# reached, further requests are handled via file stream.
# Setting the value to 0 disables memory caching and causes all font file
# accesses to be done using file streams.
'local_font_cache_size_in_bytes%': 16 * 1024 * 1024,
# Determines the capacity of the remote font cache, which manages all
# fonts downloaded from a web page.
'remote_font_cache_size_in_bytes%': 4 * 1024 * 1024,
# Determines the capacity of the mesh cache. Each mesh is held compressed
# in main memory, to be inflated into a GPU buffer when needed for
# projection. When set to 'auto', will be adjusted according to whether
# the enable_map_to_mesh is true or not. If enable_map_to_mesh is false,
# then the mesh cache size will be set to 0.
'mesh_cache_size_in_bytes%': 'auto',
# Only relevant if you are using the Blitter API.
# Determines the capacity of the software surface cache, which is used to
# cache all surfaces that are rendered via a software rasterizer to avoid
# re-rendering them.
'software_surface_cache_size_in_bytes%': 8 * 1024 * 1024,
# Modifying this value to be non-1.0f will result in the image cache
# capacity being cleared and then temporarily reduced for the duration that
# a video is playing. This can be useful for some platforms if they are
# particularly constrained for (GPU) memory during video playback. When
# playing a video, the image cache is reduced to:
# image_cache_size_in_bytes *
# image_cache_capacity_multiplier_when_playing_video.
'image_cache_capacity_multiplier_when_playing_video%': '1.0f',
# Determines the size in pixels of the glyph atlas where rendered glyphs are
# cached. The resulting memory usage is 2 bytes of GPU memory per pixel.
# When a value is used that is too small, thrashing may occur that will
# result in visible stutter. Such thrashing is more likely to occur when CJK
# language glyphs are rendered and when the size of the glyphs in pixels is
# larger, such as for higher resolution displays.
# The negative default values indicates to the engine that these settings
# should be automatically set.
'skia_glyph_atlas_width%': '-1',
'skia_glyph_atlas_height%': '-1',
# Determines the size of garbage collection threshold. After this many
# bytes have been allocated, the SpiderMonkey garbage collector will run.
# Lowering this has been found to reduce performance and decrease
# JavaScript memory usage. For example, we have measured on at least one
# platform that performance becomes 7% worse on average in certain cases
# when adjusting this number from 8MB to 1MB.
'mozjs_garbage_collection_threshold_in_bytes%': 8 * 1024 * 1024,
# Max Cobalt CPU usage specifies that the cobalt program should
# keep it's size below the specified size. A value of -1 causes this
# value to be assumed from the starboard API function:
# SbSystemGetTotalCPUMemory().
'max_cobalt_cpu_usage%': -1,
# Max Cobalt GPU usage specifies that the cobalt program should
# keep it's size below the specified size. A value of -1 causes this
# value to be assumed from the starboard API function:
# SbSystemGetTotalGPUMemory().
'max_cobalt_gpu_usage%': -1,
# When specified this value will reduce the cpu memory consumption by
# the specified amount. -1 disables the value.
# When this value is specified then max_cobalt_cpu_usage will not be
# used in memory_constrainer, but will still be used for triggering
# a warning if the engine consumes more memory than this value specifies.
'reduce_cpu_memory_by%': -1,
# When specified this value will reduce the gpu memory consumption by
# the specified amount. -1 disables the value.
# When this value is specified then max_cobalt_gpu_usage will not be
# used in memory_constrainer, but will still be used for triggering
# a warning if the engine consumes more memory than this value specifies.
'reduce_gpu_memory_by%': -1,
# Note: Ideally, |javascript_engine| and |cobalt_enable_jit| would live
# here, however due to weird gyp variable usage in bindings gyp files
# (that if we removed, would result in large code duplication), we have to
# define them in the python gyp platform files instead. See
# "starboard/build/platform_configuration.py" for their documentation.
# Can be set to enable zealous garbage collection, if |javascript_engine|
# supports it. Zealous garbage collection will cause garbage collection
# to occur much more frequently than normal, for the purpose of finding or
# reproducing bugs.
'cobalt_gc_zeal%': 0,
# Use media source extension implementation that is conformed to the
# Candidate Recommendation of July 5th 2016.
'cobalt_media_source_2016%': '<(cobalt_media_source_2016)',
# Note that the following media buffer related variables are only used when
# |cobalt_media_source_2016| is set to 1.
# This can be set to "memory" or "file". When it is set to "memory", the
# media buffers will be stored in main memory allocated by SbMemory
# functions. When it is set to "file", the media buffers will be stored in
# a temporary file in the system cache folder acquired by calling
# SbSystemGetPath() with "kSbSystemPathCacheDirectory". Note that when its
# value is "file" the media stack will still allocate memory to cache the
# the buffers in use.
'cobalt_media_buffer_storage_type%': 'memory',
# When either |cobalt_media_buffer_initial_capacity| or
# |cobalt_media_buffer_allocation_unit| isn't zero, media buffers will be
# allocated using a memory pool. Set the following variable to 1 to
# allocate the media buffer pool memory on demand and return all memory to
# the system when there is no media buffer allocated. Setting the following
# value to 0 results in that Cobalt will allocate
# |cobalt_media_buffer_initial_capacity| bytes for media buffer on startup
# and will not release any media buffer memory back to the system even if
# there is no media buffers allocated.
'cobalt_media_buffer_pool_allocate_on_demand%': 1,
# The amount of memory that will be used to store media buffers allocated
# during system startup. To allocate a large chunk at startup helps with
# reducing fragmentation and can avoid failures to allocate incrementally.
# This can be set to 0.
'cobalt_media_buffer_initial_capacity%': 21 * 1024 * 1024,
# The maximum amount of memory that will be used to store media buffers when
# video resolution is no larger than 1080p. If 0, then memory can grow
# without bound. This must be larger than sum of 1080p video budget and non-
# video budget.
'cobalt_media_buffer_max_capacity_1080p%': 0,
# The maximum amount of memory that will be used to store media buffers when
# video resolution is 4k. If 0, then memory can grow without bound. This
# must be larger than sum of 4k video budget and non- video budget.
'cobalt_media_buffer_max_capacity_4k%': 0,
# When the media stack needs more memory to store media buffers, it will
# allocate extra memory in units of |cobalt_media_buffer_allocation_unit|.
# This can be set to 0, in which case the media stack will allocate extra
# memory on demand. When |cobalt_media_buffer_initial_capacity| and this
# value are both set to 0, the media stack will allocate individual buffers
# directly using SbMemory functions.
'cobalt_media_buffer_allocation_unit%': 1 * 1024 * 1024,
# The media buffer will be allocated using the following alignment. Set
# this to a larger value may increase the memory consumption of media
# buffers.
'cobalt_media_buffer_alignment%': 0,
# Extra bytes allocated at the end of a media buffer to ensure that the
# buffer can be use optimally by specific instructions like SIMD. Set to 0
# to remove any padding.
'cobalt_media_buffer_padding%': 0,
# The memory used when playing mp4 videos that is not in DASH format. The
# resolution of such videos shouldn't go beyond 1080p. Its value should be
# less than the sum of 'cobalt_media_buffer_non_video_budget' and
# 'cobalt_media_buffer_video_budget_1080p' but not less than 8 MB.
'cobalt_media_buffer_progressive_budget%': 12 * 1024 * 1024,
# Specifies the maximum amount of memory used by audio or text buffers of
# media source before triggering a garbage collection. A large value will
# cause more memory being used by audio buffers but will also make
# JavaScript app less likely to re-download audio data. Note that the
# JavaScript app may experience significant difficulty if this value is too
# low.
'cobalt_media_buffer_non_video_budget%': 5 * 1024 * 1024,
# Specifies the maximum amount of memory used by video buffers of media
# source before triggering a garbage collection when the video resolution is
# lower than 1080p (1920x1080). A large value will cause more memory being
# used by video buffers but will also make JavaScript app less likely to
# re-download video data. Note that the JavaScript app may experience
# significant difficulty if this value is too low.
'cobalt_media_buffer_video_budget_1080p%': 16 * 1024 * 1024,
# Specifies the maximum amount of memory used by video buffers of media
# source before triggering a garbage collection when the video resolution is
# lower than 4k (3840x2160). A large value will cause more memory being
# used by video buffers but will also make JavaScript app less likely to
# re-download video data. Note that the JavaScript app may experience
# significant difficulty if this value is too low.
'cobalt_media_buffer_video_budget_4k%': 60 * 1024 * 1024,
# Specifies the duration threshold of media source garbage collection. When
# the accumulated duration in a source buffer exceeds this value, the media
# source implementation will try to eject existing buffers from the cache.
# This is usually triggered when the video being played has a simple content
# and the encoded data is small. In such case this can limit how much is
# allocated for the book keeping data of the media buffers and avoid OOM of
# system heap.
# This should be set to 170 for most of the platforms. But it can be
# further reduced on systems with extremely low memory.
'cobalt_media_source_garbage_collection_duration_threshold_in_seconds%': 170,
'compiler_flags_host': [
'-D__LB_HOST__', # TODO: Is this still needed?
],
'defines_debug': [
'ALLOCATOR_STATS_TRACKING',
'COBALT_BOX_DUMP_ENABLED',
'COBALT_BUILD_TYPE_DEBUG',
'COBALT_ENABLE_JAVASCRIPT_ERROR_LOGGING',
'COBALT_ENABLE_VERSION_COMPATIBILITY_VALIDATIONS',
'COBALT_SECURITY_SCREEN_CLEAR_TO_UGLY_COLOR',
'ENABLE_DEBUG_COMMAND_LINE_SWITCHES',
'ENABLE_DEBUG_C_VAL',
'ENABLE_DEBUG_CONSOLE',
'ENABLE_IGNORE_CERTIFICATE_ERRORS',
'ENABLE_PARTIAL_LAYOUT_CONTROL',
'ENABLE_TEST_DATA',
'ENABLE_TEST_RUNNER',
# TODO: Rename to COBALT_LOGGING_ENABLED.
'__LB_SHELL__FORCE_LOGGING__',
'SK_DEVELOPER',
],
'defines_devel': [
'ALLOCATOR_STATS_TRACKING',
'COBALT_BUILD_TYPE_DEVEL',
'COBALT_ENABLE_JAVASCRIPT_ERROR_LOGGING',
'COBALT_ENABLE_VERSION_COMPATIBILITY_VALIDATIONS',
'COBALT_SECURITY_SCREEN_CLEAR_TO_UGLY_COLOR',
'ENABLE_DEBUG_COMMAND_LINE_SWITCHES',
'ENABLE_DEBUG_C_VAL',
'ENABLE_DEBUG_CONSOLE',
'ENABLE_IGNORE_CERTIFICATE_ERRORS',
'ENABLE_PARTIAL_LAYOUT_CONTROL',
'ENABLE_TEST_DATA',
'ENABLE_TEST_RUNNER',
'__LB_SHELL__FORCE_LOGGING__',
'SK_DEVELOPER',
],
'defines_qa': [
'ALLOCATOR_STATS_TRACKING',
'COBALT_BUILD_TYPE_QA',
'COBALT_ENABLE_JAVASCRIPT_ERROR_LOGGING',
'COBALT_SECURITY_SCREEN_CLEAR_TO_UGLY_COLOR',
'ENABLE_DEBUG_COMMAND_LINE_SWITCHES',
'ENABLE_DEBUG_C_VAL',
'ENABLE_DEBUG_CONSOLE',
'ENABLE_IGNORE_CERTIFICATE_ERRORS',
'ENABLE_PARTIAL_LAYOUT_CONTROL',
'ENABLE_TEST_DATA',
'ENABLE_TEST_RUNNER',
],
'defines_gold': [
'ALLOCATOR_STATS_TRACKING',
'COBALT_BUILD_TYPE_GOLD',
'COBALT_FORCE_CSP',
'COBALT_FORCE_HTTPS',
'TRACING_DISABLED',
],
},
'target_defaults': {
'defines': [
'COBALT',
'COBALT_MEDIA_BUFFER_POOL_ALLOCATE_ON_DEMAND=<(cobalt_media_buffer_pool_allocate_on_demand)',
'COBALT_MEDIA_BUFFER_INITIAL_CAPACITY=<(cobalt_media_buffer_initial_capacity)',
'COBALT_MEDIA_BUFFER_MAX_CAPACITY_1080P=<(cobalt_media_buffer_max_capacity_1080p)',
'COBALT_MEDIA_BUFFER_MAX_CAPACITY_4K=<(cobalt_media_buffer_max_capacity_4k)',
'COBALT_MEDIA_BUFFER_ALLOCATION_UNIT=<(cobalt_media_buffer_allocation_unit)',
'COBALT_MEDIA_BUFFER_ALIGNMENT=<(cobalt_media_buffer_alignment)',
'COBALT_MEDIA_BUFFER_PADDING=<(cobalt_media_buffer_padding)',
'COBALT_MEDIA_BUFFER_PROGRESSIVE_BUDGET=<(cobalt_media_buffer_progressive_budget)',
'COBALT_MEDIA_BUFFER_NON_VIDEO_BUDGET=<(cobalt_media_buffer_non_video_budget)',
'COBALT_MEDIA_BUFFER_VIDEO_BUDGET_1080P=<(cobalt_media_buffer_video_budget_1080p)',
'COBALT_MEDIA_BUFFER_VIDEO_BUDGET_4K=<(cobalt_media_buffer_video_budget_4k)',
'COBALT_MEDIA_SOURCE_GARBAGE_COLLECTION_DURATION_THRESHOLD_IN_SECONDS=<(cobalt_media_source_garbage_collection_duration_threshold_in_seconds)',
],
'conditions': [
['cobalt_media_source_2016 == 1', {
'defines': [
'COBALT_MEDIA_SOURCE_2016=1',
],
}, {
'defines': [
'COBALT_MEDIA_SOURCE_2012=1',
],
}],
['cobalt_media_buffer_storage_type == "memory"', {
'defines': [
'COBALT_MEDIA_BUFFER_STORAGE_TYPE_MEMORY=1',
],
}, {
'defines': [
'COBALT_MEDIA_BUFFER_STORAGE_TYPE_FILE=1',
],
}],
['cobalt_gc_zeal == 1', {
'defines': [
'COBALT_GC_ZEAL=1',
'JS_GC_ZEAL=1',
],
}],
['in_app_dial == 1', {
'defines': [
'DIAL_SERVER',
],
}],
['enable_spdy == 0', {
'defines': [
'COBALT_DISABLE_SPDY',
],
}],
],
}, # end of target_defaults
# For configurations other than Gold, set the flag that lets test data files
# be copied and carried along with the build.
# Clients must copy over all content; to avoid having to copy over extra data, we
# omit the test data
'conditions': [
['cobalt_config != "gold"', {
'variables' : {
'cobalt_copy_debug_console': 1,
'enable_about_scheme': 1,
'enable_fake_microphone': 1,
'enable_network_logging': 1,
'enable_remote_debugging%': 1,
'enable_webdriver%': 1,
},
},
{
'variables' : {
'cobalt_copy_debug_console': 0,
'enable_about_scheme': 0,
'enable_fake_microphone': 0,
'enable_network_logging': 0,
'enable_remote_debugging%': 0,
'enable_webdriver': 0,
},
}],
['cobalt_config != "gold" and cobalt_enable_lib == 0', {
'variables' : {
'cobalt_copy_test_data': 1,
},
},
{
'variables' : {
'cobalt_copy_test_data': 0,
},
}],
],
}