blob: 99d92f822809dc7308fc6fa947212e738ddd7e97 [file] [view]
---
layout: doc
title: "Starboard Module Reference: configuration_constants.h"
---
Declares all configuration variables we will need to use at runtime. These
variables describe the current platform in detail to allow cobalt to make
runtime decisions based on per platform configurations.
## Variables ##
### kSbDefaultMmapThreshold ###
Determines the threshold of allocation size that should be done with mmap (if
available), rather than allocated within the core heap.
### kSbFileAltSepChar ###
The current platform's alternate file path component separator character. This
is like SB_FILE_SEP_CHAR, except if your platform supports an alternate
character, then you can place that here. For example, on windows machines, the
primary separator character is probably '\', but the alternate is '/'.
### kSbFileAltSepString ###
The string form of SB_FILE_ALT_SEP_CHAR.
### kSbFileMaxName ###
The current platform's maximum length of the name of a single directory entry,
not including the absolute path.
### kSbFileMaxOpen ###
The current platform's maximum number of files that can be opened at the same
time by one process.
### kSbFileMaxPath ###
The current platform's maximum length of an absolute path.
### kSbFileSepChar ###
The current platform's file path component separator character. This is the
character that appears after a directory in a file path. For example, the
absolute canonical path of the file "/path/to/a/file.txt" uses '/' as a path
component separator character.
### kSbFileSepString ###
The string form of SB_FILE_SEP_CHAR.
### kSbHasMediaWebmVp9Support ###
Specifies whether this platform has webm/vp9 support. This should be set to non-
zero on platforms with webm/vp9 support.
### kSbHasThreadPrioritySupport ###
Whether the current platform supports thread priorities.
### kSbMallocAlignment ###
Determines the alignment that allocations should have on this platform.
### kSbMaxSystemPathCacheDirectorySize ###
The maximum size the cache directory is allowed to use in bytes.
### kSbMaxThreadLocalKeys ###
The maximum number of thread local storage keys supported by this platform. This
comes from _POSIX_THREAD_KEYS_MAX. The value of PTHREAD_KEYS_MAX is higher, but
unit tests show that the implementation doesn't support nearly as many keys.
### kSbMaxThreadNameLength ###
The maximum length of the name for a thread, including the NULL-terminator.
### kSbMaxThreads ###
Defines the maximum number of simultaneous threads for this platform. Some
platforms require sharing thread handles with other kinds of system handles,
like mutexes, so we want to keep this manageable.
### kSbMediaMaxAudioBitrateInBitsPerSecond ###
The maximum audio bitrate the platform can decode. The following value equals to
5M bytes per seconds which is more than enough for compressed audio.
### kSbMediaMaxVideoBitrateInBitsPerSecond ###
The maximum video bitrate the platform can decode. The following value equals to
8M bytes per seconds which is more than enough for compressed video.
### kSbMediaVideoFrameAlignment ###
Specifies how video frame buffers must be aligned on this platform.
### kSbMemoryLogPath ###
Defines the path where memory debugging logs should be written to.
### kSbMemoryPageSize ###
The memory page size, which controls the size of chunks on memory that
allocators deal with, and the alignment of those chunks. This doesn't have to be
the hardware-defined physical page size, but it should be a multiple of it.
### kSbNetworkReceiveBufferSize ###
Specifies the network receive buffer size in bytes, set via
SbSocketSetReceiveBufferSize().
Setting this to 0 indicates that SbSocketSetReceiveBufferSize() should not be
called. Use this for OSs (such as Linux) where receive buffer auto-tuning is
better.
On some platforms, this may affect max TCP window size which may dramatically
affect throughput in the presence of latency.
If your platform does not have a good TCP auto-tuning mechanism, a setting of
(128 * 1024) here is recommended.
### kSbPathSepChar ###
The current platform's search path component separator character. When
specifying an ordered list of absolute paths of directories to search for a
given reason, this is the character that appears between entries. For example,
the search path of "/etc/search/first:/etc/search/second" uses ':' as a search
path component separator character.
### kSbPathSepString ###
The string form of SB_PATH_SEP_CHAR.
### kSbPreferredRgbaByteOrder ###
Specifies the preferred byte order of color channels in a pixel. Refer to
starboard/configuration.h for the possible values. EGL/GLES platforms should
generally prefer a byte order of RGBA, regardless of endianness.
### kSbUserMaxSignedIn ###
The maximum number of users that can be signed in at the same time.