RDK Documentation (Open Sourced RDK Components)
AampConfig.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's license file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2018 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21  * @file AampConfig.h
22  * @brief Configurations for AAMP
23  */
24 
25 #ifndef __AAMP_CONFIG_H__
26 #define __AAMP_CONFIG_H__
27 
28 #include <iostream>
29 #include <map>
30 #include <stdio.h>
31 #include <assert.h>
32 #include <string.h>
33 #include <stdlib.h>
34 #include <stdio.h>
35 #include <unistd.h>
36 #include <signal.h>
37 #include <fcntl.h>
38 #include <sys/stat.h>
39 #include <sys/types.h>
40 #include <algorithm>
41 #include <string>
42 #include <vector>
43 #include <list>
44 #include <fstream>
45 #include <math.h>
46 #include <algorithm>
47 #include <ctype.h>
48 #include <sstream>
49 #include <curl/curl.h>
50 #include "AampDefine.h"
51 #include "AampLogManager.h"
52 #include <cjson/cJSON.h>
53 #include "AampDrmSystems.h"
54 #ifdef IARM_MGR
55 #include "host.hpp"
56 #include "manager.hpp"
57 #include "libIBus.h"
58 #include "libIBusDaemon.h"
59 
60 #include <hostIf_tr69ReqHandler.h>
61 #include <sstream>
62 #endif
63 
64 
65 //////////////// CAUTION !!!! STOP !!! Read this before you proceed !!!!!!! /////////////
66 /// 1. This Class handles Configuration Parameters of AAMP Player , only Config related functionality to be added
67 /// 2. Simple Steps to add a new configuration
68 /// a) Identify new configuration takes what value ( bool / int / long / string )
69 /// b) Add the new configuration string in README.txt with appropriate comment
70 /// c) Add a enum value for new config in AAMPConfigSettings. It should be inserted
71 /// at right place based on data type
72 /// d) Add the config string added in README and its equivalent enum value at the
73 /// end of ConfigLookUpTable
74 /// e) Go to AampConfig constructor and assign default value . Again the array to
75 /// store is based on the datatype of config
76 /// f) Thats it !! You added a new configuration . Use Set and Get function to
77 /// store and read value using enum config
78 /// g) IF any conversion required only (from config to usage, ex: sec to millisec ),
79 /// add specific Get function for each config
80 /// Not recommened . Better to have the conversion ( enum to string , sec to millisec etc ) where its consumed .
81 ///////////////////////////////// Happy Configuration ////////////////////////////////////
82 
83 
84 #define ISCONFIGSET(x) (aamp->mConfig->IsConfigSet(x))
85 #define ISCONFIGSET_PRIV(x) (mConfig->IsConfigSet(x))
86 #define SETCONFIGVALUE(owner,key,value) (aamp->mConfig->SetConfigValue(owner, key ,value))
87 #define SETCONFIGVALUE_PRIV(owner,key,value) (mConfig->SetConfigValue(owner, key ,value))
88 #define GETCONFIGVALUE(key,value) (aamp->mConfig->GetConfigValue( key ,value))
89 #define GETCONFIGVALUE_PRIV(key,value) (mConfig->GetConfigValue( key ,value))
90 #define GETCONFIGOWNER(key) (aamp->mConfig->GetConfigOwner(key))
91 #define GETCONFIGOWNER_PRIV(key) (mConfig->GetConfigOwner(key))
92 /**
93  * @brief AAMP Config Settings
94  */
95 typedef enum
96 {
97  eAAMPConfig_EnableABR = 0, /**< Enable/Disable adaptive bitrate logic*/
98  eAAMPConfig_Fog, /**< Enable / Disable FOG*/
99  eAAMPConfig_PrefetchIFramePlaylistDL, /**< Enabled prefetching of I-Frame playlist*/
100  eAAMPConfig_PreservePipeline, /**< Flush instead of teardown*/
101  eAAMPConfig_DemuxAudioHLSTrack , /**< Demux Audio track from HLS transport stream*/
102  eAAMPConfig_DemuxVideoHLSTrack , /**< Demux Video track from HLS transport stream*/
103  eAAMPConfig_Throttle, /**< Regulate output data flow*/
104  eAAMPConfig_DemuxAudioBeforeVideo, /**< Demux video track from HLS transport stream track mode*/
105  eAAMPConfig_DemuxHLSVideoTsTrackTM, /**< Send demuxed audio before video*/
106  eAAMPConfig_ForceEC3, /**< Forcefully enable DDPlus*/
107  eAAMPConfig_DisableEC3, /**< Disable DDPlus*/
108  eAAMPConfig_DisableATMOS, /**< Disable Dolby ATMOS*/
109  eAAMPConfig_DisableAC4, /**< Disable AC4 Audio */
110  eAAMPConfig_StereoOnly, /**< Enable Stereo Only playback, disables EC3/ATMOS. Overrides ForceEC3 */
111  eAAMPConfig_DescriptiveTrackName, /**< Enable Descriptive track name*/
112  eAAMPConfig_DisableAC3, /**< Disable AC3 Audio */
113  eAAMPConfig_DisablePlaylistIndexEvent, /**< Disable playlist index event*/
114  eAAMPConfig_EnableSubscribedTags, /**< Enabled subscribed tags*/
115  eAAMPConfig_DASHIgnoreBaseURLIfSlash, /**< Ignore the constructed URI of DASH, if it is / */
116  eAAMPConfig_AnonymousLicenseRequest, /**< Acquire license without token*/
117  eAAMPConfig_HLSAVTrackSyncUsingStartTime, /**< HLS A/V track to be synced with start time*/
118  eAAMPConfig_MPDDiscontinuityHandling, /**< Enable MPD discontinuity handling*/
119  eAAMPConfig_MPDDiscontinuityHandlingCdvr, /**< Enable MPD discontinuity handling for CDVR*/
120  eAAMPConfig_ForceHttp, /**< Force HTTP*/
121  eAAMPConfig_InternalReTune, /**< Internal re-tune on underflows/ pts errors*/
122  eAAMPConfig_AudioOnlyPlayback, /**< AAMP Audio Only Playback*/
123  eAAMPConfig_GStreamerBufferingBeforePlay, /**< Enable pre buffering logic which ensures minimum buffering is done before pipeline play*/
124  eAAMPConfig_EnablePROutputProtection, /**< Playready output protection config */
125  eAAMPConfig_ReTuneOnBufferingTimeout, /**< Re-tune on buffering timeout */
126  eAAMPConfig_SslVerifyPeer, /**< Enable curl ssl certificate verification. */
127  eAAMPConfig_EnableClientDai, /**< Enabling the client side DAI*/
128  eAAMPConfig_PlayAdFromCDN, /**< Play Ad from CDN. Not from FOG.*/
129  eAAMPConfig_EnableVideoEndEvent, /**< Enable or disable videovend events */
130  eAAMPConfig_EnableRectPropertyCfg, /**< To allow or deny rectangle property set for sink element*/
131  eAAMPConfig_ReportVideoPTS, /**< Enables Video PTS reporting */
132  eAAMPConfig_DecoderUnavailableStrict, /**< Reports decoder unavailable GST Warning as aamp error*/
133  eAAMPConfig_UseAppSrcForProgressivePlayback, /**< Enables appsrc for playing progressive AV type */
134  eAAMPConfig_DescriptiveAudioTrack, /**< advertise audio tracks using <langcode>-<role> instead of just <langcode> */
135  eAAMPConfig_ReportBufferEvent, /**< Enables Buffer event reporting */
136  eAAMPConfig_InfoLogging, /**< Enables Info logging */
137  eAAMPConfig_DebugLogging, /**< Enables Debug logging */
138  eAAMPConfig_TraceLogging, /**< Enables Trace logging */
139  eAAMPConfig_WarnLogging, /**< Enables Warn logging */
140  eAAMPConfig_FailoverLogging, /**< Enables failover logging */
141  eAAMPConfig_GSTLogging, /**< Enables Gstreamer logging */
142  eAAMPConfig_ProgressLogging, /**< Enables Progress logging */
143  eAAMPConfig_CurlLogging, /**< Enables Curl logging */
144  eAAMPConfig_CurlLicenseLogging, /**< Enable verbose curl logging for license request (non-secclient) */
145  eAAMPConfig_MetadataLogging, /**< Enable timed metadata logging */
146  eAAMPConfig_CurlHeader, /**< enable curl header response logging on curl errors*/
147  eAAMPConfig_StreamLogging, /**< Enables HLS Playlist content logging */
148  eAAMPConfig_ID3Logging, /**< Enables ID3 logging */
149  //eAAMPConfig_XREEventReporting, /**< Enable/Disable Event reporting to XRE */
150  eAAMPConfig_EnableGstPositionQuery, /**< GStreamer position query will be used for progress report events, Enabled by default for non-Intel platforms*/
151  eAAMPConfig_MidFragmentSeek, /**< Enable/Disable the Mid-Fragment seek functionality in aamp.*/
152  eAAMPConfig_PropogateURIParam, /**< Feature where top-level manifest URI parameters included when downloading fragments*/
153  eAAMPConfig_UseWesterosSink, /**< Enable/Disable player to use westeros sink based video decoding */
154  eAAMPConfig_EnableLinearSimulator, /**< Enable linear simulator for testing purpose, simulate VOD asset as a "virtual linear" stream.*/
155  eAAMPConfig_RetuneForUnpairDiscontinuity, /**< disable unpaired discontinuity retun functionality*/
156  eAAMPConfig_RetuneForGSTError, /**< disable retune mitigation for gst pipeline internal data stream error*/
157  eAAMPConfig_MatchBaseUrl, /**< Enable host of main url will be matched with host of base url*/
158  eAAMPConfig_WifiCurlHeader,
159  eAAMPConfig_EnableSeekRange, /**< Enable seekable range reporting via progress events */
160  eAAMPConfig_DashParallelFragDownload, /**< Enable dash fragment parallel download*/
161  eAAMPConfig_PersistentBitRateOverSeek, /**< ABR profile persistence during Seek/Trickplay/Audio switching*/
162  eAAMPConfig_SetLicenseCaching, /**< License caching*/
163  eAAMPConfig_Fragmp4PrefetchLicense, /*** Enable fragment mp4 license prefetching**/
164  eAAMPConfig_ABRBufferCheckEnabled, /**< Flag to enable/disable buffer based ABR handling*/
165  eAAMPConfig_NewDiscontinuity, /**< Flag to enable/disable new discontinuity handling with PDT*/
166  eAAMPConfig_PlaylistParallelFetch, /**< Enabled parallel fetching of audio & video playlists*/
167  eAAMPConfig_PlaylistParallelRefresh, /**< Enabled parallel fetching for refresh of audio & video playlists*/
168  eAAMPConfig_BulkTimedMetaReport, /**< Enabled Bulk event reporting for TimedMetadata*/
169  eAAMPConfig_AvgBWForABR, /**< Enables usage of AverageBandwidth if available for ABR */
170  eAAMPConfig_NativeCCRendering, /**< If native CC rendering to be supported */
171  eAAMPConfig_Subtec_subtitle, /**< Enable subtec-based subtitles */
172  eAAMPConfig_WebVTTNative, /**< Enable subtec-based subtitles */
173  eAAMPConfig_AsyncTune, /**< To enable Asynchronous tune */
174  eAAMPConfig_DisableUnderflow, /**< Enable/Disable Underflow processing*/
175  eAAMPConfig_LimitResolution, /**< Flag to indicate if display resolution based profile selection to be done */
176  eAAMPConfig_UseAbsoluteTimeline, /**< Enable Report Progress report position based on Availability Start Time **/
177  eAAMPConfig_EnableAccessAttributes, /**< Usage of Access Attributes in VSS */
178  eAAMPConfig_WideVineKIDWorkaround, /**< SkyDE Store workaround to pick WV DRM Key Id from different location */
179  eAAMPConfig_RepairIframes, /**< Enable fragment repair (Stripping and box size correction) for iframe tracks */
180  eAAMPConfig_SEITimeCode, /**< Enables SEI Time Code handling */
181  eAAMPConfig_Disable4K, /**< Enalbe/Disable 4K stream support*/
182  eAAMPConfig_EnableSharedSSLSession, /**< Enable/Disable config for shared ssl session reuse */
183  eAAMPConfig_InterruptHandling, /**< Enables Config for network interrupt handling*/
184  eAAMPConfig_EnableLowLatencyDash, /**< Enables Low Latency Dash */
185  eAAMPConfig_DisableLowLatencyABR, /**< Enables Low Latency ABR handling */
186  eAAMPConfig_EnableLowLatencyCorrection, /**< Enables Low Latency Correction handling */
187  eAAMPConfig_EnableLowLatencyOffsetMin, /**< Enables Low Latency Offset Min handling */
188  eAAMPConfig_SyncAudioFragments, /**< Flag to enable Audio Video Fragment Sync */
189  eAAMPConfig_EnableIgnoreEosSmallFragment, /**< Enable/Disable Small fragment ignore based on minimum duration Threshold at period End*/
190  eAAMPConfig_UseSecManager, /**< Enable/Disable secmanager instead of secclient for license acquisition */
191  eAAMPConfig_EnablePTO, /**< Enable/Disable PTO Handling */
192  eAAMPConfig_EnableAampConfigToFog, /**< Enable/Disable player config to Fog on every tune*/
193  eAAMPConfig_XRESupportedTune, /**< Enable/Disable XRE supported tune*/
194  eAAMPConfig_GstSubtecEnabled, /**< Force Gstreamer subtec */
195  eAAMPConfig_AllowPageHeaders, /**< Allow page http headers*/
196  eAAMPConfig_SuppressDecode, /**< To Suppress Decode of segments for playback . Test only Downloader */
197  eAAMPConfig_PersistHighNetworkBandwidth, /** Flag to enable Persist High Network Bandwidth across Tunes */
198  eAAMPConfig_PersistLowNetworkBandwidth, /** Flag to enable Persist Low Network Bandwidth across Tunes */
199  eAAMPConfig_ChangeTrackWithoutRetune, /**< Flag to enable audio track change without disturbing video pipeline */
200  eAAMPConfig_EnableCurlStore, /**< Enable/Disable CurlStore to save/reuse curl fds */
201  eAAMPConfig_RuntimeDRMConfig, /**< Enable/Disable Dynamic DRM config feature */
202  eAAMPConfig_EnablePublishingMuxedAudio, /**< Enable/Disable publishing the audio track info from muxed contents */
203  eAAMPConfig_EnableCMCD, /**< Enable/Disable CMCD config feature */
204  eAAMPConfig_EnableSlowMotion, /**< Enable/Disable Slowmotion playback */
205  eAAMPConfig_EnableSCTE35PresentationTime, /**< Enable/Disable use of SCTE PTS presentation time */
206  eAAMPConfig_JsInfoLogging, /**< Enable/disable jsinfo logging */
207  eAAMPConfig_IgnoreAppLiveOffset, /** <Config to ignore the liveOffset from App for LLD */
209  /////////////////////////////////
210  eAAMPConfig_IntStartValue,
211  eAAMPConfig_HarvestCountLimit, /**< Number of files to be harvested */
212  eAAMPConfig_HarvestConfig, /**< Indicate type of file to be harvest */
213  eAAMPConfig_ABRCacheLife, /**< Adaptive bitrate cache life in seconds*/
214  eAAMPConfig_ABRCacheLength, /**< Adaptive bitrate cache length*/
216  eAAMPConfig_ABRCacheOutlier, /**< Adaptive bitrate outlier, if values goes beyond this*/
217  eAAMPConfig_ABRSkipDuration, /**< Initial duration for ABR skip*/
218  eAAMPConfig_ABRNWConsistency, /**< Adaptive bitrate network consistency*/
219  eAAMPConfig_ABRThresholdSize, /**< AAMP ABR threshold size*/
220  eAAMPConfig_MaxFragmentCached, /**< fragment cache length*/
221  eAAMPConfig_BufferHealthMonitorDelay, /**< Buffer health monitor start delay after tune/ seek*/
222  eAAMPConfig_BufferHealthMonitorInterval, /**< Buffer health monitor interval*/
223  eAAMPConfig_PreferredDRM, /**< Preferred DRM*/
224  eAAMPConfig_TuneEventConfig, /**< When to send TUNED event*/
225  eAAMPConfig_VODTrickPlayFPS, /**< Trickplay frames per second for VOD*/
226  eAAMPConfig_LinearTrickPlayFPS, /**< Trickplay frames per second for Linear*/
227  eAAMPConfig_LicenseRetryWaitTime, /**< License retry wait interval*/
228  eAAMPConfig_LicenseKeyAcquireWaitTime, /**< License key acquire wait time*/
229  eAAMPConfig_PTSErrorThreshold, /**< Max number of back-to-back PTS errors within designated time*/
230  eAAMPConfig_MaxPlaylistCacheSize, /**< Max Playlist Cache Size */
231  eAAMPConfig_MaxDASHDRMSessions, /**< Max drm sessions that can be cached by AampDRMSessionManager*/
232  eAAMPConfig_Http5XXRetryWaitInterval, /**< Wait time in milliseconds before retry for 5xx errors*/
233  eAAMPConfig_LanguageCodePreference, /**< prefered format for normalizing language code */
234  eAAMPConfig_RampDownLimit, /**< Set fragment rampdown/retry limit for video fragment failure*/
235  eAAMPConfig_InitRampDownLimit, /**< Maximum number of rampdown/retries for initial playlist retrieval at tune/seek time*/
236  eAAMPConfig_DRMDecryptThreshold, /**< Retry count on drm decryption failure*/
237  eAAMPConfig_SegmentInjectThreshold, /**< Retry count for segment injection discard/failue*/
238  eAAMPConfig_InitFragmentRetryCount, /**< Retry attempts for init frag curl timeout failures*/
239  eAAMPConfig_MinABRNWBufferRampDown, /**< Mininum ABR Buffer for Rampdown*/
240  eAAMPConfig_MaxABRNWBufferRampUp, /**< Maximum ABR Buffer for Rampup*/
241  eAAMPConfig_PrePlayBufferCount, /**< Count of segments to be downloaded until play state */
242  eAAMPConfig_PreCachePlaylistTime, /**< Max time to complete PreCaching .In Minutes */
243  eAAMPConfig_CEAPreferred, /**< To force 608/708 track selection in CC manager */
244  eAAMPConfig_StallErrorCode,
245  eAAMPConfig_StallTimeoutMS,
246  eAAMPConfig_InitialBuffer,
247  eAAMPConfig_PlaybackBuffer,
248  eAAMPConfig_SourceSetupTimeout, /**<Timeout value wait for GStreamer appsource setup to complete*/
249  eAAMPConfig_DownloadDelay,
250  eAAMPConfig_LivePauseBehavior, /**< player paused state behavior */
251  eAAMPConfig_GstVideoBufBytes, /**< Gstreamer Max Video buffering bytes*/
252  eAAMPConfig_GstAudioBufBytes, /**< Gstreamer Max Audio buffering bytes*/
253  eAAMPConfig_LatencyMonitorDelay, /**< Latency Monitor Delay */
254  eAAMPConfig_LatencyMonitorInterval, /**< Latency Monitor Interval */
255  eAAMPConfig_MaxFragmentChunkCached, /**< fragment chunk cache length*/
256  eAAMPConfig_ABRChunkThresholdSize, /**< AAMP ABR Chunk threshold size*/
257  eAAMPConfig_LLMinLatency, /**< Low Latency Min Latency Offset */
258  eAAMPConfig_LLTargetLatency, /**< Low Latency Target Latency */
259  eAAMPConfig_LLMaxLatency, /**< Low Latency Max Latency */
260  eAAMPConfig_FragmentDownloadFailThreshold, /**< Retry attempts for non-init fragment curl timeout failures*/
261  eAAMPConfig_MaxInitFragCachePerTrack, /**< Max no of Init fragment cache per track */
262  eAAMPConfig_FogMaxConcurrentDownloads, /**< Concurrent download posted to fog from player*/
263  eAAMPConfig_ContentProtectionDataUpdateTimeout, /**< Default Timeout For ContentProtectionData Update */
264  eAAMPConfig_MaxCurlSockStore, /**< Max no of curl socket to be stored */
265  eAAMPConfig_IntMaxValue,
266  ///////////////////////////////////
267  eAAMPConfig_LongStartValue,
268  eAAMPConfig_DefaultBitrate, /**< Default bitrate*/
269  eAAMPConfig_DefaultBitrate4K, /**< Default 4K bitrate*/
270  eAAMPConfig_IFrameDefaultBitrate, /**< Default bitrate for iframe track selection for non-4K assets*/
271  eAAMPConfig_IFrameDefaultBitrate4K, /**< Default bitrate for iframe track selection for 4K assets*/
272  eAAMPConfig_CurlStallTimeout, /**< Timeout value for detection curl download stall in seconds*/
273  eAAMPConfig_CurlDownloadStartTimeout, /**< Timeout value for curl download to start after connect in seconds*/
274  eAAMPConfig_CurlDownloadLowBWTimeout, /**< Timeout value for curl download expiry if player cann't catchup the selected bitrate buffer*/
275  eAAMPConfig_DiscontinuityTimeout, /**< Timeout value to auto process pending discontinuity after detecting cache is empty*/
276  eAAMPConfig_MinBitrate, /**< minimum bitrate filter for playback profiles */
277  eAAMPConfig_MaxBitrate, /**< maximum bitrate filter for playback profiles*/
278  eAAMPConfig_TLSVersion,
279 
280  eAAMPConfig_LongMaxValue,
281  ////////////////////////////////////
282  eAAMPConfig_DoubleStartValue,
283  eAAMPConfig_NetworkTimeout, /**< Fragment download timeout in sec*/
284  eAAMPConfig_ManifestTimeout, /**< Manifest download timeout in sec*/
285  eAAMPConfig_PlaylistTimeout, /**< playlist download time out in sec*/
286  eAAMPConfig_ReportProgressInterval, /**< Interval of progress reporting*/
287  eAAMPConfig_PlaybackOffset, /**< playback offset value in seconds*/
288  eAAMPConfig_LiveOffset, /**< Current LIVE offset*/
289  eAAMPConfig_LiveOffset4K, /**< Live offset for 4K content;*/
290  eAAMPConfig_CDVRLiveOffset, /**< CDVR LIVE offset*/
291  eAAMPConfig_DoubleMaxValue,
292  ////////////////////////////////////
293  eAAMPConfig_StringStartValue,
294  eAAMPConfig_MapMPD, /**< host name in url for which hls to mpd mapping done'*/
295  eAAMPConfig_MapM3U8, /**< host name in url for which mpd to hls mapping done'*/
296  eAAMPConfig_HarvestPath, /**< Path to store Harvested files */
297  eAAMPConfig_LicenseServerUrl, /**< License server URL ( if no individual configuration */
298  eAAMPConfig_CKLicenseServerUrl, /**< ClearKey License server URL*/
299  eAAMPConfig_PRLicenseServerUrl, /**< PlayReady License server URL*/
300  eAAMPConfig_WVLicenseServerUrl, /**< Widevine License server URL*/
301  eAAMPConfig_UserAgent, /**< Curl user-agent string */
302  eAAMPConfig_SubTitleLanguage, /**< User preferred subtitle language*/
303  //eAAMPConfig_RedirectUrl, /**< redirects requests to tune to url1 to url2 */
304  eAAMPConfig_CustomHeader, /**< custom header string data to be appended to curl request*/
305  eAAMPConfig_URIParameter, /**< uri parameter data to be appended on download-url during curl request*/
306  eAAMPConfig_NetworkProxy, /**< Network Proxy */
307  eAAMPConfig_LicenseProxy, /**< License Proxy */
308  eAAMPConfig_AuthToken, /**< Session Token */
309  eAAMPConfig_LogLevel, /**< New Configuration to overide info/debug/trace */
310  eAAMPConfig_CustomHeaderLicense, /**< custom header string data to be appended to curl License request*/
311  eAAMPConfig_PreferredAudioRendition, /**< New Configuration to save preferred Audio rendition/role descriptor field; support only single string value*/
312  eAAMPConfig_PreferredAudioCodec, /**< New Configuration to save preferred Audio codecs values; support comma separated multiple string values*/
313  eAAMPConfig_PreferredAudioLanguage, /**< New Configuration to save preferred Audio languages; support comma separated multiple string values*/
314  eAAMPConfig_PreferredAudioLabel, /**< New Configuration to save preferred Audio label field; Label is a textual description of the content. Support only single string value*/
315  eAAMPConfig_PreferredAudioType, /**< New Configuration to save preferred Audio Type field; type indicate the accessibility type of audio track*/
316  eAAMPConfig_PreferredTextRendition, /**< New Configuration to save preferred Text rendition/role descriptor field; support only single string value*/
317  eAAMPConfig_PreferredTextLanguage, /**< New Configuration to save preferred Text languages; support comma separated multiple string values*/
318  eAAMPConfig_PreferredTextLabel, /**< New Configuration to save preferred Text label field; Label is a textual description of the content. Support only single string value*/
319  eAAMPConfig_PreferredTextType, /**< New Configuration to save preferred Text Type field; type indicate the accessibility type of text track*/
320  eAAMPConfig_CustomLicenseData, /**< Custom Data for License Request */
321  eAAMPConfig_SchemeIdUriDaiStream, /**< Scheme Id URI String for DAI Stream */
322  eAAMPConfig_SchemeIdUriVssStream, /**< Scheme Id URI String for VSS Stream */
323  eAAMPConfig_LRHAcceptValue, /**< Custom License Request Header Data */
324  eAAMPConfig_LRHContentType, /**< Custom License Request ContentType Data */
325  eAAMPConfig_StringMaxValue,
326  eAAMPConfig_MaxValue
328 
329 /**
330  * @struct ConfigChannelInfo
331  * @brief Holds information of a channel
332  */
334 {
335  ConfigChannelInfo() : name(), uri(), licenseUri()
336  {
337  }
338  std::string name;
339  std::string uri;
340  std::string licenseUri;
341 };
342 
343 /**
344  * @struct customJson
345  * @brief Holds information of a custom JSON array
346  */
347 
349 {
350  customJson() : config(), configValue()
351  { }
352  std::string config;
353  std::string configValue;
354 };
355 
356 
357 /**
358  * @struct AampConfigLookupEntry
359  * @brief AAMP Config lookup table structure
360  */
362 {
363  const char* cmdString;
364  AAMPConfigSettings cfgEntryValue;
365  bool bSupportOperatorSetting;
366  union
367  {
368  int iMinValue;
369  long lMinValue;
370  double dMinValue;
371  }Min;
372  union
373  {
374  int iMaxValue;
375  long lMaxValue;
376  double dMaxValue;
377  }Max;
378 
379 };
380 
381 /**
382  * @struct AampOwnerLookupEntry
383  * @brief AAMP Config ownership enum string mapping table
384  */
386 {
387  const char* ownerName;
388  ConfigPriority ownerValue;
389 };
390 
391 
392 /**
393  * @struct ConfigBool
394  * @brief AAMP Config Boolean data type
395  */
396 typedef struct ConfigBool
397 {
398  ConfigPriority owner;
399  bool value;
400  ConfigPriority lastowner;
401  bool lastvalue;
402  ConfigBool():owner(AAMP_DEFAULT_SETTING),value(false),lastowner(AAMP_DEFAULT_SETTING),lastvalue(false){}
403 }ConfigBool;
404 
405 /**
406  * @brief AAMP Config Int data type
407  */
408 typedef struct ConfigInt
409 {
410  ConfigPriority owner;
411  int value;
412  ConfigPriority lastowner;
413  int lastvalue;
414  ConfigInt():owner(AAMP_DEFAULT_SETTING),value(0),lastowner(AAMP_DEFAULT_SETTING),lastvalue(0){}
415 }ConfigInt;
416 
417 /**
418  * @brief AAMP Config Long data type
419  */
420 typedef struct ConfigLong
421 {
422  ConfigPriority owner;
423  long value;
424  ConfigPriority lastowner;
425  long lastvalue;
426  ConfigLong():owner(AAMP_DEFAULT_SETTING),value(0),lastowner(AAMP_DEFAULT_SETTING),lastvalue(0){}
427 }ConfigLong;
428 
429 /**
430  * @brief AAMP Config double data type
431  */
432 typedef struct ConfigDouble
433 {
434  ConfigPriority owner;
435  double value;
436  ConfigPriority lastowner;
437  double lastvalue;
438  ConfigDouble():owner(AAMP_DEFAULT_SETTING),value(0),lastowner(AAMP_DEFAULT_SETTING),lastvalue(0){}
439 }ConfigDouble;
440 /**
441  * @brief AAMP Config String data type
442  */
443 typedef struct ConfigString
444 {
445  ConfigPriority owner;
446  std::string value;
447  ConfigPriority lastowner;
448  std::string lastvalue;
449  ConfigString():owner(AAMP_DEFAULT_SETTING),value(""),lastowner(AAMP_DEFAULT_SETTING),lastvalue(""){}
450 }ConfigString;
451 
452 
453 /**
454  * @class AampConfig
455  * @brief AAMP Config Class defn
456  */
458 {
459 public:
460  // Had to define as public as globalConfig loggin var is used multiple files
461  // TODO when player level logging is done, need to remove this
462  AampLogManager logging; /**< Aamp log manager class*/
463  AampLogManager *mLogObj;
464 public:
465  /**
466  * @fn AampConfig
467  *
468  * @return None
469  */
470  AampConfig();
471  /**
472  * @brief AampConfig Distructor function
473  *
474  * @return None
475  */
477  /**
478  * @brief Copy constructor disabled
479  *
480  */
481  AampConfig(const AampConfig&) = delete;
482  /**
483  * @fn operator=
484  *
485  * @return New Config instance with copied values
486  */
488  void Initialize();
489  /**
490  * @fn ReadDeviceCapability
491  * @return Void
492  */
493  void ReadDeviceCapability();
494  /**
495  * @fn ShowOperatorSetConfiguration
496  * @return Void
497  */
499  /**
500  * @fn ShowAppSetConfiguration
501  * @return void
502  */
504  /**
505  * @fn ShowStreamSetConfiguration
506  *
507  * @return Void
508  */
510  /**
511  * @fn ShowDefaultAampConfiguration
512  *
513  * @return Void
514  */
516  /**
517  *@fn ShowDevCfgConfiguration
518  *
519  * @return Void
520  */
522  /**
523  * @fn ShowAAMPConfiguration
524  *
525  * @return Void
526  */
527  void ShowAAMPConfiguration();
528  /**
529  * @fn ReadAampCfgTxtFile
530  *
531  * @return Void
532  */
533  bool ReadAampCfgTxtFile();
534  /**
535  * @fn ReadAampCfgJsonFile
536  */
537  bool ReadAampCfgJsonFile();
538  /**
539  * @fn ReadOperatorConfiguration
540  * @return void
541  */
543  /**
544  * @fn ReadBase64TR181Param reads Tr181 parameter at Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AAMP_CFG.b64Config
545  * @return void
546  */
547  void ReadBase64TR181Param();
548  /**
549  * @fn ReadAllTR181Params reads All Tr181 parameters at Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AAMP_CFG.<param-name>
550  * @return void
551  */
552  void ReadAllTR181Params();
553  /**
554  * @brief ParseAampCfgTxtString - It parses the aamp configuration
555  *
556  * @return Void
557  */
558  void ParseAampCfgTxtString(std::string &cfg);
559  /**
560  * @brief ParseAampCfgJsonString - It parses the aamp configuration from json format
561  *
562  * @return Void
563  */
564  void ParseAampCfgJsonString(std::string &cfg);
565  /**
566  * @fn ToggleConfigValue
567  * @param[in] owner - ownership of new set call
568  * @param[in] cfg - Configuration enum to set
569  */
571  /**
572  * @fn SetConfigValue
573  * @param[in] owner - ownership of new set call
574  * @param[in] cfg - Configuration enum to set
575  * @param[in] value - value to set
576  */
577  template<typename T>
578  void SetConfigValue(ConfigPriority owner, AAMPConfigSettings cfg , const T &value);
579  /**
580  * @fn IsConfigSet
581  *
582  * @param[in] cfg - Configuration enum
583  * @return true / false
584  */
586  /**
587  * @fn GetConfigValue
588  * @param[in] cfg - configuration enum
589  * @param[out] value - configuration value
590  */
591  bool GetConfigValue(AAMPConfigSettings cfg, std::string &value);
592  /**
593  * @fn GetConfigValue
594  * @param[in] cfg - configuration enum
595  * @param[out] value - configuration value
596  */
597  bool GetConfigValue(AAMPConfigSettings cfg, long &value);
598  /**
599  * @fn GetConfigValue
600  * @param[in] cfg - configuration enum
601  * @param[out] value - configuration value
602  */
603  bool GetConfigValue(AAMPConfigSettings cfg, double &value);
604  /**
605  * @fn GetConfigValue
606  * @param[in] cfg - configuration enum
607  * @param[out] value - configuration value
608  */
609  bool GetConfigValue(AAMPConfigSettings cfg , int &value);
610  /**
611  * @fn GetConfigOwner
612  * @param[in] cfg - configuration enum
613  */
615  /**
616  * @fn GetChannelOverride
617  * @param[in] chName - channel name to search
618  */
619  const char * GetChannelOverride(const std::string chName);
620  /**
621  * @fn GetChannelLicenseOverride
622  * @param[in] chName - channel Name to override
623  */
624  const char * GetChannelLicenseOverride(const std::string chName);
625  /**
626  * @fn ProcessConfigJson
627  * @param[in] cfg - json string
628  * @param[in] owner - Owner who is setting the value
629  */
630  bool ProcessConfigJson(const char *cfg, ConfigPriority owner );
631  /**
632  * @fn ProcessConfigJson
633  * @param[in] cfg - json format
634  * @param[in] owner - Owner who is setting the value
635  */
636  bool ProcessConfigJson(const cJSON *cfgdata, ConfigPriority owner );
637  /**
638  * @fn ProcessConfigText
639  * @param[in] cfg - config text ( new line separated)
640  * @param[in] owner - Owner who is setting the value
641  */
642  bool ProcessConfigText(std::string &cfg, ConfigPriority owner );
643  /**
644  * @fn RestoreConfiguration
645  * @param[in] owner - Owner value for reverting
646  * @return None
647  */
648  void RestoreConfiguration(ConfigPriority owner, AampLogManager *mLogObj);
649  /**
650  * @fn ConfigureLogSettings
651  * @return None
652  */
653  void ConfigureLogSettings();
654  /**
655  * @fn GetAampConfigJSONStr
656  * @param[in] str - input string where config json will be stored
657  */
658  bool GetAampConfigJSONStr(std::string &str);
659  /**
660  * @fn GetDeveloperConfigData
661  * @param[in] key - key string to parse
662  * @param[in] value - value read from input string
663  */
664  bool GetDeveloperConfigData(std::string &key,std::string &value);
665  /**
666  * @fn DoCustomSetting
667  *
668  * @param[in] owner - ConfigPriority owner
669  * @return None
670  */
671  void DoCustomSetting(ConfigPriority owner);
672  /**
673  * @fn CustomArrayRead
674  * @param[in] customArray - input string where custom config json will be stored
675  * @param[in] owner - ownership of configs will be stored
676  */
677  void CustomArrayRead( cJSON *customArray,ConfigPriority owner );
678  /**
679  * @fn CustomSearch
680  * @param[in] url - input string where url name will be stored
681  * @param[in] playerId - input int variable where playerId will be stored
682  * @param[in] appname - input string where appname will be stored
683  */
684  bool CustomSearch( std::string url, int playerId , std::string appname);
685  AampLogManager *GetLoggerInstance() { return &logging;}
686  ////////// Special Functions /////////////////////////
687  std::string GetUserAgentString();
688  //long GetManifestTimeoutMs();
689  //long GetNetworkTimeoutMs();
690  //LangCodePreference GetLanguageCodePreference();
691  //DRMSystems GetPreferredDRM();
692 private:
693 
694  /**
695  * @fn SetValue
696  *
697  * @param[in] setting - Config variable to set
698  * @param[in] newowner - New owner value
699  * @param[in] value - Value to set
700  * @return void
701  */
702  template<class J,class K>
703  void SetValue(J &setting, ConfigPriority newowner, const K &value,std::string cfgName);
704  void trim(std::string& src);
705 
706  /**
707  * @fn GetTR181AAMPConfig
708  * @param[in] paramName - Parameter Name to parse
709  * @param[in] iConfigLen - Length of the configuration
710  */
711  char * GetTR181AAMPConfig(const char * paramName, size_t & iConfigLen);
712 
713  /**
714  * @fn ReadNumericHelper
715  * @param[in] valStr - string input to convert
716  * @param[out] value - coverted output
717  * @return true on success
718  */
719  template<typename T>
720  bool ReadNumericHelper(std::string valStr, T& value);
721  /**
722  * @fn ShowConfiguration
723  * @param[in] owner - Owner value for listing
724  * @return None
725  */
726  void ShowConfiguration(ConfigPriority owner);
727  /**
728  * @fn GetConfigName
729  * @param[in] cfg - configuration enum
730  * @return string - configuration name
731  */
732  std::string GetConfigName(AAMPConfigSettings cfg );
733  template<typename T>
734  bool ValidateRange(std::string key,T& value);
735 private:
736  typedef std::map<std::string, AampConfigLookupEntry> LookUp;
737  typedef std::map<std::string, AampConfigLookupEntry>::iterator LookUpIter;
738  LookUp mAampLookupTable;
739  typedef std::map<std::string, std::string> DevCmds;
740  typedef std::map<std::string, std::string>::iterator DevCmdsIter;
741  DevCmds mAampDevCmdTable;
742  std::vector<struct customJson>vCustom;
743  std::vector<struct customJson>::iterator vCustomIt;
744  bool customFound;
745  ConfigBool bAampCfgValue[eAAMPConfig_BoolMaxValue]; /**< Stores bool configuration */
746  ConfigInt iAampCfgValue[eAAMPConfig_IntMaxValue-eAAMPConfig_IntStartValue]; /**< Stores int configuration */
747  ConfigLong lAampCfgValue[eAAMPConfig_LongMaxValue-eAAMPConfig_LongStartValue]; /**< Stores long configuration */
748  ConfigDouble dAampCfgValue[eAAMPConfig_DoubleMaxValue-eAAMPConfig_DoubleStartValue]; /**< Stores double configuration */
749  ConfigString sAampCfgValue[eAAMPConfig_StringMaxValue-eAAMPConfig_StringStartValue]; /**< Stores string configuration */
750  typedef std::list<ConfigChannelInfo> ChannelMap ;
751  typedef std::list<ConfigChannelInfo>::iterator ChannelMapIter ;
752  ChannelMap mChannelOverrideMap;
753 };
754 
755 /**
756  * @brief Global configuration */
757 extern AampConfig *gpGlobalConfig;
758 #endif
759 
760 
761 
eAAMPConfig_LLMaxLatency
@ eAAMPConfig_LLMaxLatency
Definition: AampConfig.h:259
eAAMPConfig_CurlDownloadStartTimeout
@ eAAMPConfig_CurlDownloadStartTimeout
Definition: AampConfig.h:273
AampLogManager.h
Log managed for Aamp.
eAAMPConfig_PreferredTextLabel
@ eAAMPConfig_PreferredTextLabel
Definition: AampConfig.h:318
eAAMPConfig_PlaylistTimeout
@ eAAMPConfig_PlaylistTimeout
Definition: AampConfig.h:285
AampConfig::~AampConfig
~AampConfig()
AampConfig Distructor function.
Definition: AampConfig.h:476
eAAMPConfig_CurlLicenseLogging
@ eAAMPConfig_CurlLicenseLogging
Definition: AampConfig.h:144
eAAMPConfig_Fog
@ eAAMPConfig_Fog
Definition: AampConfig.h:98
eAAMPConfig_InterruptHandling
@ eAAMPConfig_InterruptHandling
Definition: AampConfig.h:183
eAAMPConfig_MaxFragmentCached
@ eAAMPConfig_MaxFragmentCached
Definition: AampConfig.h:220
eAAMPConfig_NewDiscontinuity
@ eAAMPConfig_NewDiscontinuity
Definition: AampConfig.h:165
AampConfig::logging
AampLogManager logging
Definition: AampConfig.h:462
eAAMPConfig_LiveOffset4K
@ eAAMPConfig_LiveOffset4K
Definition: AampConfig.h:289
eAAMPConfig_LicenseRetryWaitTime
@ eAAMPConfig_LicenseRetryWaitTime
Definition: AampConfig.h:227
eAAMPConfig_HLSAVTrackSyncUsingStartTime
@ eAAMPConfig_HLSAVTrackSyncUsingStartTime
Definition: AampConfig.h:117
ConfigBool
AAMP Config Boolean data type.
Definition: AampConfig.h:396
eAAMPConfig_PreservePipeline
@ eAAMPConfig_PreservePipeline
Definition: AampConfig.h:100
eAAMPConfig_MapM3U8
@ eAAMPConfig_MapM3U8
Definition: AampConfig.h:295
eAAMPConfig_StereoOnly
@ eAAMPConfig_StereoOnly
Definition: AampConfig.h:110
eAAMPConfig_AudioOnlyPlayback
@ eAAMPConfig_AudioOnlyPlayback
Definition: AampConfig.h:122
eAAMPConfig_SubTitleLanguage
@ eAAMPConfig_SubTitleLanguage
Definition: AampConfig.h:302
AampConfig::iAampCfgValue
ConfigInt iAampCfgValue[eAAMPConfig_IntMaxValue-eAAMPConfig_IntStartValue]
Definition: AampConfig.h:746
AampConfig::SetConfigValue
void SetConfigValue(ConfigPriority owner, AAMPConfigSettings cfg, const T &value)
SetConfigValue - Set function to set bool/int/long data type configuration.
Definition: AampConfig.cpp:830
AampConfig::SetValue
void SetValue(J &setting, ConfigPriority newowner, const K &value, std::string cfgName)
SetValue - Function to store the configuration and ownership based on priority set.
Definition: AampConfig.cpp:2062
eAAMPConfig_PreferredTextType
@ eAAMPConfig_PreferredTextType
Definition: AampConfig.h:319
eAAMPConfig_WVLicenseServerUrl
@ eAAMPConfig_WVLicenseServerUrl
Definition: AampConfig.h:300
eAAMPConfig_HarvestCountLimit
@ eAAMPConfig_HarvestCountLimit
Definition: AampConfig.h:211
eAAMPConfig_CurlDownloadLowBWTimeout
@ eAAMPConfig_CurlDownloadLowBWTimeout
Definition: AampConfig.h:274
eAAMPConfig_DecoderUnavailableStrict
@ eAAMPConfig_DecoderUnavailableStrict
Definition: AampConfig.h:132
eAAMPConfig_WarnLogging
@ eAAMPConfig_WarnLogging
Definition: AampConfig.h:139
eAAMPConfig_PlaybackOffset
@ eAAMPConfig_PlaybackOffset
Definition: AampConfig.h:287
ConfigDouble
AAMP Config double data type.
Definition: AampConfig.h:432
eAAMPConfig_EnableSCTE35PresentationTime
@ eAAMPConfig_EnableSCTE35PresentationTime
Definition: AampConfig.h:205
AampDefine.h
Macros for Aamp.
eAAMPConfig_EnableVideoEndEvent
@ eAAMPConfig_EnableVideoEndEvent
Definition: AampConfig.h:129
eAAMPConfig_MaxDASHDRMSessions
@ eAAMPConfig_MaxDASHDRMSessions
Definition: AampConfig.h:231
AampConfig::GetAampConfigJSONStr
bool GetAampConfigJSONStr(std::string &str)
GetAampConfigJSONStr - Function to Complete Config as JSON str.
Definition: AampConfig.cpp:1287
eAAMPConfig_ForceHttp
@ eAAMPConfig_ForceHttp
Definition: AampConfig.h:120
eAAMPConfig_WebVTTNative
@ eAAMPConfig_WebVTTNative
Definition: AampConfig.h:172
eAAMPConfig_LRHContentType
@ eAAMPConfig_LRHContentType
Definition: AampConfig.h:324
gpGlobalConfig
AampConfig * gpGlobalConfig
Global configuration.
Definition: main_aamp.cpp:48
eAAMPConfig_SEITimeCode
@ eAAMPConfig_SEITimeCode
Definition: AampConfig.h:180
eAAMPConfig_EnableLowLatencyDash
@ eAAMPConfig_EnableLowLatencyDash
Definition: AampConfig.h:184
eAAMPConfig_LicenseServerUrl
@ eAAMPConfig_LicenseServerUrl
Definition: AampConfig.h:297
eAAMPConfig_EnableCMCD
@ eAAMPConfig_EnableCMCD
Definition: AampConfig.h:203
eAAMPConfig_ABRNWConsistency
@ eAAMPConfig_ABRNWConsistency
Definition: AampConfig.h:218
AampConfigLookupEntry
AAMP Config lookup table structure.
Definition: AampConfig.h:361
eAAMPConfig_ReportProgressInterval
@ eAAMPConfig_ReportProgressInterval
Definition: AampConfig.h:286
eAAMPConfig_PreferredTextLanguage
@ eAAMPConfig_PreferredTextLanguage
Definition: AampConfig.h:317
eAAMPConfig_LatencyMonitorDelay
@ eAAMPConfig_LatencyMonitorDelay
Definition: AampConfig.h:253
eAAMPConfig_GSTLogging
@ eAAMPConfig_GSTLogging
Definition: AampConfig.h:141
eAAMPConfig_EnableLowLatencyCorrection
@ eAAMPConfig_EnableLowLatencyCorrection
Definition: AampConfig.h:186
eAAMPConfig_EnableCurlStore
@ eAAMPConfig_EnableCurlStore
Definition: AampConfig.h:200
eAAMPConfig_BulkTimedMetaReport
@ eAAMPConfig_BulkTimedMetaReport
Definition: AampConfig.h:168
manager.hpp
It contains class referenced by manager.cpp file.
eAAMPConfig_NativeCCRendering
@ eAAMPConfig_NativeCCRendering
Definition: AampConfig.h:170
AAMP_DEFAULT_SETTING
@ AAMP_DEFAULT_SETTING
Definition: AampDefine.h:210
eAAMPConfig_EnableSharedSSLSession
@ eAAMPConfig_EnableSharedSSLSession
Definition: AampConfig.h:182
eAAMPConfig_MaxABRNWBufferRampUp
@ eAAMPConfig_MaxABRNWBufferRampUp
Definition: AampConfig.h:240
eAAMPConfig_AuthToken
@ eAAMPConfig_AuthToken
Definition: AampConfig.h:308
eAAMPConfig_ReportVideoPTS
@ eAAMPConfig_ReportVideoPTS
Definition: AampConfig.h:131
AampConfig::GetChannelOverride
const char * GetChannelOverride(const std::string chName)
GetChannelOverride - Gets channel override url for channel Name.
Definition: AampConfig.cpp:764
eAAMPConfig_MinABRNWBufferRampDown
@ eAAMPConfig_MinABRNWBufferRampDown
Definition: AampConfig.h:239
ConfigInt
struct ConfigInt ConfigInt
AAMP Config Int data type.
AampDrmSystems.h
Define DRM types.
eAAMPConfig_InitRampDownLimit
@ eAAMPConfig_InitRampDownLimit
Definition: AampConfig.h:235
eAAMPConfig_PrefetchIFramePlaylistDL
@ eAAMPConfig_PrefetchIFramePlaylistDL
Definition: AampConfig.h:99
AampConfig::lAampCfgValue
ConfigLong lAampCfgValue[eAAMPConfig_LongMaxValue-eAAMPConfig_LongStartValue]
Definition: AampConfig.h:747
eAAMPConfig_EnableSeekRange
@ eAAMPConfig_EnableSeekRange
Definition: AampConfig.h:159
AampConfig::operator=
AampConfig & operator=(const AampConfig &)
AampConfig Copy Constructor function.
Definition: AampConfig.cpp:317
eAAMPConfig_DashParallelFragDownload
@ eAAMPConfig_DashParallelFragDownload
Definition: AampConfig.h:160
eAAMPConfig_ChangeTrackWithoutRetune
@ eAAMPConfig_ChangeTrackWithoutRetune
Definition: AampConfig.h:199
eAAMPConfig_SyncAudioFragments
@ eAAMPConfig_SyncAudioFragments
Definition: AampConfig.h:188
eAAMPConfig_GstAudioBufBytes
@ eAAMPConfig_GstAudioBufBytes
Definition: AampConfig.h:252
eAAMPConfig_EnablePROutputProtection
@ eAAMPConfig_EnablePROutputProtection
Definition: AampConfig.h:124
eAAMPConfig_EnableLowLatencyOffsetMin
@ eAAMPConfig_EnableLowLatencyOffsetMin
Definition: AampConfig.h:187
AampLogManager
AampLogManager Class.
Definition: AampLogManager.h:150
eAAMPConfig_CurlStallTimeout
@ eAAMPConfig_CurlStallTimeout
Definition: AampConfig.h:272
eAAMPConfig_MinBitrate
@ eAAMPConfig_MinBitrate
Definition: AampConfig.h:276
eAAMPConfig_GstVideoBufBytes
@ eAAMPConfig_GstVideoBufBytes
Definition: AampConfig.h:251
eAAMPConfig_ABRCacheOutlier
@ eAAMPConfig_ABRCacheOutlier
Definition: AampConfig.h:216
eAAMPConfig_IFrameDefaultBitrate4K
@ eAAMPConfig_IFrameDefaultBitrate4K
Definition: AampConfig.h:271
AampOwnerLookupEntry
AAMP Config ownership enum string mapping table.
Definition: AampConfig.h:385
eAAMPConfig_MPDDiscontinuityHandling
@ eAAMPConfig_MPDDiscontinuityHandling
Definition: AampConfig.h:118
eAAMPConfig_FragmentDownloadFailThreshold
@ eAAMPConfig_FragmentDownloadFailThreshold
Definition: AampConfig.h:260
eAAMPConfig_DemuxAudioHLSTrack
@ eAAMPConfig_DemuxAudioHLSTrack
Definition: AampConfig.h:101
eAAMPConfig_NetworkTimeout
@ eAAMPConfig_NetworkTimeout
Definition: AampConfig.h:283
AampConfig
AAMP Config Class defn.
Definition: AampConfig.h:457
AampConfig::GetConfigValue
bool GetConfigValue(AAMPConfigSettings cfg, std::string &value)
GetConfigValue - Gets configuration for string data type.
Definition: AampConfig.cpp:748
eAAMPConfig_LogLevel
@ eAAMPConfig_LogLevel
Definition: AampConfig.h:309
eAAMPConfig_DemuxVideoHLSTrack
@ eAAMPConfig_DemuxVideoHLSTrack
Definition: AampConfig.h:102
eAAMPConfig_DebugLogging
@ eAAMPConfig_DebugLogging
Definition: AampConfig.h:137
eAAMPConfig_ManifestTimeout
@ eAAMPConfig_ManifestTimeout
Definition: AampConfig.h:284
eAAMPConfig_URIParameter
@ eAAMPConfig_URIParameter
Definition: AampConfig.h:305
eAAMPConfig_Disable4K
@ eAAMPConfig_Disable4K
Definition: AampConfig.h:181
AampConfig::ProcessConfigJson
bool ProcessConfigJson(const char *cfg, ConfigPriority owner)
ProcessConfigJson - Function to parse and process json configuration string.
Definition: AampConfig.cpp:889
eAAMPConfig_RampDownLimit
@ eAAMPConfig_RampDownLimit
Definition: AampConfig.h:234
eAAMPConfig_MetadataLogging
@ eAAMPConfig_MetadataLogging
Definition: AampConfig.h:145
AampConfig::GetDeveloperConfigData
bool GetDeveloperConfigData(std::string &key, std::string &value)
GetDeveloperConfigData - Function to parse and process configuration text.
Definition: AampConfig.cpp:1330
AampConfig::ReadOperatorConfiguration
void ReadOperatorConfiguration()
ReadOperatorConfiguration - Reads Operator configuration from RFC and env variables.
Definition: AampConfig.cpp:1789
AampConfig::ReadAampCfgJsonFile
bool ReadAampCfgJsonFile()
ReadAampCfgJsonFile - Function to parse and process configuration file in json format.
Definition: AampConfig.cpp:1523
eAAMPConfig_NetworkProxy
@ eAAMPConfig_NetworkProxy
Definition: AampConfig.h:306
eAAMPConfig_ABRCacheLength
@ eAAMPConfig_ABRCacheLength
Definition: AampConfig.h:214
eAAMPConfig_PreferredTextRendition
@ eAAMPConfig_PreferredTextRendition
Definition: AampConfig.h:316
eAAMPConfig_DescriptiveTrackName
@ eAAMPConfig_DescriptiveTrackName
Definition: AampConfig.h:111
eAAMPConfig_PlaylistParallelFetch
@ eAAMPConfig_PlaylistParallelFetch
Definition: AampConfig.h:166
eAAMPConfig_LimitResolution
@ eAAMPConfig_LimitResolution
Definition: AampConfig.h:175
eAAMPConfig_EnableGstPositionQuery
@ eAAMPConfig_EnableGstPositionQuery
Definition: AampConfig.h:150
customJson
Holds information of a custom JSON array.
Definition: AampConfig.h:348
eAAMPConfig_DRMDecryptThreshold
@ eAAMPConfig_DRMDecryptThreshold
Definition: AampConfig.h:236
ConfigLong
struct ConfigLong ConfigLong
AAMP Config Long data type.
eAAMPConfig_DisableLowLatencyABR
@ eAAMPConfig_DisableLowLatencyABR
Definition: AampConfig.h:185
eAAMPConfig_AnonymousLicenseRequest
@ eAAMPConfig_AnonymousLicenseRequest
Definition: AampConfig.h:116
AampConfig::dAampCfgValue
ConfigDouble dAampCfgValue[eAAMPConfig_DoubleMaxValue-eAAMPConfig_DoubleStartValue]
Definition: AampConfig.h:748
eAAMPConfig_CustomLicenseData
@ eAAMPConfig_CustomLicenseData
Definition: AampConfig.h:320
ConfigLong
AAMP Config Long data type.
Definition: AampConfig.h:420
eAAMPConfig_ABRThresholdSize
@ eAAMPConfig_ABRThresholdSize
Definition: AampConfig.h:219
eAAMPConfig_EnableRectPropertyCfg
@ eAAMPConfig_EnableRectPropertyCfg
Definition: AampConfig.h:130
AampConfig::ParseAampCfgJsonString
void ParseAampCfgJsonString(std::string &cfg)
ParseAampCfgJsonString - It parses the aamp configuration from json format.
eAAMPConfig_MapMPD
@ eAAMPConfig_MapMPD
Definition: AampConfig.h:294
eAAMPConfig_DisableEC3
@ eAAMPConfig_DisableEC3
Definition: AampConfig.h:107
eAAMPConfig_LRHAcceptValue
@ eAAMPConfig_LRHAcceptValue
Definition: AampConfig.h:323
AampConfig::ShowDefaultAampConfiguration
void ShowDefaultAampConfiguration()
ShowDefaultAampConfiguration - List all AAMP Default settings.
Definition: AampConfig.cpp:1938
eAAMPConfig_DisableUnderflow
@ eAAMPConfig_DisableUnderflow
Definition: AampConfig.h:174
eAAMPConfig_LatencyMonitorInterval
@ eAAMPConfig_LatencyMonitorInterval
Definition: AampConfig.h:254
eAAMPConfig_DescriptiveAudioTrack
@ eAAMPConfig_DescriptiveAudioTrack
Definition: AampConfig.h:134
eAAMPConfig_EnablePublishingMuxedAudio
@ eAAMPConfig_EnablePublishingMuxedAudio
Definition: AampConfig.h:202
eAAMPConfig_LiveOffset
@ eAAMPConfig_LiveOffset
Definition: AampConfig.h:288
ConfigString
AAMP Config String data type.
Definition: AampConfig.h:443
AampConfig::ProcessConfigText
bool ProcessConfigText(std::string &cfg, ConfigPriority owner)
ProcessConfigText - Function to parse and process configuration text.
Definition: AampConfig.cpp:1347
eAAMPConfig_CKLicenseServerUrl
@ eAAMPConfig_CKLicenseServerUrl
Definition: AampConfig.h:298
eAAMPConfig_RuntimeDRMConfig
@ eAAMPConfig_RuntimeDRMConfig
Definition: AampConfig.h:201
eAAMPConfig_PreferredAudioType
@ eAAMPConfig_PreferredAudioType
Definition: AampConfig.h:315
AampConfig::ShowStreamSetConfiguration
void ShowStreamSetConfiguration()
ShowStreamSetConfiguration - List all stream configured settings.
Definition: AampConfig.cpp:1927
eAAMPConfig_MaxFragmentChunkCached
@ eAAMPConfig_MaxFragmentChunkCached
Definition: AampConfig.h:255
eAAMPConfig_GStreamerBufferingBeforePlay
@ eAAMPConfig_GStreamerBufferingBeforePlay
Definition: AampConfig.h:123
eAAMPConfig_LanguageCodePreference
@ eAAMPConfig_LanguageCodePreference
Definition: AampConfig.h:233
libIBus.h
RDK IARM-Bus API Declarations.
eAAMPConfig_UseWesterosSink
@ eAAMPConfig_UseWesterosSink
Definition: AampConfig.h:153
eAAMPConfig_GstSubtecEnabled
@ eAAMPConfig_GstSubtecEnabled
Definition: AampConfig.h:194
ConfigPriority
ConfigPriority
AAMP Config Ownership values.
Definition: AampDefine.h:208
eAAMPConfig_CurlLogging
@ eAAMPConfig_CurlLogging
Definition: AampConfig.h:143
eAAMPConfig_XRESupportedTune
@ eAAMPConfig_XRESupportedTune
Definition: AampConfig.h:193
eAAMPConfig_SuppressDecode
@ eAAMPConfig_SuppressDecode
Definition: AampConfig.h:196
ConfigInt
AAMP Config Int data type.
Definition: AampConfig.h:408
eAAMPConfig_AvgBWForABR
@ eAAMPConfig_AvgBWForABR
Definition: AampConfig.h:169
eAAMPConfig_DisableAC3
@ eAAMPConfig_DisableAC3
Definition: AampConfig.h:112
AampConfig::DoCustomSetting
void DoCustomSetting(ConfigPriority owner)
DoCustomSetting - Function to do override , to avoid complexity with multiple configs.
Definition: AampConfig.cpp:1993
eAAMPConfig_DisablePlaylistIndexEvent
@ eAAMPConfig_DisablePlaylistIndexEvent
Definition: AampConfig.h:113
eAAMPConfig_RetuneForGSTError
@ eAAMPConfig_RetuneForGSTError
Definition: AampConfig.h:156
eAAMPConfig_JsInfoLogging
@ eAAMPConfig_JsInfoLogging
Definition: AampConfig.h:206
eAAMPConfig_PreferredAudioLabel
@ eAAMPConfig_PreferredAudioLabel
Definition: AampConfig.h:314
AampConfig::GetChannelLicenseOverride
const char * GetChannelLicenseOverride(const std::string chName)
GetChannelLicenseOverride - Gets channel License override url for channel Url.
Definition: AampConfig.cpp:785
eAAMPConfig_LicenseKeyAcquireWaitTime
@ eAAMPConfig_LicenseKeyAcquireWaitTime
Definition: AampConfig.h:228
eAAMPConfig_ABRSkipDuration
@ eAAMPConfig_ABRSkipDuration
Definition: AampConfig.h:217
eAAMPConfig_DASHIgnoreBaseURLIfSlash
@ eAAMPConfig_DASHIgnoreBaseURLIfSlash
Definition: AampConfig.h:115
eAAMPConfig_HarvestConfig
@ eAAMPConfig_HarvestConfig
Definition: AampConfig.h:212
AampConfig::ToggleConfigValue
void ToggleConfigValue(ConfigPriority owner, AAMPConfigSettings cfg)
ToggleConfigValue - Toggle Boolean configuration.
Definition: AampConfig.cpp:809
eAAMPConfig_ABRCacheLife
@ eAAMPConfig_ABRCacheLife
Definition: AampConfig.h:213
eAAMPConfig_LicenseProxy
@ eAAMPConfig_LicenseProxy
Definition: AampConfig.h:307
ConfigString
struct ConfigString ConfigString
AAMP Config String data type.
AampConfig::GetConfigName
std::string GetConfigName(AAMPConfigSettings cfg)
GetConfigName - Function to get configuration name for enum from lookup table.
Definition: AampConfig.cpp:2087
ConfigDouble
struct ConfigDouble ConfigDouble
AAMP Config double data type.
eAAMPConfig_DiscontinuityTimeout
@ eAAMPConfig_DiscontinuityTimeout
Definition: AampConfig.h:275
eAAMPConfig_MaxCurlSockStore
@ eAAMPConfig_MaxCurlSockStore
Definition: AampConfig.h:264
eAAMPConfig_PlayAdFromCDN
@ eAAMPConfig_PlayAdFromCDN
Definition: AampConfig.h:128
AampConfig::GetConfigOwner
ConfigPriority GetConfigOwner(AAMPConfigSettings cfg)
GetConfigOwner - Gets configuration Owner.
Definition: AampConfig.cpp:680
eAAMPConfig_LinearTrickPlayFPS
@ eAAMPConfig_LinearTrickPlayFPS
Definition: AampConfig.h:226
eAAMPConfig_DisableATMOS
@ eAAMPConfig_DisableATMOS
Definition: AampConfig.h:108
AampConfig::ReadNumericHelper
bool ReadNumericHelper(std::string valStr, T &value)
ReadNumericHelper - Parse helper function.
Definition: AampConfig.cpp:2294
eAAMPConfig_PreferredAudioRendition
@ eAAMPConfig_PreferredAudioRendition
Definition: AampConfig.h:311
eAAMPConfig_TuneEventConfig
@ eAAMPConfig_TuneEventConfig
Definition: AampConfig.h:224
eAAMPConfig_SslVerifyPeer
@ eAAMPConfig_SslVerifyPeer
Definition: AampConfig.h:126
eAAMPConfig_SegmentInjectThreshold
@ eAAMPConfig_SegmentInjectThreshold
Definition: AampConfig.h:237
eAAMPConfig_ReTuneOnBufferingTimeout
@ eAAMPConfig_ReTuneOnBufferingTimeout
Definition: AampConfig.h:125
AampConfig::ReadDeviceCapability
void ReadDeviceCapability()
Definition: AampConfig.cpp:609
eAAMPConfig_ABRBufferCheckEnabled
@ eAAMPConfig_ABRBufferCheckEnabled
Definition: AampConfig.h:164
eAAMPConfig_EnablePTO
@ eAAMPConfig_EnablePTO
Definition: AampConfig.h:191
eAAMPConfig_PreferredAudioLanguage
@ eAAMPConfig_PreferredAudioLanguage
Definition: AampConfig.h:313
eAAMPConfig_LLMinLatency
@ eAAMPConfig_LLMinLatency
Definition: AampConfig.h:257
eAAMPConfig_UseSecManager
@ eAAMPConfig_UseSecManager
Definition: AampConfig.h:190
eAAMPConfig_SchemeIdUriDaiStream
@ eAAMPConfig_SchemeIdUriDaiStream
Definition: AampConfig.h:321
AampConfig::RestoreConfiguration
void RestoreConfiguration(ConfigPriority owner, AampLogManager *mLogObj)
RestoreConfiguration - Function is restore last configuration value from current ownership.
Definition: AampConfig.cpp:2147
eAAMPConfig_ForceEC3
@ eAAMPConfig_ForceEC3
Definition: AampConfig.h:106
eAAMPConfig_PropogateURIParam
@ eAAMPConfig_PropogateURIParam
Definition: AampConfig.h:152
AampConfig::ShowOperatorSetConfiguration
void ShowOperatorSetConfiguration()
ShowOperatorSetConfiguration - List all operator configured settings.
Definition: AampConfig.cpp:1909
AampConfig::CustomSearch
bool CustomSearch(std::string url, int playerId, std::string appname)
CustomSearch - Function to apply custom search.
Definition: AampConfig.cpp:1142
eAAMPConfig_LivePauseBehavior
@ eAAMPConfig_LivePauseBehavior
Definition: AampConfig.h:250
AampConfig::ParseAampCfgTxtString
void ParseAampCfgTxtString(std::string &cfg)
ParseAampCfgTxtString - It parses the aamp configuration.
eAAMPConfig_DemuxAudioBeforeVideo
@ eAAMPConfig_DemuxAudioBeforeVideo
Definition: AampConfig.h:104
eAAMPConfig_AsyncTune
@ eAAMPConfig_AsyncTune
Definition: AampConfig.h:173
eAAMPConfig_PersistLowNetworkBandwidth
@ eAAMPConfig_PersistLowNetworkBandwidth
Definition: AampConfig.h:198
eAAMPConfig_TraceLogging
@ eAAMPConfig_TraceLogging
Definition: AampConfig.h:138
AampConfig::GetTR181AAMPConfig
char * GetTR181AAMPConfig(const char *paramName, size_t &iConfigLen)
AampConfig::AampConfig
AampConfig()
AampConfig Constructor function . Default values defined.
Definition: AampConfig.cpp:305
eAAMPConfig_UserAgent
@ eAAMPConfig_UserAgent
Definition: AampConfig.h:301
eAAMPConfig_MaxPlaylistCacheSize
@ eAAMPConfig_MaxPlaylistCacheSize
Definition: AampConfig.h:230
eAAMPConfig_DefaultBitrate
@ eAAMPConfig_DefaultBitrate
Definition: AampConfig.h:268
eAAMPConfig_CEAPreferred
@ eAAMPConfig_CEAPreferred
Definition: AampConfig.h:243
eAAMPConfig_EnableClientDai
@ eAAMPConfig_EnableClientDai
Definition: AampConfig.h:127
eAAMPConfig_ID3Logging
@ eAAMPConfig_ID3Logging
Definition: AampConfig.h:148
eAAMPConfig_CurlHeader
@ eAAMPConfig_CurlHeader
Definition: AampConfig.h:146
AampConfig::ShowDevCfgConfiguration
void ShowDevCfgConfiguration()
ShowDevCfgConfiguration - List all developer configured settings.
Definition: AampConfig.cpp:1947
eAAMPConfig_LLTargetLatency
@ eAAMPConfig_LLTargetLatency
Definition: AampConfig.h:258
eAAMPConfig_EnableAampConfigToFog
@ eAAMPConfig_EnableAampConfigToFog
Definition: AampConfig.h:192
eAAMPConfig_Http5XXRetryWaitInterval
@ eAAMPConfig_Http5XXRetryWaitInterval
Definition: AampConfig.h:232
eAAMPConfig_Subtec_subtitle
@ eAAMPConfig_Subtec_subtitle
Definition: AampConfig.h:171
eAAMPConfig_EnableIgnoreEosSmallFragment
@ eAAMPConfig_EnableIgnoreEosSmallFragment
Definition: AampConfig.h:189
eAAMPConfig_EnableAccessAttributes
@ eAAMPConfig_EnableAccessAttributes
Definition: AampConfig.h:177
eAAMPConfig_ProgressLogging
@ eAAMPConfig_ProgressLogging
Definition: AampConfig.h:142
eAAMPConfig_DisableAC4
@ eAAMPConfig_DisableAC4
Definition: AampConfig.h:109
AampConfig::ShowAppSetConfiguration
void ShowAppSetConfiguration()
ShowAppSetConfiguration - List all Application configured settings.
Definition: AampConfig.cpp:1918
eAAMPConfig_EnableSubscribedTags
@ eAAMPConfig_EnableSubscribedTags
Definition: AampConfig.h:114
eAAMPConfig_PlaylistParallelRefresh
@ eAAMPConfig_PlaylistParallelRefresh
Definition: AampConfig.h:167
eAAMPConfig_VODTrickPlayFPS
@ eAAMPConfig_VODTrickPlayFPS
Definition: AampConfig.h:225
eAAMPConfig_Throttle
@ eAAMPConfig_Throttle
Definition: AampConfig.h:103
eAAMPConfig_RetuneForUnpairDiscontinuity
@ eAAMPConfig_RetuneForUnpairDiscontinuity
Definition: AampConfig.h:155
eAAMPConfig_BufferHealthMonitorInterval
@ eAAMPConfig_BufferHealthMonitorInterval
Definition: AampConfig.h:222
eAAMPConfig_StreamLogging
@ eAAMPConfig_StreamLogging
Definition: AampConfig.h:147
eAAMPConfig_BoolMaxValue
@ eAAMPConfig_BoolMaxValue
Definition: AampConfig.h:208
eAAMPConfig_DefaultBitrate4K
@ eAAMPConfig_DefaultBitrate4K
Definition: AampConfig.h:269
eAAMPConfig_PrePlayBufferCount
@ eAAMPConfig_PrePlayBufferCount
Definition: AampConfig.h:241
eAAMPConfig_ABRChunkThresholdSize
@ eAAMPConfig_ABRChunkThresholdSize
Definition: AampConfig.h:256
eAAMPConfig_MaxBitrate
@ eAAMPConfig_MaxBitrate
Definition: AampConfig.h:277
AampConfig::IsConfigSet
bool IsConfigSet(AAMPConfigSettings cfg)
Gets the boolean configuration value.
Definition: AampConfig.cpp:649
eAAMPConfig_SetLicenseCaching
@ eAAMPConfig_SetLicenseCaching
Definition: AampConfig.h:162
eAAMPConfig_CDVRLiveOffset
@ eAAMPConfig_CDVRLiveOffset
Definition: AampConfig.h:290
eAAMPConfig_InternalReTune
@ eAAMPConfig_InternalReTune
Definition: AampConfig.h:121
eAAMPConfig_CustomHeaderLicense
@ eAAMPConfig_CustomHeaderLicense
Definition: AampConfig.h:310
eAAMPConfig_SchemeIdUriVssStream
@ eAAMPConfig_SchemeIdUriVssStream
Definition: AampConfig.h:322
eAAMPConfig_MPDDiscontinuityHandlingCdvr
@ eAAMPConfig_MPDDiscontinuityHandlingCdvr
Definition: AampConfig.h:119
AampConfig::bAampCfgValue
ConfigBool bAampCfgValue[eAAMPConfig_BoolMaxValue]
Definition: AampConfig.h:745
eAAMPConfig_BufferHealthMonitorDelay
@ eAAMPConfig_BufferHealthMonitorDelay
Definition: AampConfig.h:221
eAAMPConfig_FogMaxConcurrentDownloads
@ eAAMPConfig_FogMaxConcurrentDownloads
Definition: AampConfig.h:262
eAAMPConfig_IFrameDefaultBitrate
@ eAAMPConfig_IFrameDefaultBitrate
Definition: AampConfig.h:270
eAAMPConfig_MaxInitFragCachePerTrack
@ eAAMPConfig_MaxInitFragCachePerTrack
Definition: AampConfig.h:261
eAAMPConfig_EnableABR
@ eAAMPConfig_EnableABR
Definition: AampConfig.h:97
eAAMPConfig_SourceSetupTimeout
@ eAAMPConfig_SourceSetupTimeout
Definition: AampConfig.h:248
AampConfig::sAampCfgValue
ConfigString sAampCfgValue[eAAMPConfig_StringMaxValue-eAAMPConfig_StringStartValue]
Definition: AampConfig.h:749
eAAMPConfig_PersistentBitRateOverSeek
@ eAAMPConfig_PersistentBitRateOverSeek
Definition: AampConfig.h:161
eAAMPConfig_TimeShiftBufferLength
@ eAAMPConfig_TimeShiftBufferLength
Definition: AampConfig.h:215
eAAMPConfig_MatchBaseUrl
@ eAAMPConfig_MatchBaseUrl
Definition: AampConfig.h:157
eAAMPConfig_PreCachePlaylistTime
@ eAAMPConfig_PreCachePlaylistTime
Definition: AampConfig.h:242
eAAMPConfig_DemuxHLSVideoTsTrackTM
@ eAAMPConfig_DemuxHLSVideoTsTrackTM
Definition: AampConfig.h:105
AampConfig::ConfigureLogSettings
void ConfigureLogSettings()
ConfigureLogSettings - This function configures log settings for LogManager instance.
Definition: AampConfig.cpp:1859
eAAMPConfig_InfoLogging
@ eAAMPConfig_InfoLogging
Definition: AampConfig.h:136
eAAMPConfig_WideVineKIDWorkaround
@ eAAMPConfig_WideVineKIDWorkaround
Definition: AampConfig.h:178
eAAMPConfig_EnableLinearSimulator
@ eAAMPConfig_EnableLinearSimulator
Definition: AampConfig.h:154
AampConfig::ReadAampCfgTxtFile
bool ReadAampCfgTxtFile()
ReadAampCfgTxtFile - Function to parse and process configuration file in text format.
Definition: AampConfig.cpp:1574
AampConfig::CustomArrayRead
void CustomArrayRead(cJSON *customArray, ConfigPriority owner)
CustomArrayRead - Function to Read Custom JSON Array.
Definition: AampConfig.cpp:1070
eAAMPConfig_FailoverLogging
@ eAAMPConfig_FailoverLogging
Definition: AampConfig.h:140
eAAMPConfig_ReportBufferEvent
@ eAAMPConfig_ReportBufferEvent
Definition: AampConfig.h:135
eAAMPConfig_AllowPageHeaders
@ eAAMPConfig_AllowPageHeaders
Definition: AampConfig.h:195
eAAMPConfig_UseAbsoluteTimeline
@ eAAMPConfig_UseAbsoluteTimeline
Definition: AampConfig.h:176
eAAMPConfig_EnableSlowMotion
@ eAAMPConfig_EnableSlowMotion
Definition: AampConfig.h:204
eAAMPConfig_InitFragmentRetryCount
@ eAAMPConfig_InitFragmentRetryCount
Definition: AampConfig.h:238
AampConfig::ShowConfiguration
void ShowConfiguration(ConfigPriority owner)
ShowConfiguration - Function to list configration values based on the owner.
Definition: AampConfig.cpp:2225
AAMPConfigSettings
AAMPConfigSettings
AAMP Config Settings.
Definition: AampConfig.h:95
eAAMPConfig_PTSErrorThreshold
@ eAAMPConfig_PTSErrorThreshold
Definition: AampConfig.h:229
eAAMPConfig_ContentProtectionDataUpdateTimeout
@ eAAMPConfig_ContentProtectionDataUpdateTimeout
Definition: AampConfig.h:263
eAAMPConfig_CustomHeader
@ eAAMPConfig_CustomHeader
Definition: AampConfig.h:304
eAAMPConfig_PRLicenseServerUrl
@ eAAMPConfig_PRLicenseServerUrl
Definition: AampConfig.h:299
eAAMPConfig_MidFragmentSeek
@ eAAMPConfig_MidFragmentSeek
Definition: AampConfig.h:151
eAAMPConfig_UseAppSrcForProgressivePlayback
@ eAAMPConfig_UseAppSrcForProgressivePlayback
Definition: AampConfig.h:133
eAAMPConfig_HarvestPath
@ eAAMPConfig_HarvestPath
Definition: AampConfig.h:296
eAAMPConfig_PreferredAudioCodec
@ eAAMPConfig_PreferredAudioCodec
Definition: AampConfig.h:312
eAAMPConfig_RepairIframes
@ eAAMPConfig_RepairIframes
Definition: AampConfig.h:179
ConfigChannelInfo
Holds information of a channel.
Definition: AampConfig.h:333
eAAMPConfig_PreferredDRM
@ eAAMPConfig_PreferredDRM
Definition: AampConfig.h:223
AampConfig::ShowAAMPConfiguration
void ShowAAMPConfiguration()
ShowAAMPConfiguration - Show all settings for every owner.
Definition: AampConfig.cpp:1957