RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
A Small set of configs added today . Need to add more into this independent configuration
For Configuration defaultBitrate , following RFC setting to be modified
Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.aamp.defaultBitrate=300000
Steps to add individual RFC configuration
b1. Set the config structure variable for RFC as true
{"defaultBitrate",eAAMPConfig_DefaultBitrate,true,{.lMinValue=-1},{.lMaxValue=-1}},
b2. Add the configuration name to datamodel xml file in tr69 host interface . Example given below
https://gerrit.teamccp.com/#/c/703860/
Configuration options are passed to AAMP using the UVE initConfig method. This allows the application override default configuration used by AAMP player to give more control over player behavior. Parameter is a JSON Object with one or more attribute/value pairs as follows:
Two set of configuration table listed below . A small subset which is published in AAMP documentation . Second table list remaining huge set of configurations player support for development
Slno | Property | Type | Default Value | Independent RFC Support | aamp.cfg setting | Description |
1 | asyncTune | Boolean | TRUE | Yes | Optional field to enable asynchronous player API processing. Application / UI caller threads returned immediately without any processing delays. | |
2 | authToken | String | - | No | Optional field to set AuthService token for license acquisition(version 2.7) | |
3 | bulkTimedMetadata | Boolean | FALSE | No | Send timed metadata using single stringified JSON array instead of individual events available starting with version 0.8 | |
4 | defaultBitrate | Number | 2500000 | Yes | max initial bitrate (bps). | |
5 | defaultBitrate4K | Number | 13000000 | Yes | max initial bitrate for 4k video playback (bps) | |
6 | descriptiveTrackName | Boolean | FALSE | No | Use descriptive audio track naming format which is a combination of - (version 2.6) | |
7 | disable4K | Boolean | FALSE | No | Optional field to disable 4K profile playback and restrict only to non-4k video profiles | |
8 | disableAC3 | Boolean | FALSE | Yes | Optional field to disable selection of AC3 audio track | |
9 | disableAC4 | Boolean | FALSE | Yes | Optional field to disable selection of AC4 audio track | |
10 | disableATMOS | Boolean | FALSE | Yes | Optional field to disable selection of ATMOS audio track | |
11 | disableEC3 | Boolean | FALSE | Yes | Optional field to disable selection of EC3/AC3 audio track | |
12 | downloadBuffer | Number | 4 | No | max amount of time to download ahead of playhead (fragments). Example: With a downloadBuffer of 4 (default) there will be 4 fragments (typically 2s each) of video or audio harvested and buffered in advance, in additional to internal playback buffering | |
13 | downloadStallTimeout | Number | - | No | Optional optimization - Allow fast-failure for class of curl-detectable mid-download stalls (in seconds) | |
14 | downloadStartTimeout | Number | - | No | Optional optimization - Allow fast-failure for class of curl-detectable stall at start of download (in seconds) | |
15 | drmDecryptFailThreshold | Number | 10 | No | Maximum number of fragment decrypt failures before reporting playback error (version 1.0) | |
16 | enableSeekableRange | Boolean | FALSE | No | Optional field to enable reporting of seekable range for linear scrubbing | |
17 | fragmentDownloadFailThreshold | Number | 10 | No | Maximum number of fragment download failures before reporting playback error | |
18 | initFragmentRetryCount | Number | 1 | No | Maximum number of retries for MP4 header fragment download failures (version 2.4) | |
19 | initialBitrate | Number | 2500000 | No | max initial bitrate (bps). | |
20 | initialBitrate4K | Number | 13000000 | No | max initial bitrate for 4k video playback (bps) | |
21 | initialBuffer | Number | - | No | Optional pre-tune buffering (in seconds) before playback start (version 2.4) | |
22 | langCodePreference | Number | 0 | No | Set the preferred format for language codes in other events/APIs (version 2.6) NO_LANGCODE_PREFERENCE = 0, 3_CHAR_BIBLIOGRAPHIC_LANGCODE = 1, 3_CHAR_TERMINOLOGY_LANGCODE = 2, 2_CHAR_LANGCODE = 3 | |
23 | licenseProxy | String | - | No | Network proxy to use for license requests (Format same as network proxy) | |
24 | limitResolution | Boolean | FALSE | No | Optional field to set maximum video profile resolution based on TV display resolution setting . Default Off. | |
25 | liveOffset | Number | 15 | Yes | Allows override the default/stream-defined distance from a live point for live stream playback (in seconds) | |
26 | liveOffset4K | Number | 15 | Yes | Allows override the default/stream-defined distance from a live point for 4K live stream playback (in seconds) | |
27 | livePauseBehavior | Number | 0 | No | Optional field to configure player live pause behavior on linear streams when live window touches eldest position. Options: 0 – Autoplay immediate; 1 – Live immediate; 2 – Autoplay defer; 3 – Live defer; Default – Autoplay immediate | |
28 | manifestTimeout | Number | 10 | Yes | Manifest download timeout; overrides networkTimeout if both present; available starting with version 0.8 . Applied to Main manifest in HLS and DASH manifest download. (in seconds) | |
29 | maxBitrate | Number | - | Yes | Optional profile clamping (in bps) | |
30 | maxInitFragCachePerTrack | Number | 5 | Yes | Number of init header file cached per player instance per track type. Use cached data instead of network re-download | |
31 | maxPlaylistCacheSize | Number | 0 | No | Optional field to configure maximum cache size in Kbytes to store different profile HLS VOD playlist | |
32 | minBitrate | Number | - | Yes | Optional profile clamping (in bps) | |
33 | nativeCCRendering | Boolean | FALSE | No | Use native ClosedCaption support in AAMP (version 2.6) | |
34 | networkProxy | String | - | No | Network proxy to use (Format ://) | |
35 | networkTimeout | Number | 10 | Yes | network request timeout for fragment/playlist/manifest downloads (in seconds) | |
36 | offset | Number | 0 | No | start position offset in seconds(same as seek() method) | |
37 | parallelPlaylistDownload | Boolean | TRUE | No | Optional optimization – download audio and video playlists in parallel for HLS; available starting with version 0.8 | |
38 | parallelPlaylistRefresh | Boolean | TRUE | No | Optionally disable audio video playlist parallel download for linear (only for HLS) | |
39 | persistBitrateOverSeek | Boolean | FALSE | Yes | To enable AAMP persisting video profile during Seek/Trickplay/Audio switching operation | |
40 | persistHighNetworkBandwidth | Boolean | FALSE | No | Optional field to Enable/Disable persisting High Network Bandwidth to next tune . This will override initialBitrate settings | |
41 | persistLowNetworkBandwidth | Boolean | TRUE | No | Optional field to Enable/Disable persisting Low Network Bandwidth to next tune . This will override initialBitrate settings | |
42 | playlistTimeout | Number | 10 | Yes | HLS playlist download timeout; overrides networkTimeout if both present; available starting with version 1.0 (in seconds) | |
43 | preCachePlaylistTime | Number | - | No | Optionally enable PreCaching of Playlist and TimeWindow for Cache(minutes) ( version 1.0) | |
44 | preferredAudioCodec | String | No | Optional field to set preferred Audio Codec. Comma-delimited list of formats, where each format specifies a media sample type that is present in one or more Renditions specified by the Variant Stream. Example: mp4a.40.2, avc1.4d401e | ||
45 | preferredAudioLanguage | String | en | No | ISO-639 audio language preference; for more than one language, provide comma delimited list from highest to lowest priority: ‘,<...>,’ | |
46 | preferredAudioRendition | String | No | Optional field to set preferred Audio rendition setting DASH : caption,subtitle, main; HLS : GROUP-ID | ||
47 | preferredSubtitleLanguage | String | en | No | ISO-639 language code used with VTT OOB captions | |
48 | progressReportingInterval | Number | 1 | No | Optionally change Progress Report Interval (in seconds) | |
49 | propagateUriParameters | Boolean | TRUE | No | Optional field to disable propagating URI parameters from Main manifest to segment downloads | |
50 | reportVideoPTS | Boolean | FALSE | No | Optional field to enable Video PTS reporting along with progressReport (version 3.0) | |
51 | setLicenseCaching | Boolean | TRUE | No | Optional field to disable License Caching in player . By default 3 DRM Sessions are Cached . | |
52 | sharedSSL | Boolean | TRUE | No | Optional field to disable sharing SSL context for all download sessions, across manifest, playlist and segments . | |
53 | sslVerifyPeer | Boolean | TRUE | No | Optional field to enable/disable SSL peer verification .Default enabled | |
54 | stereoOnly | Boolean | FALSE | Yes | Optional forcing of playback to only select stereo audio track available starting with version 0.8 | |
55 | supportTLS | Number | 6 | Yes | Default set to CURL_SSLVERSION_TLSv1_2 (value of 6 , uses CURLOPT_SSLVERSION values) | |
56 | timeShiftBufferLength | Number | - | No | (not supported, for future) | |
57 | tsbInterruptHandling | Boolean | FALSE | Yes | Optional field to enable support for Network interruption handling with TSB. Network failures will be ignored and TSB will continue building | |
58 | useAbsoluteTimeline | Boolean | FALSE | No | Optional field to enable progress reporting based on Availability Start Time of the stream (DASH Only) | |
59 | useAverageBandwidth | Boolean | FALSE | No | Optional Average bandwidth for ABR switching ( version 1.0) | |
60 | useMatchingBaseUrl | Boolean | FALSE | No | use DASH main manifest hostname to select from multiple base URLs in DASH (when present). By default, will always choose first (version 2.4) | |
61 | useRetuneForGstInternalError | Boolean | TRUE | No | Optional Gstreamer error retune config ( version 2.7) | |
62 | useRetuneForUnpairedDiscontinuity | Boolean | TRUE | No | Optional unpaired discontinuity retune config ( version 1.0) | |
63 | useSecManager | Boolean | TRUE | Yes | Optional field to enable /disable the usage of SecManager for Watermarking functionality |
DRM configuration options are passed to AAMP using the setDRMConfig method. Parameter is JSON object with pairs of protectionScheme: licenseServerUrl pairs, along with preferredKeySystem specifying a preferred protectionScheme.
Property | Type | Description |
---|---|---|
com.microsoft.playready | String | License server endpoint to use with PlayReady DRM. Example: http://test.playready.microsoft.com/service/rightsmanager.asmx |
com.widevine.alpha | String | License server endpoint to use with Widevine DRM. Example: https://widevine-proxy.appspot.com/proxy |
preferredKeysystem | String | Used to disambiguate which DRM type to use, when manifest advertises multiple supported DRM systems. Example: com.widevine.alpha |
customLicenseData | String | Optional field to provide Custom data for license request |
SlNo | Property | Type | Default Value | Independent RFC Support | aamp.cfg setting | Description |
1 | abr | Boolean | TRUE | No | abr=0 | Enable/Disable ABR in player |
2 | abrChunkThresholdSize | |||||
3 | allowPageHeaders | |||||
4 | appSrcForProgressivePlayback | Boolean | FALSE | No | appSrcForProgressivePlayback=1 | Enables appsrc for playing progressive AV type streams |
5 | audioOnlyPlayback | Boolean | FALSE | No | audioOnlyPlayback=1 | Support Audio only Playback from the stream |
6 | cdnAdsOnly | Boolean | FALSE | No | cdnAdsOnly=1 | Enable/Disable picking Ads from CDN directly instead from Fog . Used for dev testing. |
7 | ceaFormat | |||||
8 | changeTrackWithoutRetune | |||||
9 | ckLicenseServerUrl | |||||
10 | client-dai | Boolean | FALSE | Yes | client-dai=1 | Enable/Disable Client-DAI |
11 | configRuntimeDRM | |||||
12 | contentProtectionDataUpdateTimeout | |||||
13 | curl | Boolean | FALSE | No | curl=1 | Enable/Disable verbose mode in curl downloads |
14 | curlHeader | Boolean | FALSE | No | curlHeader=1 | Enable/Disable curl header response logging on curl errors |
15 | curlLicense | Boolean | FALSE | No | curlLicense=1 | Enable/Disable Verbose logging of license fetch curl request done by player |
16 | curlStore | |||||
17 | customHeaderLicense | |||||
18 | dashIgnoreBaseUrlIfSlash | Boolean | FALSE | No | dashIgnoreBaseUrlIfSlash=1 | Ignore the base URI of DASH if only "/" present |
19 | debug | Boolean | FALSE | No | debug=1 | Enable/Disable debug level logging in the player |
20 | decoderUnavailableStrict | Boolean | FALSE | No | decoderUnavailableStrict=1 | Reports decoder unavailable GST Warning as player error |
21 | demuxAudioBeforeVideo | Boolean | FALSE | No | demuxAudioBeforeVideo=1 | Enable Demuxing Audio before Audio track |
22 | demuxHlsAudioTrack | Boolean | TRUE | No | demuxHlsAudioTrack=0 | Demux Audio track from HLS transport stream |
23 | demuxHlsVideoTrack | Boolean | TRUE | No | demuxHlsVideoTrack=0 | Demux Video track from HLS transport stream |
24 | demuxHlsVideoTrackTrickMode | Boolean | TRUE | No | demuxHlsVideoTrackTrickMode=0 | Demux Video track from HLS transport stream during TrickMode |
25 | disableLowLatencyABR | |||||
26 | disablePlaylistIndexEvent | Boolean | TRUE | No | disablePlaylistIndexEvent=0 | Disables generation of playlist indexed event by AAMP on tune/trickplay/seek |
27 | disableUnderflow | |||||
28 | downloadBufferChunks | |||||
29 | downloadDelay | |||||
30 | enableAccessAttributes | |||||
31 | enableCMCD | Boolean | TRUE | Yes | ||
32 | enableDisconnectSignals | Boolean | ||||
33 | enableEOSInjectionDuringStop | Boolean | ||||
34 | enableEosSmallFragment | |||||
35 | enableFogConfig | |||||
36 | enableLowLatencyCorrection | Boolean | TRUE | Yes | ||
37 | enableLowLatencyDash | |||||
38 | enableLowLatencyOffsetMin | |||||
39 | enablePublishingMuxedAudio | |||||
40 | enableSCTE35PresentationTime | Boolean | ||||
41 | enableSlowMotion | Boolean | TRUE | Yes | ||
42 | enableSubscribedTags | Boolean | TRUE | No | enableSubscribedTags=0 | Enable parsing and reporting event for Enable subscribed tags |
43 | enableVideoEndEvent | Boolean | TRUE | Yes | enableVideoEndEvent=0 | Enable/Disable Video End event generation at the end of playback |
44 | enableVideoRectangle | Boolean | TRUE | No | enableVideoRectangle=0 | Enable/Disable Setting of rectangle property for sink element. If westeros is enabled , this config will be turned off . |
45 | failover | Boolean | FALSE | No | failover=1 | Enable/Disable failover tag and manifest detail logging |
46 | fog | Boolean | TRUE | No | fog=0 | Enable/Disable Fog support in player |
47 | fogMaxConcurrentDownloads | |||||
48 | forceEC3 | Boolean | FALSE | No | forceEC3=1 | Forcefully enable DDPlus ( replace ".m3u8" with "-eac3.m3u8" to access comcast eac3 stream) |
49 | forceHttp | Boolean | FALSE | No | forceHttp=1 | Allow forcing of HTTP protocol instead of HTTPS URLs |
50 | fragmentRetryLimit | |||||
51 | gst | Boolean | FALSE | No | gst=1 | Enable/Disable player gstreamer debug logging in the player |
52 | gstAudioBufBytes | |||||
53 | gstBufferAndPlay | Boolean | TRUE | No | gstBufferAndPlay=0 | Pre-buffering which ensures minimum buffering is done before pipeline play |
54 | gstSubtecEnabled | |||||
55 | gstVideoBufBytes | |||||
56 | hlsAVTrackSyncUsingPDT | Boolean | FALSE | No | hlsAVTrackSyncUsingPDT=1 | Use EXT-X-PROGRAM-DATE to synchronize audio and video playlists. |
57 | id3 | Boolean | FALSE | No | id3=1 | Enable/Disable ID3 debug logging |
58 | ignoreAppLiveOffset | Boolean | FALSE | No | ignoreAppLiveOffset=1 | Config to ignore liveOffset setting from Application, to use live latency from LLD stream . Used for LLD demo |
59 | info | Boolean | FALSE | Yes | info=1 | Enable/Disable info level logging in the player |
60 | initRampdownLimit | |||||
61 | internalRetune | Boolean | TRUE | No | internalRetune=0 | Internal reTune logic on underflows/ pts errors |
62 | jsinfo | Boolean | FALSE | No | jsinfo=1 | Enable JS media player interface logs . |
63 | keepLastFrameDai | Boolean | FALSE | No | keepLastFrameDai=1 | Use keepLastFrame when swapping players for Ads, when multiPipelineDai is enabled |
64 | latencyMonitorDelay | |||||
65 | latencyMonitorInterval | |||||
66 | licenseAnonymousRequest | Boolean | FALSE | No | licenseAnonymousRequest=1 | Acquire license without accessToken field ( mainly with PlayReady DRM) |
67 | licenseServerUrl | |||||
68 | log | |||||
69 | logMetadata | Boolean | FALSE | No | logMetadata=1 | Enable/Disable timed metadata logging |
70 | lowLatencyMaxValue | |||||
71 | lowLatencyMinValue | |||||
72 | lowLatencyTargetValue | |||||
73 | maxABRBufferRampup | |||||
74 | maxCurlStore | |||||
75 | maxTimeoutForSourceSetup | |||||
76 | multiPipelineDai | Boolean | FALSE | No | multiPipelineDai=1 | Enable a gstreamer pipeline per player to remove brief black screens on switching |
77 | playbackBuffer | |||||
78 | playreadyOutputProtection | Boolean | FALSE | No | playreadyOutputProtection=1 | Enable/Disable HDCP output protection for DASH-PlayReady playback |
79 | preferredAudioLabel | |||||
80 | preferredAudioType | |||||
81 | preferredTextLabel | |||||
82 | preferredTextLanguage | |||||
83 | preferredTextRendition | |||||
84 | preferredTextType | |||||
85 | preFetchIframePlaylist | Boolean | FALSE | No | preFetchIframePlaylist=1 | Enable prefetching of I-Frame playlist |
86 | preservePipeline | Boolean | FALSE | No | preservePipeline=1 | Flush pipeline instead of teardown |
87 | prLicenseServerUrl | |||||
88 | progress | Boolean | FALSE | No | progress=1 | Enable/Disable progress reporting from the player . Logs every 4th progress report event . |
89 | removeAVEDRMPersistent | |||||
90 | repairIframes | |||||
91 | reportBufferEvent | Boolean | TRUE | No | reportBufferEvent=0 | Enables Buffer event reporting |
92 | reportVideoPTS | Boolean | FALSE | No | reportVideoPTS=1 | Enable/Disable video pts reporting in progress events |
93 | retuneOnBufferingTimeout | Boolean | TRUE | No | retuneOnBufferingTimeout=0 | Enable/Disable internal re-tune on buffering timeout |
94 | seekMidFragment | |||||
95 | segmentInjectFailThreshold | |||||
96 | seiTimeCode | |||||
97 | SkyStoreDE | |||||
98 | stallErrorCode | |||||
99 | stallTimeout | |||||
100 | stream | Boolean | FALSE | No | stream=1 | Enable/Disable HLS playlist dump while doing playlist parsing . |
101 | subtecSubtitle | |||||
102 | suppressDecode | |||||
103 | syncAudioFragments | |||||
104 | thresholdSizeABR | |||||
105 | throttle | Boolean | FALSE | No | throttle=1 | Regulate output data flow,used with restamping |
106 | trace | Boolean | FALSE | No | trace=1 | Enable/Disable trace level logging in the player |
107 | warn | Boolean | TRUE | No | warn=0 | Enable/Disable warn level logging in the player |
108 | webVttNative | |||||
109 | wifiCurlHeader | |||||
110 | wvLicenseServerUrl | |||||
111 | xreSupportedTune |
...
name
...
default
...
usage
...
semantics
...
live-tune-event=<#>
...
0: send streamplaying when playlist acquired (default)
1: send streamplaying when first fragment decrypted
2: send streamplaying when first frame visible
...
0: send streamplaying when playlist acquired (default)
1: send streamplaying when first fragment
2: send streamplaying when first frame visible
...
removes "-eac3" before .m3u8 in main manifest url. Useful to disable Dolby track
makes AAC preferred over ATMOS and DD+
...
<domain / host to map> Remap HLS playback url to DASH url for matching domain/host string (.m3u8 to .mpd)
dash-ignore-base-url-if-slash If present, disables dash BaseUrl value if it is / fog-dash=1 Implies fog has support for dash, so no "defogging" when map-mpd is set.
...
10
...
500
...
<SCHEME>://<HTTP PROXY IP:HTTP PROXY PORT>
Specify the HTTP Proxy with schemes such as http, sock, https
<USERNAME:PASSWORD>@<HTTP PROXY IP:HTTP PROXY PORT>
Specify the HTTP Proxy with Proxy Authentication Credentials.
Make sure to encode special characters if present in username or password (URL Encoding)
...
specify the value in seconds for after which a CURL download is aborted if no data is received after connect, 0 to disable
...
Value in MS after which AAMP will try recovery for discontinuity stall after detecting empty buffer
0 disables feature
...
0: NO_LANGCODE_PREFERENCE (pass through language codes from manifest - default)
1: ISO639_PREFER_3_CHAR_BIBLIOGRAPHIC_LANGCODE language codes normalized to 3-character iso639-2 bibliographic encoding(i.e. "ger")
2: ISO639_PREFER_3_CHAR_TERMINOLOGY_LANGCODE langguage codes normalized to 3-character iso639-2 terminology encoding (i.e. "deu")
3: ISO639_PREFER_2_CHAR_LANGCODE language codes normalized to 2-character iso639-1 encoding (i.e. "de")
...
Name | Description |
---|---|
TUNE_MICRO_EVENTS | Generate "MicroEvents" profiling for initiated tunes |
AAMP_WESTEROS_SINK | Enable use of Westerossink |
DISABLE_NONCOMPOSITED_WEBGL_FOR_IPVIDEO | Combine with AAMP_WESTEROS_SINK as workaround in RDK3.14 to allow easter-egg triggered diagnostics feature to again work. |
Name | Description |
---|---|
tr181.Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AAMP_CFG.DashPlaybackExclusions | For enabling dash using URL conversion by JSP : Value = VOD:LINEAR_TV:CDVR:IVOD |
tr181.Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AAMP_CFG.b64Config | For bulk setting one or more aamp config parameters : Value = Base64 encoded aamp.cfg file content |