![]() |
RDK Documentation (Open Sourced RDK Components)
|
Configurations for AAMP. More...
#include <iostream>#include <map>#include <stdio.h>#include <assert.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>#include <fcntl.h>#include <sys/stat.h>#include <sys/types.h>#include <algorithm>#include <string>#include <vector>#include <list>#include <fstream>#include <math.h>#include <ctype.h>#include <sstream>#include <curl/curl.h>#include "AampDefine.h"#include "AampLogManager.h"#include <cjson/cJSON.h>#include "AampDrmSystems.h"

Go to the source code of this file.
Data Structures | |
| struct | ConfigChannelInfo |
| Holds information of a channel. More... | |
| struct | customJson |
| Holds information of a custom JSON array. More... | |
| struct | AampConfigLookupEntry |
| AAMP Config lookup table structure. More... | |
| struct | AampOwnerLookupEntry |
| AAMP Config ownership enum string mapping table. More... | |
| struct | ConfigBool |
| AAMP Config Boolean data type. More... | |
| struct | ConfigInt |
| AAMP Config Int data type. More... | |
| struct | ConfigLong |
| AAMP Config Long data type. More... | |
| struct | ConfigDouble |
| AAMP Config double data type. More... | |
| struct | ConfigString |
| AAMP Config String data type. More... | |
| class | AampConfig |
| AAMP Config Class defn. More... | |
| union | AampConfigLookupEntry.Min |
| union | AampConfigLookupEntry.Max |
Macros | |
| #define | ISCONFIGSET(x) (aamp->mConfig->IsConfigSet(x)) |
| #define | ISCONFIGSET_PRIV(x) (mConfig->IsConfigSet(x)) |
| #define | SETCONFIGVALUE(owner, key, value) (aamp->mConfig->SetConfigValue(owner, key ,value)) |
| #define | SETCONFIGVALUE_PRIV(owner, key, value) (mConfig->SetConfigValue(owner, key ,value)) |
| #define | GETCONFIGVALUE(key, value) (aamp->mConfig->GetConfigValue( key ,value)) |
| #define | GETCONFIGVALUE_PRIV(key, value) (mConfig->GetConfigValue( key ,value)) |
| #define | GETCONFIGOWNER(key) (aamp->mConfig->GetConfigOwner(key)) |
| #define | GETCONFIGOWNER_PRIV(key) (mConfig->GetConfigOwner(key)) |
Typedefs | |
| typedef struct ConfigBool | ConfigBool |
| typedef struct ConfigInt | ConfigInt |
| AAMP Config Int data type. | |
| typedef struct ConfigLong | ConfigLong |
| AAMP Config Long data type. | |
| typedef struct ConfigDouble | ConfigDouble |
| AAMP Config double data type. | |
| typedef struct ConfigString | ConfigString |
| AAMP Config String data type. | |
Enumerations | |
| enum | AAMPConfigSettings |
| AAMP Config Settings. More... | |
Variables | |
| AampConfig * | gpGlobalConfig |
| Global configuration. | |
Configurations for AAMP.
Definition in file AampConfig.h.
| struct AampConfigLookupEntry |
AAMP Config lookup table structure.
Definition at line 361 of file AampConfig.h.

| Data Fields | ||
|---|---|---|
| const char * | cmdString | |
| AAMPConfigSettings | cfgEntryValue | |
| bool | bSupportOperatorSetting | |
| union AampConfigLookupEntry | Min | |
| union AampConfigLookupEntry | Max | |
| struct AampOwnerLookupEntry |
AAMP Config ownership enum string mapping table.
Definition at line 385 of file AampConfig.h.

| Data Fields | ||
|---|---|---|
| const char * | ownerName | |
| ConfigPriority | ownerValue | |
| union AampConfigLookupEntry.Min |
Definition at line 366 of file AampConfig.h.

| Data Fields | ||
|---|---|---|
| int | iMinValue | |
| long | lMinValue | |
| double | dMinValue | |
| union AampConfigLookupEntry.Max |
Definition at line 372 of file AampConfig.h.

| Data Fields | ||
|---|---|---|
| int | iMaxValue | |
| long | lMaxValue | |
| double | dMaxValue | |
| #define ISCONFIGSET | ( | x | ) | (aamp->mConfig->IsConfigSet(x)) |
CAUTION !!!! STOP !!! Read this before you proceed !!!!!!! /////////////
Definition at line 84 of file AampConfig.h.
| enum AAMPConfigSettings |
AAMP Config Settings.
| Enumerator | |
|---|---|
| eAAMPConfig_EnableABR | Enable/Disable adaptive bitrate logic |
| eAAMPConfig_Fog | Enable / Disable FOG |
| eAAMPConfig_PrefetchIFramePlaylistDL | Enabled prefetching of I-Frame playlist |
| eAAMPConfig_PreservePipeline | Flush instead of teardown |
| eAAMPConfig_DemuxAudioHLSTrack | Demux Audio track from HLS transport stream |
| eAAMPConfig_DemuxVideoHLSTrack | Demux Video track from HLS transport stream |
| eAAMPConfig_Throttle | Regulate output data flow |
| eAAMPConfig_DemuxAudioBeforeVideo | Demux video track from HLS transport stream track mode |
| eAAMPConfig_DemuxHLSVideoTsTrackTM | Send demuxed audio before video |
| eAAMPConfig_ForceEC3 | Forcefully enable DDPlus |
| eAAMPConfig_DisableEC3 | Disable DDPlus |
| eAAMPConfig_DisableATMOS | Disable Dolby ATMOS |
| eAAMPConfig_DisableAC4 | Disable AC4 Audio |
| eAAMPConfig_StereoOnly | Enable Stereo Only playback, disables EC3/ATMOS. Overrides ForceEC3 |
| eAAMPConfig_DescriptiveTrackName | Enable Descriptive track name |
| eAAMPConfig_DisableAC3 | Disable AC3 Audio |
| eAAMPConfig_DisablePlaylistIndexEvent | Disable playlist index event |
| eAAMPConfig_EnableSubscribedTags | Enabled subscribed tags |
| eAAMPConfig_DASHIgnoreBaseURLIfSlash | Ignore the constructed URI of DASH, if it is / |
| eAAMPConfig_AnonymousLicenseRequest | Acquire license without token |
| eAAMPConfig_HLSAVTrackSyncUsingStartTime | HLS A/V track to be synced with start time |
| eAAMPConfig_MPDDiscontinuityHandling | Enable MPD discontinuity handling |
| eAAMPConfig_MPDDiscontinuityHandlingCdvr | Enable MPD discontinuity handling for CDVR |
| eAAMPConfig_ForceHttp | Force HTTP |
| eAAMPConfig_InternalReTune | Internal re-tune on underflows/ pts errors |
| eAAMPConfig_AudioOnlyPlayback | AAMP Audio Only Playback |
| eAAMPConfig_GStreamerBufferingBeforePlay | Enable pre buffering logic which ensures minimum buffering is done before pipeline play |
| eAAMPConfig_EnablePROutputProtection | Playready output protection config |
| eAAMPConfig_ReTuneOnBufferingTimeout | Re-tune on buffering timeout |
| eAAMPConfig_SslVerifyPeer | Enable curl ssl certificate verification. |
| eAAMPConfig_EnableClientDai | Enabling the client side DAI |
| eAAMPConfig_PlayAdFromCDN | Play Ad from CDN. Not from FOG. |
| eAAMPConfig_EnableVideoEndEvent | Enable or disable videovend events |
| eAAMPConfig_EnableRectPropertyCfg | To allow or deny rectangle property set for sink element |
| eAAMPConfig_ReportVideoPTS | Enables Video PTS reporting |
| eAAMPConfig_DecoderUnavailableStrict | Reports decoder unavailable GST Warning as aamp error |
| eAAMPConfig_UseAppSrcForProgressivePlayback | Enables appsrc for playing progressive AV type |
| eAAMPConfig_DescriptiveAudioTrack | advertise audio tracks using <langcode>-<role> instead of just <langcode> |
| eAAMPConfig_ReportBufferEvent | Enables Buffer event reporting |
| eAAMPConfig_InfoLogging | Enables Info logging |
| eAAMPConfig_DebugLogging | Enables Debug logging |
| eAAMPConfig_TraceLogging | Enables Trace logging |
| eAAMPConfig_WarnLogging | Enables Warn logging |
| eAAMPConfig_FailoverLogging | Enables failover logging |
| eAAMPConfig_GSTLogging | Enables Gstreamer logging |
| eAAMPConfig_ProgressLogging | Enables Progress logging |
| eAAMPConfig_CurlLogging | Enables Curl logging |
| eAAMPConfig_CurlLicenseLogging | Enable verbose curl logging for license request (non-secclient) |
| eAAMPConfig_MetadataLogging | Enable timed metadata logging |
| eAAMPConfig_CurlHeader | enable curl header response logging on curl errors |
| eAAMPConfig_StreamLogging | Enables HLS Playlist content logging |
| eAAMPConfig_ID3Logging | Enables ID3 logging |
| eAAMPConfig_EnableGstPositionQuery | GStreamer position query will be used for progress report events, Enabled by default for non-Intel platforms |
| eAAMPConfig_MidFragmentSeek | Enable/Disable the Mid-Fragment seek functionality in aamp. |
| eAAMPConfig_PropogateURIParam | Feature where top-level manifest URI parameters included when downloading fragments |
| eAAMPConfig_UseWesterosSink | Enable/Disable player to use westeros sink based video decoding |
| eAAMPConfig_EnableLinearSimulator | Enable linear simulator for testing purpose, simulate VOD asset as a "virtual linear" stream. |
| eAAMPConfig_RetuneForUnpairDiscontinuity | disable unpaired discontinuity retun functionality |
| eAAMPConfig_RetuneForGSTError | disable retune mitigation for gst pipeline internal data stream error |
| eAAMPConfig_MatchBaseUrl | Enable host of main url will be matched with host of base url |
| eAAMPConfig_EnableSeekRange | Enable seekable range reporting via progress events |
| eAAMPConfig_DashParallelFragDownload | Enable dash fragment parallel download |
| eAAMPConfig_PersistentBitRateOverSeek | ABR profile persistence during Seek/Trickplay/Audio switching |
| eAAMPConfig_SetLicenseCaching | License caching |
| eAAMPConfig_ABRBufferCheckEnabled | Flag to enable/disable buffer based ABR handling |
| eAAMPConfig_NewDiscontinuity | Flag to enable/disable new discontinuity handling with PDT |
| eAAMPConfig_PlaylistParallelFetch | Enabled parallel fetching of audio & video playlists |
| eAAMPConfig_PlaylistParallelRefresh | Enabled parallel fetching for refresh of audio & video playlists |
| eAAMPConfig_BulkTimedMetaReport | Enabled Bulk event reporting for TimedMetadata |
| eAAMPConfig_AvgBWForABR | Enables usage of AverageBandwidth if available for ABR |
| eAAMPConfig_NativeCCRendering | If native CC rendering to be supported |
| eAAMPConfig_Subtec_subtitle | Enable subtec-based subtitles |
| eAAMPConfig_WebVTTNative | Enable subtec-based subtitles |
| eAAMPConfig_AsyncTune | To enable Asynchronous tune |
| eAAMPConfig_DisableUnderflow | Enable/Disable Underflow processing |
| eAAMPConfig_LimitResolution | Flag to indicate if display resolution based profile selection to be done |
| eAAMPConfig_UseAbsoluteTimeline | Enable Report Progress report position based on Availability Start Time |
| eAAMPConfig_EnableAccessAttributes | Usage of Access Attributes in VSS |
| eAAMPConfig_WideVineKIDWorkaround | SkyDE Store workaround to pick WV DRM Key Id from different location |
| eAAMPConfig_RepairIframes | Enable fragment repair (Stripping and box size correction) for iframe tracks |
| eAAMPConfig_SEITimeCode | Enables SEI Time Code handling |
| eAAMPConfig_Disable4K | Enalbe/Disable 4K stream support |
| eAAMPConfig_EnableSharedSSLSession | Enable/Disable config for shared ssl session reuse |
| eAAMPConfig_InterruptHandling | Enables Config for network interrupt handling |
| eAAMPConfig_EnableLowLatencyDash | Enables Low Latency Dash |
| eAAMPConfig_DisableLowLatencyABR | Enables Low Latency ABR handling |
| eAAMPConfig_EnableLowLatencyCorrection | Enables Low Latency Correction handling |
| eAAMPConfig_EnableLowLatencyOffsetMin | Enables Low Latency Offset Min handling |
| eAAMPConfig_SyncAudioFragments | Flag to enable Audio Video Fragment Sync |
| eAAMPConfig_EnableIgnoreEosSmallFragment | Enable/Disable Small fragment ignore based on minimum duration Threshold at period End |
| eAAMPConfig_UseSecManager | Enable/Disable secmanager instead of secclient for license acquisition |
| eAAMPConfig_EnablePTO | Enable/Disable PTO Handling |
| eAAMPConfig_EnableAampConfigToFog | Enable/Disable player config to Fog on every tune |
| eAAMPConfig_XRESupportedTune | Enable/Disable XRE supported tune |
| eAAMPConfig_GstSubtecEnabled | Force Gstreamer subtec |
| eAAMPConfig_AllowPageHeaders | Allow page http headers |
| eAAMPConfig_SuppressDecode | To Suppress Decode of segments for playback . Test only Downloader |
| eAAMPConfig_PersistLowNetworkBandwidth | Flag to enable Persist High Network Bandwidth across Tunes |
| eAAMPConfig_ChangeTrackWithoutRetune | Flag to enable Persist Low Network Bandwidth across Tunes Flag to enable audio track change without disturbing video pipeline |
| eAAMPConfig_EnableCurlStore | Enable/Disable CurlStore to save/reuse curl fds |
| eAAMPConfig_RuntimeDRMConfig | Enable/Disable Dynamic DRM config feature |
| eAAMPConfig_EnablePublishingMuxedAudio | Enable/Disable publishing the audio track info from muxed contents |
| eAAMPConfig_EnableCMCD | Enable/Disable CMCD config feature |
| eAAMPConfig_EnableSlowMotion | Enable/Disable Slowmotion playback |
| eAAMPConfig_EnableSCTE35PresentationTime | Enable/Disable use of SCTE PTS presentation time |
| eAAMPConfig_JsInfoLogging | Enable/disable jsinfo logging |
| eAAMPConfig_BoolMaxValue | <Config to ignore the liveOffset from App for LLD |
| eAAMPConfig_HarvestCountLimit | Number of files to be harvested |
| eAAMPConfig_HarvestConfig | Indicate type of file to be harvest |
| eAAMPConfig_ABRCacheLife | Adaptive bitrate cache life in seconds |
| eAAMPConfig_ABRCacheLength | Adaptive bitrate cache length |
| eAAMPConfig_TimeShiftBufferLength | TSB length |
| eAAMPConfig_ABRCacheOutlier | Adaptive bitrate outlier, if values goes beyond this |
| eAAMPConfig_ABRSkipDuration | Initial duration for ABR skip |
| eAAMPConfig_ABRNWConsistency | Adaptive bitrate network consistency |
| eAAMPConfig_ABRThresholdSize | AAMP ABR threshold size |
| eAAMPConfig_MaxFragmentCached | fragment cache length |
| eAAMPConfig_BufferHealthMonitorDelay | Buffer health monitor start delay after tune/ seek |
| eAAMPConfig_BufferHealthMonitorInterval | Buffer health monitor interval |
| eAAMPConfig_PreferredDRM | Preferred DRM |
| eAAMPConfig_TuneEventConfig | When to send TUNED event |
| eAAMPConfig_VODTrickPlayFPS | Trickplay frames per second for VOD |
| eAAMPConfig_LinearTrickPlayFPS | Trickplay frames per second for Linear |
| eAAMPConfig_LicenseRetryWaitTime | License retry wait interval |
| eAAMPConfig_LicenseKeyAcquireWaitTime | License key acquire wait time |
| eAAMPConfig_PTSErrorThreshold | Max number of back-to-back PTS errors within designated time |
| eAAMPConfig_MaxPlaylistCacheSize | Max Playlist Cache Size |
| eAAMPConfig_MaxDASHDRMSessions | Max drm sessions that can be cached by AampDRMSessionManager |
| eAAMPConfig_Http5XXRetryWaitInterval | Wait time in milliseconds before retry for 5xx errors |
| eAAMPConfig_LanguageCodePreference | prefered format for normalizing language code |
| eAAMPConfig_RampDownLimit | Set fragment rampdown/retry limit for video fragment failure |
| eAAMPConfig_InitRampDownLimit | Maximum number of rampdown/retries for initial playlist retrieval at tune/seek time |
| eAAMPConfig_DRMDecryptThreshold | Retry count on drm decryption failure |
| eAAMPConfig_SegmentInjectThreshold | Retry count for segment injection discard/failue |
| eAAMPConfig_InitFragmentRetryCount | Retry attempts for init frag curl timeout failures |
| eAAMPConfig_MinABRNWBufferRampDown | Mininum ABR Buffer for Rampdown |
| eAAMPConfig_MaxABRNWBufferRampUp | Maximum ABR Buffer for Rampup |
| eAAMPConfig_PrePlayBufferCount | Count of segments to be downloaded until play state |
| eAAMPConfig_PreCachePlaylistTime | Max time to complete PreCaching .In Minutes |
| eAAMPConfig_CEAPreferred | To force 608/708 track selection in CC manager |
| eAAMPConfig_SourceSetupTimeout | Timeout value wait for GStreamer appsource setup to complete |
| eAAMPConfig_LivePauseBehavior | player paused state behavior |
| eAAMPConfig_GstVideoBufBytes | Gstreamer Max Video buffering bytes |
| eAAMPConfig_GstAudioBufBytes | Gstreamer Max Audio buffering bytes |
| eAAMPConfig_LatencyMonitorDelay | Latency Monitor Delay |
| eAAMPConfig_LatencyMonitorInterval | Latency Monitor Interval |
| eAAMPConfig_MaxFragmentChunkCached | fragment chunk cache length |
| eAAMPConfig_ABRChunkThresholdSize | AAMP ABR Chunk threshold size |
| eAAMPConfig_LLMinLatency | Low Latency Min Latency Offset |
| eAAMPConfig_LLTargetLatency | Low Latency Target Latency |
| eAAMPConfig_LLMaxLatency | Low Latency Max Latency |
| eAAMPConfig_FragmentDownloadFailThreshold | Retry attempts for non-init fragment curl timeout failures |
| eAAMPConfig_MaxInitFragCachePerTrack | Max no of Init fragment cache per track |
| eAAMPConfig_FogMaxConcurrentDownloads | Concurrent download posted to fog from player |
| eAAMPConfig_ContentProtectionDataUpdateTimeout | Default Timeout For ContentProtectionData Update |
| eAAMPConfig_MaxCurlSockStore | Max no of curl socket to be stored |
| eAAMPConfig_DefaultBitrate | Default bitrate |
| eAAMPConfig_DefaultBitrate4K | Default 4K bitrate |
| eAAMPConfig_IFrameDefaultBitrate | Default bitrate for iframe track selection for non-4K assets |
| eAAMPConfig_IFrameDefaultBitrate4K | Default bitrate for iframe track selection for 4K assets |
| eAAMPConfig_CurlStallTimeout | Timeout value for detection curl download stall in seconds |
| eAAMPConfig_CurlDownloadStartTimeout | Timeout value for curl download to start after connect in seconds |
| eAAMPConfig_CurlDownloadLowBWTimeout | Timeout value for curl download expiry if player cann't catchup the selected bitrate buffer |
| eAAMPConfig_DiscontinuityTimeout | Timeout value to auto process pending discontinuity after detecting cache is empty |
| eAAMPConfig_MinBitrate | minimum bitrate filter for playback profiles |
| eAAMPConfig_MaxBitrate | maximum bitrate filter for playback profiles |
| eAAMPConfig_NetworkTimeout | Fragment download timeout in sec |
| eAAMPConfig_ManifestTimeout | Manifest download timeout in sec |
| eAAMPConfig_PlaylistTimeout | playlist download time out in sec |
| eAAMPConfig_ReportProgressInterval | Interval of progress reporting |
| eAAMPConfig_PlaybackOffset | playback offset value in seconds |
| eAAMPConfig_LiveOffset | Current LIVE offset |
| eAAMPConfig_LiveOffset4K | Live offset for 4K content; |
| eAAMPConfig_CDVRLiveOffset | CDVR LIVE offset |
| eAAMPConfig_MapMPD | host name in url for which hls to mpd mapping done' |
| eAAMPConfig_MapM3U8 | host name in url for which mpd to hls mapping done' |
| eAAMPConfig_HarvestPath | Path to store Harvested files |
| eAAMPConfig_LicenseServerUrl | License server URL ( if no individual configuration |
| eAAMPConfig_CKLicenseServerUrl | ClearKey License server URL |
| eAAMPConfig_PRLicenseServerUrl | PlayReady License server URL |
| eAAMPConfig_WVLicenseServerUrl | Widevine License server URL |
| eAAMPConfig_UserAgent | Curl user-agent string |
| eAAMPConfig_SubTitleLanguage | User preferred subtitle language |
| eAAMPConfig_CustomHeader | custom header string data to be appended to curl request |
| eAAMPConfig_URIParameter | uri parameter data to be appended on download-url during curl request |
| eAAMPConfig_NetworkProxy | Network Proxy |
| eAAMPConfig_LicenseProxy | License Proxy |
| eAAMPConfig_AuthToken | Session Token |
| eAAMPConfig_LogLevel | New Configuration to overide info/debug/trace |
| eAAMPConfig_CustomHeaderLicense | custom header string data to be appended to curl License request |
| eAAMPConfig_PreferredAudioRendition | New Configuration to save preferred Audio rendition/role descriptor field; support only single string value |
| eAAMPConfig_PreferredAudioCodec | New Configuration to save preferred Audio codecs values; support comma separated multiple string values |
| eAAMPConfig_PreferredAudioLanguage | New Configuration to save preferred Audio languages; support comma separated multiple string values |
| eAAMPConfig_PreferredAudioLabel | New Configuration to save preferred Audio label field; Label is a textual description of the content. Support only single string value |
| eAAMPConfig_PreferredAudioType | New Configuration to save preferred Audio Type field; type indicate the accessibility type of audio track |
| eAAMPConfig_PreferredTextRendition | New Configuration to save preferred Text rendition/role descriptor field; support only single string value |
| eAAMPConfig_PreferredTextLanguage | New Configuration to save preferred Text languages; support comma separated multiple string values |
| eAAMPConfig_PreferredTextLabel | New Configuration to save preferred Text label field; Label is a textual description of the content. Support only single string value |
| eAAMPConfig_PreferredTextType | New Configuration to save preferred Text Type field; type indicate the accessibility type of text track |
| eAAMPConfig_CustomLicenseData | Custom Data for License Request |
| eAAMPConfig_SchemeIdUriDaiStream | Scheme Id URI String for DAI Stream |
| eAAMPConfig_SchemeIdUriVssStream | Scheme Id URI String for VSS Stream |
| eAAMPConfig_LRHAcceptValue | Custom License Request Header Data |
| eAAMPConfig_LRHContentType | Custom License Request ContentType Data |
Definition at line 95 of file AampConfig.h.