RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Papers & Presentations Archive
This is intended to be a comprehensive list of all compile time directives used inside AAMP code base.
Compile Time Directive | Notes |
---|---|
__APPLE__ | Defined by Xcode Compiler (Apple) |
__linux__ | Used in AAMP Cli Harvestor module for Path handling |
__UNIT_TESTING__ | Unit testing within a Class put under macro |
AAMP_CC_ENABLED | Includes closed caption support, using AampCCManager.cpp, base class for ClosedCaption integration layer AAMP_RDK_CC_ENABLED AAMP_SUBTEC_CC_ENABLED |
AAMP_CPC | indicates that this is CPC build; enforces some extra security for runtime configuration. Used for reading the environment variable for reading aamp.cfg |
AAMP_DEBUG_BOX_CONSTRUCT | enabled logging for unexpected mp4 box sizes |
AAMP_DEBUG_INJECT | enabled logging for every injected segment |
AAMP_HLS_DRM | includes content protection support for AAMP HLS playback |
AAMP_MPD_DRM | includes content protection support for AAMP DASH playback |
AAMP_SIMULATOR_BUILD | set for Darwin (Apple) and Ubuntu (Linux) builds |
AAMP_STOP_SINK_ON_SEEK | used in Intel build; workarounds for flushing pipeline, to avoid artifacts |
AAMP_VANILLA_AES_SUPPORT | support for HLS Vanilla AEA-128 encryption |
AAMP_WAIT_FOR_PLAYING_STATE | when GST_STATE_CHANGE_ASYNC returned, calls validateStateWithMsTimeout to briefly block waiting for state change to complete |
AMLOGIC | indicates that build is for AMLOGIC SOC (drives various low level workarounds for gstreamer integration) |
AVE_DRM | Includes code specific to (Deprecated) Adobe Access DRM. |
CMAKE_SYSTEM_NAME | equal to Darwin in Apple builds |
CMAKE_PLATFORM_UBUNTU | signals this is Linux (simulator) build |
CMAKE_CDM_DRM=1 | "Not Using OPEN CDM but using CDM" Enabled in RDK/CPC product Note: set as side effect of CMAKE_USE_OPENCDM_ADAPTER
|
CMAKE_USE_CLEARKEY=1 | Enabled in RDK/CPC product - allows content protected with ClearKey to work (using AampClearKeyHelper.cpp) - not used in production |
CMAKE_USE_OPENCDM_ADAPTER=1 | "Using OPEN CDM ADAPTER" Enabled in RDK/CPC product
|
CMAKE_USE_OPENCDM=0 | "Using OPEN CDM" Disabled in RDK/CPC product (direct use of opencdm library, alternate to opencdm adapter?) |
CMAKE_USE_PLAYREADY=1 | Enabled in RDK/CPC product - allows content protected with PlayReady to work (using AampPlayReadyHelper.cpp) |
CMAKE_USE_WIDEVINE=1 | Enabled in RDK/CPC product - allows content protected with PlayReady to work (using AampWidevineDrmHelper.cpp) |
CMAKE_USE_VGDRM | Used by CPC Verdi/Beethoven products (will be transitioning to DASH/WV) |
CMAKE_USE_VERIMATRIX | Verimatrix DRM support (hardware dependent) |
CONTENT_4K_SUPPORTED | platform supports playback of 4k resolution profiles enabled use of secure video path avoids filtering of profiles with width>1920 or height>1080 |
CREATE_PIPE_SESSION_TO_XRE | used to transmit IP_EX_TUNETIME profiling information to X1 receiver |
DEBUG_TIMELINE | Present in fragmentcollector_mpd, for a class of trace level output. Candidate to deprecate? |
ENABLE_AAMP_QTDEMUX_OVERRIDE | used to drive some aamp-specific workarounds in qtdemux for basePTS and NotifyFirstVideoPTS |
ENABLE_AVE_DRM_MANGER_DEBUG | Changes AVE_DRM_MANGER_DEBUG macro to use "WARN" log level instead of "TRACE" |
ENABLE_DUMP | Allows PSSH raw data to be logged. Off by default. |
EVENT_DEBUGGING | Optional profiling: "TimeTaken for Event %d SyncEvent [%d]",eventType." Off by default. |
GST_SUBTEC_ENABLED | Indicates availability of subtec caption rendering component. |
IARM_MGR | Advertises availability of Inter Application Resource Management) IARM framework, used with TR181 configuration and NET_SRV_MGR interface check (to determine if device using wifi), |
INTELCE | set if build target is for (end-of-development) Intel pxg1v1, one of our oldest non-Broadcom devices still used in production |
INTELCE_USE_VIDRENDSINK | used to manage Intel-specific Video Sink |
LIGHTTPD_AUTHSERVICE_DISABLE | CPC DRM specific - indicates that older http authservice for acquiring session token not to be used |
NO_PLAYBIN | use subtecbin (alternative to playbin) for subtitle fragments |
PLAYBINTEST_BUFFERING | Used with Playbintest module |
PLAYBINTEST_WESTEROSSINK | Used with Playbintest module |
READ_ESTB_IFACE_FROM_DEVICE_PROPERTIES | used to select platform-specific portion of getEstbMac utility function (reads from /etc/device.properties) |
REALTEKCE | indicates that build is for RealTek SOC (drives various low level workarounds for gstreamer integration) |
RENDER_FRAMES_IN_APP_CONTEXT | OSX specific at moment; cause rendering to be done by application using YUV frame buffers pumped to open texture |
TRACE | compile time option gating a good amount of noisy trace-level logging (much of this could be deprecated) |
UNIT_TEST_ENABLED | gates unit tests for aamp config parsing |
USE_CPP_THUNDER_PLUGIN_ACCESS | incorporates native (C/C++) Thunder Interface, used for HDMI/MediaRite tuning, and other Thunder APIs for RDK services |
USE_MAC_FOR_RANDOM_GEN | allows macaddress to be as part of PRNG to stagger license requests for key rotation for virtual stream stitcher (VSS) streams, to avoid thundering herd |
USE_SECCLIENT | CPC specific - use CPC Agnostic metadata and SecClient for license acquisition/DRM management - this flag drives availability of a native library for this interface (original implementation, still used on X1) |
USE_SECMANAGER | CPC specific - use CPC Agnostic metadata and SecClient for license acquisition/DRM management - this flag drives availability of a Thunder Interface for same (newer implementation, used by CPC builds, required for Watermarking feature) |
USE_SYSTEMD_JOURNAL_PRINT | drives use of sd_journal_print instead of generic printf for logging |
DISCLAIMER: Please note that the use of the RDK Wiki is subject to its Privacy Policy & Terms of Use. In addition, this Wiki may be accessed by all RDK licensees and their contractors.
Powered by a free Atlassian Confluence Open Source Project License granted to RDKCentral. Evaluate Confluence today.