RDK Documentation (Open Sourced RDK Components)
PrivateInstanceAAMP Class Reference

Class representing the AAMP player's private instance, which is not exposed to outside world. More...

#include <priv_aamp.h>

Inheritance diagram for PrivateInstanceAAMP:
Inheritance graph
Collaboration diagram for PrivateInstanceAAMP:
Collaboration graph

Data Structures

class  PositionCache
 A standard way of storing positions with associated data for validation purposes. More...
 
class  PositionInfo
 A readonly, validatable position value. More...
 

Public Member Functions

ProfilerBucketType GetProfilerBucketForMedia (MediaType mediaType, bool isInitializationSegment)
 Get profiler bucket type. More...
 
void Tune (const char *url, bool autoPlay, const char *contentType=NULL, bool bFirstAttempt=true, bool bFinalAttempt=false, const char *sessionUUID=NULL, bool audioDecoderStreamSync=true)
 Tune API. More...
 
void ReloadTSB ()
 API Used to reload TSB with new session. More...
 
void TuneHelper (TuneType tuneType, bool seekWhilePaused=false)
 The helper function which perform tuning Common tune operations used on Tune, Seek, SetRate etc. More...
 
void TeardownStream (bool newTune)
 Terminate the stream. More...
 
void SendMessageOverPipe (const char *str, int nToWrite)
 Send messages to Receiver over PIPE. More...
 
LangCodePreference GetLangCodePreference ()
 Get Language preference from aamp.cfg. More...
 
bool SetupPipeSession ()
 Establish PIPE session with Receiver. More...
 
void ClosePipeSession ()
 Close PIPE session with Receiver. More...
 
void SendMessage2Receiver (AAMP2ReceiverMsgType type, const char *data)
 Send message to reciever over PIPE. More...
 
bool PausePipeline (bool pause, bool forceStopGstreamerPreBuffering)
 To change the the gstreamer pipeline to pause/play. More...
 
ProfilerBucketType mediaType2Bucket (MediaType fileType)
 Convert media file type to profiler bucket type. More...
 
void SetTuneEventConfig (TunedEventConfig tuneEventType)
 to set the vod-tune-event according to the player More...
 
TunedEventConfig GetTuneEventConfig (bool isLive)
 
void UpdatePreferredAudioList ()
 to update the preferredaudio codec, rendition and languages list More...
 
unsigned char * ReplaceKeyIDPsshData (const unsigned char *InputData, const size_t InputDataLength, size_t &OutputDataLength)
 Replace KeyID from PsshData. More...
 
bool hasId3Header (const uint8_t *data, uint32_t length)
 Check if segment starts with an ID3 section. More...
 
void ProcessID3Metadata (char *segment, size_t size, MediaType type, uint64_t timestampOffset=0)
 Process the ID3 metadata from segment. More...
 
void ReportID3Metadata (MediaType mediaType, const uint8_t *ptr, uint32_t len, const char *schemeIdURI=NULL, const char *id3Value=NULL, uint64_t presTime=0, uint32_t id3ID=0, uint32_t eventDur=0, uint32_t tScale=0, uint64_t tStampOffset=0)
 Report ID3 metadata events. More...
 
void FlushLastId3Data (MediaType mediaType)
 Flush last saved ID3 metadata. More...
 
void CurlInit (AampCurlInstance startIdx, unsigned int instanceCount=1, std::string proxyName="")
 Curl initialization function. More...
 
void SetTunedManifestUrl (bool isrecordedUrl=false)
 Sets Recorded URL from Manifest received form XRE. More...
 
const char * GetTunedManifestUrl ()
 Gets Recorded URL from Manifest received form XRE. More...
 
void SetCurlTimeout (long timeout, AampCurlInstance instance)
 Set curl timeout(CURLOPT_TIMEOUT) More...
 
void SetManifestCurlTimeout (long timeout)
 Set manifest curl timeout. More...
 
void StoreLanguageList (const std::set< std::string > &langlist)
 Storing audio language list. More...
 
bool IsAudioLanguageSupported (const char *checkLanguage)
 Checking whether audio language supported. More...
 
void CurlTerm (AampCurlInstance startIdx, unsigned int instanceCount=1)
 Terminate curl contexts. More...
 
AampCurlInstance GetPlaylistCurlInstance (MediaType type, bool IsInitDnld=true)
 GetPlaylistCurlInstance - Function to return the curl instance for playlist download Considers parallel download to decide the curl instance. More...
 
bool GetNetworkTime (enum UtcTiming timingtype, const std::string &remoteUrl, long *http_error, CurlRequest request)
 Download a file from the server. More...
 
bool GetFile (std::string remoteUrl, struct GrowableBuffer *buffer, std::string &effectiveUrl, long *http_error=NULL, double *downloadTime=NULL, const char *range=NULL, unsigned int curlInstance=0, bool resetBuffer=true, MediaType fileType=eMEDIATYPE_DEFAULT, long *bitrate=NULL, int *fogError=NULL, double fragmentDurationSec=0, class CMCDHeaders *pCMCDMetrics=NULL)
 Download a file from the CDN. More...
 
const std::string & getUUID () const
 
char * GetOnVideoEndSessionStatData ()
 Download VideoEnd Session statistics from fog. More...
 
bool ProcessCustomCurlRequest (std::string &remoteUrl, struct GrowableBuffer *buffer, long *http_error, CurlRequest request=eCURL_GET, std::string pData="")
 Perform custom curl request. More...
 
const char * MediaTypeString (MediaType fileType)
 get Media Type in string More...
 
char * LoadFragment (ProfilerBucketType bucketType, std::string fragmentUrl, std::string &effectiveUrl, size_t *len, unsigned int curlInstance=0, const char *range=NULL, long *http_code=NULL, double *downloadTime=NULL, MediaType fileType=eMEDIATYPE_MANIFEST, int *fogError=NULL)
 Fetch a file from CDN and update profiler.
 
bool LoadFragment (class CMCDHeaders *pCMCDMetrics, ProfilerBucketType bucketType, std::string fragmentUrl, std::string &effectiveUrl, struct GrowableBuffer *buffer, unsigned int curlInstance=0, const char *range=NULL, MediaType fileType=eMEDIATYPE_MANIFEST, long *http_code=NULL, double *downloadTime=NULL, long *bitrate=NULL, int *fogError=NULL, double fragmentDurationSec=0)
 Fetch a file from CDN and update profiler.
 
void PushFragment (MediaType mediaType, char *ptr, size_t len, double fragmentTime, double fragmentDuration)
 Push fragment to the gstreamer.
 
void PushFragment (MediaType mediaType, GrowableBuffer *buffer, double fragmentTime, double fragmentDuration)
 Push fragment to the gstreamer.
 
void EndOfStreamReached (MediaType mediaType)
 End of stream reached. More...
 
void EndTimeReached (MediaType mediaType)
 Clip ended. More...
 
void InsertAd (const char *url, double positionSeconds)
 Insert ad content. More...
 
void AddEventListener (AAMPEventType eventType, EventListener *eventListener)
 Add listener to aamp events. More...
 
void RemoveEventListener (AAMPEventType eventType, EventListener *eventListener)
 Deregister event lister, Remove listener to aamp events. More...
 
bool IsEventListenerAvailable (AAMPEventType eventType)
 IsEventListenerAvailable Check if Event is registered. More...
 
void SendErrorEvent (AAMPTuneFailure tuneFailure, const char *description=NULL, bool isRetryEnabled=true, int32_t secManagerClassCode=-1, int32_t secManagerReasonCode=-1, int32_t secClientBusinessStatus=-1)
 Handles errors and sends events to application if required. For download failures, use SendDownloadErrorEvent instead. More...
 
void SendDRMMetaData (DrmMetaDataEventPtr e)
 Send DRM metadata event. More...
 
void SendDrmErrorEvent (DrmMetaDataEventPtr event, bool isRetryEnabled)
 Handles DRM errors and sends events to application if required. More...
 
void SendDownloadErrorEvent (AAMPTuneFailure tuneFailure, long error_code)
 Handles download errors and sends events to application if required. More...
 
void SendAnomalyEvent (AAMPAnomalyMessageType type, const char *format,...)
 Sends Anomaly Error/warning messages. More...
 
void SendBufferChangeEvent (bool bufferingStopped=false)
 Sends UnderFlow Event messages. More...
 
bool GetBufUnderFlowStatus ()
 
void SetBufUnderFlowStatus (bool statusFlag)
 
void ResetBufUnderFlowStatus ()
 
void SendEvent (AAMPEventPtr eventData, AAMPEventMode eventMode=AAMP_EVENT_DEFAULT_MODE)
 Send event to listeners. More...
 
void NotifySpeedChanged (float rate, bool changeState=true)
 Notify speed change event to listeners. More...
 
void NotifyBitRateChangeEvent (int bitrate, BitrateChangeReason reason, int width, int height, double framerate, double position, bool GetBWIndex=false, VideoScanType scantype=eVIDEOSCAN_UNKNOWN, int aspectRatioWidth=0, int aspectRatioHeight=0)
 Notify bit rate change event to listeners. More...
 
void NotifyEOSReached ()
 Process EOS from Sink and notify listeners if required. More...
 
void NotifyOnEnteringLive ()
 Notify when entering live point to listeners. More...
 
int GetPersistedProfileIndex ()
 Get persisted profile index. More...
 
void SetPersistedProfileIndex (int profile)
 Set persisted profile index. More...
 
void SetPersistedBandwidth (long bandwidth)
 Set persisted bandwidth. More...
 
long GetPersistedBandwidth ()
 Get persisted bandwidth. More...
 
void UpdateDuration (double seconds)
 Update playlist duration. More...
 
void UpdateCullingState (double culledSeconds)
 Update playlist culling. More...
 
void UpdateRefreshPlaylistInterval (float maxIntervalSecs)
 Update playlist refresh interval. More...
 
long long GetVideoPTS (bool bAddVideoBasePTS)
 Report progress event. More...
 
void ReportProgress (bool sync=true, bool beginningOfStream=false)
 Report progress event to listeners. More...
 
void ReportAdProgress (bool sync=true)
 Report Ad progress event to listeners Sending Ad progress percentage to JSPP. More...
 
long long GetDurationMs (void)
 Get asset duration in milliseconds. More...
 
long long DurationFromStartOfPlaybackMs (void)
 Get asset duration in milliseconds For VIDEO TAG Based playback, mainly when aamp is used as plugin. More...
 
long long GetPositionMs (void)
 Get current stream position. More...
 
bool LockGetPositionMilliseconds ()
 Lock GetPositionMilliseconds() returns true if successfull.
 
void UnlockGetPositionMilliseconds ()
 Unlock GetPositionMilliseconds()
 
long long GetPositionMilliseconds (void)
 Get current stream playback position in milliseconds. More...
 
double GetPositionSeconds (void)
 
void SendStreamCopy (MediaType mediaType, const void *ptr, size_t len, double fpts, double fdts, double fDuration)
 API to send audio/video stream into the sink. More...
 
void SendStreamTransfer (MediaType mediaType, GrowableBuffer *buffer, double fpts, double fdts, double fDuration, bool initFragment=0)
 API to send audio/video stream into the sink. More...
 
void SetStreamSink (StreamSink *streamSink)
 Setting the stream sink. More...
 
bool IsLive (void)
 Checking if the stream is live or not. More...
 
bool IsAudioPlayContextCreationSkipped (void)
 Check if audio playcontext creation skipped for Demuxed HLS file. More...
 
bool IsLiveStream (void)
 Check if stream is live. More...
 
void Stop (void)
 Stop playback and release resources. More...
 
bool IsTSBSupported ()
 Checking whether TSB enabled or not. More...
 
bool IsInProgressCDVR ()
 Checking whether CDVR in progress. More...
 
bool IsUninterruptedTSB ()
 Checking whether fog is giving uninterrupted TSB. More...
 
bool IsCDVRContent ()
 Checking whether CDVR Stream or not. More...
 
bool IsOTAContent ()
 Checking whether OTA content or not. More...
 
bool IsEASContent ()
 Checking whether EAS content or not. More...
 
void ReportTimedMetadata (bool init=false)
 Report timed metadata Function to send timedMetadata.
 
void ReportTimedMetadata (long long timeMS, const char *szName, const char *szContent, int nb, bool bSyncCall=false, const char *id="", double durationMS=-1)
 Report timed metadata Function to send timedMetadata events.
 
void SaveNewTimedMetadata (long long timeMS, const char *szName, const char *szContent, int nb, const char *id="", double durationMS=-1)
 SaveNewTimedMetadata Function to store Metadata and reporting event one by one after DRM Initialization. More...
 
void SaveTimedMetadata (long long timeMS, const char *szName, const char *szContent, int nb, const char *id="", double durationMS=-1)
 SaveTimedMetadata Function to store Metadata for bulk reporting during Initialization. More...
 
void ReportBulkTimedMetadata ()
 Report bulk timedMetadata Function to send bulk timedMetadata in json format. More...
 
void ReportContentGap (long long timeMS, std::string id, double durationMS=-1)
 Report content gap events. More...
 
void InterruptableMsSleep (int timeInMs)
 Sleep until timeout is reached or interrupted. More...
 
bool DownloadsAreEnabled (void)
 Check if downloads are enabled. More...
 
void StopDownloads ()
 Stop downloads of all tracks. Used by aamp internally to manage states. More...
 
void ResumeDownloads ()
 Resume downloads of all tracks. Used by aamp internally to manage states. More...
 
void StopTrackDownloads (MediaType type)
 Stop downloads for a track. Called from StreamSink to control flow. More...
 
void ResumeTrackDownloads (MediaType type)
 Resume downloads for a track. Called from StreamSink to control flow. More...
 
void BlockUntilGstreamerWantsData (void(*cb)(void), int periodMs, int track)
 Block the injector thread until the gstreanmer needs buffer/more data. More...
 
void LogTuneComplete (void)
 Notify tune end for profiling/logging. More...
 
void AdditionalTuneFailLogEntries ()
 Additional log entries to assist with tune failure diagnostics. More...
 
void TuneFail (bool fail)
 Profiler for failure tune. More...
 
void LogFirstFrame (void)
 Notifies profiler that first frame is presented. More...
 
void LogPlayerPreBuffered (void)
 Profile Player changed from background to foreground i.e prebuffred. More...
 
void LogDrmInitComplete (void)
 Notifies profiler that drm initialization is complete. More...
 
void LogDrmDecryptBegin (ProfilerBucketType bucketType)
 Notifies profiler that decryption has started. More...
 
void LogDrmDecryptEnd (ProfilerBucketType bucketType)
 Notifies profiler that decryption has ended. More...
 
std::string & GetManifestUrl (void)
 Get manifest URL. More...
 
std::string & GetDrmInitData (void)
 Get DRM init data obtained from manifest URL (if present) More...
 
void SetManifestUrl (const char *url)
 Set manifest URL. More...
 
void NotifyFirstFrameReceived (void)
 Notify first frame is displayed. Sends CC handle event to listeners. More...
 
void InitializeCC (void)
 Initialize CC after first frame received Sends CC handle event to listeners when first frame receives or video_dec handle rests. More...
 
void SyncBegin (void)
 GStreamer operation start. More...
 
void SyncEnd (void)
 GStreamer operation end. More...
 
double GetSeekBase (void)
 Get seek base position. More...
 
void ResetCurrentlyAvailableBandwidth (long bitsPerSecond, bool trickPlay, int profile=0)
 Reset bandwidth value Artificially resetting the bandwidth. Low for quicker tune times. More...
 
long GetCurrentlyAvailableBandwidth (void)
 Get the current network bandwidth using most recently recorded 3 samples. More...
 
void DisableDownloads (void)
 abort ongoing downloads and returns error on future downloads called while stopping fragment collector thread More...
 
void EnableDownloads (void)
 Enable downloads after aamp_DisableDownloads. Called after stopping fragment collector thread. More...
 
void RegisterEvents (EventListener *eventListener)
 Register event listener. More...
 
void UnRegisterEvents (EventListener *eventListener)
 UnRegister event listener. More...
 
void ScheduleRetune (PlaybackErrorType errorType, MediaType trackType)
 Schedules retune or discontinuity processing based on state. More...
 
 PrivateInstanceAAMP (AampConfig *config=NULL)
 PrivateInstanceAAMP Constructor.
 
 ~PrivateInstanceAAMP ()
 PrivateInstanceAAMP Destructor.
 
 PrivateInstanceAAMP (const PrivateInstanceAAMP &)=delete
 Copy constructor disabled. More...
 
PrivateInstanceAAMPoperator= (const PrivateInstanceAAMP &)=delete
 assignment operator disabled More...
 
void UpdateVideoRectangle (int x, int y, int w, int h)
 Set video rectangle. More...
 
void SetVideoRectangle (int x, int y, int w, int h)
 Set video rectangle. More...
 
bool Discontinuity (MediaType track, bool setDiscontinuityFlag=false)
 Signal discontinuity of track. Called from StreamAbstractionAAMP to signal discontinuity. More...
 
void SetTrackDiscontinuityIgnoredStatus (MediaType track)
 Set discontinuity ignored flag for given track. More...
 
bool IsDiscontinuityIgnoredForOtherTrack (MediaType track)
 Check whether the given track discontinuity ignored earlier. More...
 
void ResetTrackDiscontinuityIgnoredStatus (void)
 Reset discontinuity ignored flag for audio and video tracks. More...
 
void SetVideoZoom (VideoZoomMode zoom)
 Set video zoom. More...
 
void SetVideoMute (bool muted)
 Enable/ Disable Video. More...
 
void SetSubtitleMute (bool muted)
 Set subtitle mute state. More...
 
void SetAudioVolume (int volume)
 Set audio volume. More...
 
void SetState (PrivAAMPState state)
 Set player state. More...
 
void GetState (PrivAAMPState &state)
 Get player state. More...
 
bool IsSinkCacheEmpty (MediaType mediaType)
 Check sink cache empty. More...
 
void ResetEOSSignalledFlag ()
 Reset EOS SignalledFlag.
 
void NotifyFragmentCachingComplete ()
 Notify fragment caching complete. More...
 
bool SendTunedEvent (bool isSynchronous=true)
 Send tuned event to listeners if required. More...
 
bool SendVideoEndEvent ()
 Send VideoEndEvent. More...
 
bool IsFragmentCachingRequired ()
 Check if fragment caching is required. More...
 
void GetPlayerVideoSize (int &w, int &h)
 Get player video size. More...
 
void SetCallbackAsPending (guint id)
 Set an idle callback as event pending state. More...
 
void SetCallbackAsDispatched (guint id)
 Set an idle callback as event dispatched state. More...
 
void CollectCMCDCustomHeaders (MediaType fileType, class CMCDHeaders *pCMCDMetrics)
 Collect and send all key-value pairs for CMCD headers. More...
 
void AddCustomHTTPHeader (std::string headerName, std::vector< std::string > headerValue, bool isLicenseHeader)
 Add/Remove a custom HTTP header and value. More...
 
void SetLicenseServerURL (const char *url, DRMSystems drmType=eDRM_MAX_DRMSystems)
 Set license server URL. More...
 
void SetPreferredDRM (DRMSystems drmType)
 Set Preferred DRM. More...
 
DRMSystems GetPreferredDRM ()
 Get Preferred DRM. More...
 
void SetStereoOnlyPlayback (bool bValue)
 Set Stereo Only Playback. More...
 
void SetBulkTimedMetaReport (bool bValue)
 Set Bulk TimedMetadata Reporting flag. More...
 
void SetRetuneForUnpairedDiscontinuity (bool bValue)
 Set unpaired discontinuity retune flag. More...
 
void SetRetuneForGSTInternalError (bool bValue)
 Set retune configuration for gstpipeline internal data stream error. More...
 
void FoundEventBreak (const std::string &adBreakId, uint64_t startMS, EventBreakInfo brInfo)
 Notification from the stream abstraction that a new SCTE35 event is found. More...
 
void SetAlternateContents (const std::string &adBreakId, const std::string &adId, const std::string &url)
 Setting the alternate contents' (Ads/blackouts) URL. More...
 
void SendAdResolvedEvent (const std::string &adId, bool status, uint64_t startMS=0, uint64_t durationMs=0)
 Send status of Ad manifest downloading & parsing. More...
 
void SendAdReservationEvent (AAMPEventType type, const std::string &adBreakId, uint64_t position, bool immediate=false)
 Send Ad reservation event. More...
 
void SendAdPlacementEvent (AAMPEventType type, const std::string &adId, uint32_t position, uint32_t adOffset, uint32_t adDuration, bool immediate=false, long error_code=0)
 Send Ad placement event. More...
 
void SetAnonymousRequest (bool isAnonymous)
 Set anonymous request true or false. More...
 
void SetAvgBWForABR (bool useAvgBW)
 Indicates average BW to be used for ABR Profiling. More...
 
void SetPreCacheTimeWindow (int nTimeWindow)
 SetPreCacheTimeWindow Function to Set PreCache Time. More...
 
void SetVODTrickplayFPS (int vodTrickplayFPS)
 Set frames per second for VOD trickplay. More...
 
void SetLinearTrickplayFPS (int linearTrickplayFPS)
 Set frames per second for linear trickplay. More...
 
void SetStallErrorCode (int errorCode)
 Set stall error code. More...
 
void SetStallTimeout (int timeoutMS)
 Set stall timeout. More...
 
void SetInitFragTimeoutRetryCount (int count)
 To set the max retry attempts for init frag curl timeout failures. More...
 
void SendStalledErrorEvent ()
 Send stalled events to listeners. More...
 
bool IsDiscontinuityProcessPending ()
 Check if discontinuity processing is pending. More...
 
bool ProcessPendingDiscontinuity ()
 Process pending discontinuity and continue playback of stream after discontinuity. More...
 
void NotifyFirstBufferProcessed ()
 Notify if first buffer processed by gstreamer. More...
 
void UpdateSubtitleTimestamp ()
 Sets up the timestamp sync for subtitle renderer.
 
void PauseSubtitleParser (bool pause)
 pause/un-pause subtitles More...
 
void ResetTrickStartUTCTime ()
 Reset trick start position. More...
 
int getStreamType ()
 Get stream type. More...
 
MediaFormat GetMediaFormatTypeEnum () const
 Get Mediaformat type. More...
 
std::string getStreamTypeString ()
 Get stream type as printable format. More...
 
std::shared_ptr< AampDrmHelperGetCurrentDRM ()
 Get current drm. More...
 
std::string GetPreferredAudioProperties ()
 get the current audio preference set by user More...
 
std::string GetPreferredTextProperties ()
 get the current text preference set by user More...
 
void setCurrentDrm (std::shared_ptr< AampDrmHelper > drm)
 Set DRM type. More...
 
void NotifyFirstFragmentDecrypted ()
 Notify the decryption completion of the fist fragment. More...
 
double GetFirstPTS ()
 Get PTS of first sample. More...
 
bool IsLiveAdjustRequired ()
 Check if Live Adjust is required for current content. ( For "vod/ivod/ip-dvr/cdvr/eas", Live Adjust is not required ). More...
 
void SendHTTPHeaderResponse ()
 Generate http header response event.
 
void SendMediaMetadataEvent (void)
 Generate media metadata event based on parsed attribute values. More...
 
void SendSupportedSpeedsChangedEvent (bool isIframeTrackPresent)
 Generate supported speeds changed event based on arg passed. More...
 
void SendBlockedEvent (const std::string &reason)
 Generate Blocked event based on args passed. More...
 
void SendWatermarkSessionUpdateEvent (uint32_t sessionHandle, uint32_t status, const std::string &system)
 Generate WatermarkSessionUpdate event based on args passed. More...
 
void SetInitialBitrate (long bitrate)
 To set the initial bitrate value. More...
 
void SetInitialBitrate4K (long bitrate4K)
 To set the initial bitrate value for 4K assets. More...
 
void SetNetworkTimeout (double timeout)
 To set the network download timeout value. More...
 
void ConfigureNetworkTimeout ()
 To set the network timeout as per priority. More...
 
void ConfigureManifestTimeout ()
 To set the manifest timeout as per priority. More...
 
void ConfigurePlaylistTimeout ()
 To set the manifest timeout as per priority. More...
 
void ConfigureDashParallelFragmentDownload ()
 To set DASH Parallel Download configuration for fragments. More...
 
void ConfigureParallelFetch ()
 To set the parallel playlist fetch configuration. More...
 
void ConfigureBulkTimedMetadata ()
 To set bulk timedMetadata reporting. More...
 
void ConfigureRetuneForUnpairedDiscontinuity ()
 To set unpaired discontinuity retune configuration. More...
 
void ConfigureRetuneForGSTInternalError ()
 To set retune configuration for gstpipeline internal data stream error. More...
 
void ConfigurePreCachePlaylist ()
 Function to configure PreCachePlaylist. More...
 
void ConfigureInitFragTimeoutRetryCount ()
 Function to set the max retry attempts for init frag curl timeout failures. More...
 
void ConfigureWesterosSink ()
 To set westeros sink configuration. More...
 
void ConfigureLicenseCaching ()
 To set license caching config. More...
 
void ConfigureOutputResolutionCheck ()
 
void SetManifestTimeout (double timeout)
 To set the manifest download timeout value. More...
 
void SetPlaylistTimeout (double timeout)
 To set the playlist download timeout value. More...
 
void SetDownloadBufferSize (int bufferSize)
 To set the download buffer size value. More...
 
bool IsTuneCompleted ()
 Check if tune completed or not. More...
 
bool CheckABREnabled (void)
 Check if ABR enabled for this playback session. More...
 
void SetVideoBitrate (long bitrate)
 Set a preferred bitrate for video. More...
 
std::string GetThumbnails (double start, double end)
 Get the Thumbnail Tile data. More...
 
std::string GetThumbnailTracks ()
 Get available thumbnail tracks. More...
 
long GetVideoBitrate ()
 Get preferred bitrate for video. More...
 
void SetNetworkProxy (const char *proxy)
 To set the network proxy. More...
 
std::string GetNetworkProxy ()
 To get the network proxy. More...
 
void SetLicenseReqProxy (const char *licenseProxy)
 To set the proxy for license request. More...
 
std::string GetLicenseReqProxy ()
 To get the proxy for license request. More...
 
void SetIsLive (bool isLive)
 Set is Live flag. More...
 
void SetAudioPlayContextCreationSkipped (bool isAudioContextSkipped)
 Set is Audio play context is skipped, due to Audio HLS file is ES Format type. More...
 
void SetIsLiveStream (bool isLiveStream)
 Set isLiveStream flag. More...
 
void SignalTrickModeDiscontinuity ()
 Signal trick mode discontinuity to stream sink. More...
 
std::string GetServiceZone () const
 pass service zone, extracted from locator &sz URI parameter More...
 
std::string GetVssVirtualStreamID () const
 pass virtual stream ID More...
 
void SetVssVirtualStreamID (std::string streamID)
 set virtual stream ID, extracted from manifest
 
TuneType GetTuneType ()
 getTuneType Function to check what is the tuneType More...
 
bool IsNewTune ()
 IsNewTune Function to check if tune is New tune or retune. More...
 
bool IsFirstRequestToFog ()
 IsFirstRequestToFog Function to check first reqruest to fog. More...
 
bool IsMuxedStream ()
 Check if current stream is muxed. More...
 
void SetDownloadStallTimeout (long stallTimeout)
 To set the curl stall timeout value. More...
 
void SetDownloadStartTimeout (long startTimeout)
 To set the curl download start timeout value. More...
 
void StopTrackInjection (MediaType type)
 Stop injection for a track. Called from StopInjection. More...
 
void ResumeTrackInjection (MediaType type)
 Resume injection for a track. Called from StartInjection. More...
 
void NotifyFirstVideoPTS (unsigned long long pts, unsigned long timeScale=90000)
 Receives first video PTS of the current playback. More...
 
void SendVTTCueDataAsEvent (VTTCue *cue)
 To send webvtt cue as an event. More...
 
bool IsSubtitleEnabled (void)
 To check if subtitles are enabled. More...
 
bool WebVTTCueListenersRegistered (void)
 To check if JavaScript cue listeners are registered. More...
 
void UpdateVideoEndMetrics (MediaType mediaType, long bitrate, int curlOrHTTPCode, std::string &strUrl, double curlDownloadTime, ManifestData *manifestData=NULL)
 updates download metrics to VideoStat object, this is used for VideoFragment as it takes duration for calcuation purpose.
 
void UpdateVideoEndProfileResolution (MediaType mediaType, long bitrate, int width, int height)
 updates profile Resolution to VideoStat object More...
 
void UpdateVideoEndTsbStatus (bool btsbAvailable)
 updates time shift buffer status More...
 
void UpdateProfileCappedStatus (void)
 updates profile capped status More...
 
void UpdateVideoEndMetrics (MediaType mediaType, long bitrate, int curlOrHTTPCode, std::string &strUrl, double duration, double curlDownloadTime, bool keyChanged, bool isEncrypted, ManifestData *manifestData=NULL)
 updates download metrics to VideoStat object, this is used for VideoFragment as it takes duration for calcuation purpose.
 
void UpdateVideoEndMetrics (MediaType mediaType, long bitrate, int curlOrHTTPCode, std::string &strUrl, double duration, double curlDownloadTime)
 updates download metrics to VideoStat object, this is used for VideoFragment as it takes duration for calcuation purpose.
 
void UpdateVideoEndMetrics (AAMPAbrInfo &info)
 updates abr metrics to VideoStat object,
 
bool IsDashAsset (void)
 To check if current asset is DASH or not. More...
 
void CheckForDiscontinuityStall (MediaType mediaType)
 Check if AAMP is in stalled state after it pushed EOS to notify discontinuity. More...
 
void NotifyVideoBasePTS (unsigned long long basepts, unsigned long timeScale=90000)
 Notifies base PTS of the HLS video playback. More...
 
void GetCustomLicenseHeaders (std::unordered_map< std::string, std::vector< std::string >> &customHeaders)
 To get any custom license HTTP headers that was set by application. More...
 
void SetParallelPlaylistDL (bool bValue)
 Set parallel playlist download config value. More...
 
void SetEventPriorityAsyncTune (bool bValue)
 Set async tune configuration for EventPriority. More...
 
bool GetAsyncTuneConfig ()
 Get async tune configuration. More...
 
void SetParallelPlaylistRefresh (bool bValue)
 Set parallel playlist download config value for linear. More...
 
void SetWesterosSinkConfig (bool bValue)
 Set Westeros sink Configuration. More...
 
void SetLicenseCaching (bool bValue)
 Set license caching. More...
 
void SetMatchingBaseUrlConfig (bool bValue)
 Set Matching BaseUrl Config Configuration. More...
 
void SetPropagateUriParameters (bool bValue)
 Configure URI parameters. More...
 
void SetSslVerifyPeerConfig (bool bValue)
 to configure disable ssl verify peer parameter More...
 
void SetNewABRConfig (bool bValue)
 Configure New ABR Enable/Disable. More...
 
void SetNewAdBreakerConfig (bool bValue)
 Configure New AdBreaker Enable/Disable. More...
 
void FlushStreamSink (double position, double rate)
 Sending a flushing seek to stream sink with given position. More...
 
std::string GetAvailableVideoTracks ()
 Get available video tracks. More...
 
void SetVideoTracks (std::vector< long > bitrateList)
 set birate for video tracks selection More...
 
std::string GetAvailableAudioTracks (bool allTrack=false)
 Get available audio tracks. More...
 
std::string GetAvailableTextTracks (bool alltrack=false)
 Get available text tracks. More...
 
void SetPreferredTextLanguages (const char *param)
 Set Preferred Text Language. More...
 
std::string GetVideoRectangle ()
 
void SetPreCacheDownloadList (PreCacheUrlList &dnldListInput)
 SetPreCacheDownloadList - Function to assign the PreCaching file list. More...
 
void PreCachePlaylistDownloadTask ()
 PreCachePlaylistDownloadTask Thread function for PreCaching Playlist. More...
 
void SetAppName (std::string name)
 Set the application name which has created PlayerInstanceAAMP, for logging purposes. More...
 
std::string GetAppName ()
 Get the application name. More...
 
void SendId3MetadataEvent (Id3CallbackData *id3Metadata)
 Sends an ID3 metadata event. More...
 
bool TrackDownloadsAreEnabled (MediaType type)
 Check to media track downloads are enabled. More...
 
void StopBuffering (bool forceStop)
 Stop buffering in AAMP and un-pause pipeline. More...
 
bool IsPlayEnabled ()
 Check if autoplay enabled for current stream. More...
 
void detach ()
 Soft stop the player instance. More...
 
bool GetEnableAccessAtrributesFlag () const
 
AampCacheHandlergetAampCacheHandler ()
 Get AampCacheHandler instance. More...
 
void SetRampDownLimit (int limit)
 
void SetInitRampdownLimit (int limit)
 Set Initila profile ramp down limit. More...
 
void SetMinimumBitrate (long bitrate)
 Set minimum bitrate value. More...
 
void SetMaximumBitrate (long bitrate)
 Set maximum bitrate value. More...
 
long GetMaximumBitrate ()
 Get maximum bitrate value. More...
 
long GetMinimumBitrate ()
 Get minimum bitrate value. More...
 
long GetDefaultBitrate ()
 Get default bitrate value. More...
 
long GetDefaultBitrate4K ()
 Get Default bitrate for 4K. More...
 
long GetIframeBitrate ()
 Get Default Iframe bitrate value. More...
 
long GetIframeBitrate4K ()
 Get Default Iframe bitrate 4K value. More...
 
void SetInitialBufferDuration (int durationSec)
 Set initial buffer duration in seconds. More...
 
int GetInitialBufferDuration ()
 Get current initial buffer duration in seconds. More...
 
void individualization (const std::string &payload)
 DRM individualization callback. More...
 
void SetContentType (const char *contentType)
 Set Content Type. More...
 
ContentType GetContentType () const
 Get Content Type. More...
 
MediaFormat GetMediaFormatType (const char *url)
 Assign the correct mediaFormat by parsing the url. More...
 
std::string GetLicenseServerUrlForDrm (DRMSystems type)
 Get license server url for a drm type. More...
 
bool SetStateBufferingIfRequired ()
 Set eSTATE_BUFFERING if required. More...
 
bool IsFirstVideoFrameDisplayedRequired ()
 Check if First Video Frame Displayed Notification is required. More...
 
void NotifyFirstVideoFrameDisplayed ()
 Notify First Video Frame was displayed. More...
 
void SetAudioTrack (int trackId)
 Set audio track. More...
 
int GetAudioTrack ()
 Get current audio track index. More...
 
std::string GetAudioTrackInfo ()
 Get current audio track index. More...
 
void SetTextTrack (int trackId, char *data=NULL)
 Set text track. More...
 
int GetTextTrack ()
 Get current text track index. More...
 
std::string GetTextTrackInfo ()
 Get current audio track index. More...
 
void SetCCStatus (bool enabled)
 Set CC visibility on/off. More...
 
bool GetCCStatus (void)
 Get CC visibility on/off. More...
 
void RefreshSubtitles ()
 Switch the subtitle track following a change to the preferredTextTrack. More...
 
void NotifyAudioTracksChanged ()
 Function to notify available audio tracks changed. More...
 
void NotifyTextTracksChanged ()
 Function to notify available text tracks changed. More...
 
void SetPreferredTextTrack (const TextTrackInfo track)
 Set preferred text track Required to persist across trickplay or other operations. More...
 
const TextTrackInfoGetPreferredTextTrack ()
 Get preferred audio track. More...
 
void SetTextStyle (const std::string &options)
 Set style options for text track rendering. More...
 
std::string GetTextStyle ()
 Get style options for text track rendering. More...
 
unsigned long long GetBasePTS ()
 Return BasePTS - for non-HLS/TS streams this will be zero. More...
 
void SetSessionToken (std::string &sessionToken)
 Set the session Token for player. More...
 
void SetStreamFormat (StreamOutputFormat videoFormat, StreamOutputFormat audioFormat, StreamOutputFormat auxFormat)
 Set stream format for audio/video tracks. More...
 
bool IsAudioOrVideoOnly (StreamOutputFormat videoFormat, StreamOutputFormat audioFormat, StreamOutputFormat auxFormat)
 To check for audio/video only Playback. More...
 
void SetMaxPlaylistCacheSize (int cacheSize)
 Set Maximum Cache Size for storing playlist. More...
 
void EnableVideoRectangle (bool rectProperty)
 Set video rectangle property. More...
 
void EnableSeekableRange (bool enabled)
 Enable seekable range values in progress event. More...
 
void SetReportVideoPTS (bool enabled)
 Enable video PTS reporting in progress event. More...
 
void DisableContentRestrictions (long grace=0, long time=-1, bool eventChange=false)
 Disable Content Restrictions - unlock. More...
 
void EnableContentRestrictions ()
 Enable Content Restrictions - lock. More...
 
void PersistBitRateOverSeek (bool value)
 Enable/disable configuration to persist ABR profile over Seek/SAP. More...
 
bool IsBitRatePersistedOverSeek ()
 Get config for ABR profile persitenace over Seek/Audio Chg. More...
 
void SetPreferredLanguages (const char *languageList, const char *preferredRendition, const char *preferredType, const char *codecList, const char *labelList)
 set preferred Audio Language properties like language, rendition, type and codec More...
 
void SetScheduler (AampScheduler *instance)
 Set the scheduler instance to schedule tasks. More...
 
int ScheduleAsyncTask (IdleTask task, void *arg, std::string taskName="")
 Add async task to scheduler. More...
 
bool RemoveAsyncTask (int taskId)
 Remove async task scheduled earlier. More...
 
void AcquireStreamLock ()
 acquire streamsink lock More...
 
bool TryStreamLock ()
 try to acquire streamsink lock More...
 
void ReleaseStreamLock ()
 release streamsink lock More...
 
void UpdateLiveOffset ()
 UpdateLiveOffset live offset [Sec].
 
bool IsAuxiliaryAudioEnabled (void)
 To check if auxiliary audio is enabled. More...
 
void SetAuxiliaryLanguage (const std::string &language)
 Set auxiliary language. More...
 
std::string GetAuxiliaryAudioLanguage ()
 Get auxiliary language. More...
 
bool GetPauseOnFirstVideoFrameDisp (void)
 GetPauseOnFirstVideoFrameDisplay. More...
 
void SetLLDashServiceData (AampLLDashServiceData &stAampLLDashServiceData)
 Sets Low Latency Service Data. More...
 
AampLLDashServiceDataGetLLDashServiceData (void)
 Gets Low Latency Service Data. More...
 
void SetVidTimeScale (uint32_t vidTimeScale)
 Sets Low Video TimeScale. More...
 
uint32_t GetVidTimeScale (void)
 Gets Video TimeScale. More...
 
void SetAudTimeScale (uint32_t audTimeScale)
 Sets Low Audio TimeScale. More...
 
uint32_t GetAudTimeScale (void)
 Gets Audio TimeScale. More...
 
void SetLLDashSpeedCache (struct SpeedCache &speedCache)
 Sets Speed Cache. More...
 
struct SpeedCacheGetLLDashSpeedCache ()
 Gets Speed Cache. More...
 
void SetLLDashCurrentPlayBackRate (double rate)
 Sets Low latency play rate. More...
 
double GetLLDashCurrentPlayBackRate (void)
 Gets Low Latency current play back rate. More...
 
void SetLLDashAdjustSpeed (bool state)
 Turn off/on the player speed correction for Low latency Dash. More...
 
bool GetLLDashAdjustSpeed (void)
 Gets the state of the player speed correction for Low latency Dash. More...
 
bool GetLiveOffsetAppRequest ()
 
void SetLiveOffsetAppRequest (bool LiveOffsetAppRequest)
 set LiveOffset Request flag Status More...
 
bool GetLowLatencyServiceConfigured ()
 Get Low Latency Service Configuration Status. More...
 
void SetLowLatencyServiceConfigured (bool bConfig)
 Set Low Latency Service Configuration Status. More...
 
time_t GetUtcTime ()
 Get Utc Time. More...
 
void SetUtcTime (time_t time)
 Set Utc Time. More...
 
long GetCurrentLatency ()
 Get Current Latency. More...
 
void SetCurrentLatency (long currentLatency)
 Set Current Latency. More...
 
class MediaStreamContextGetMediaStreamContext (MediaType type)
 Get Media Stream Context. More...
 
void RunPausePositionMonitoring (void)
 the PositionMonitoring thread used for PauseAt functionality
 
void StartPausePositionMonitoring (long long pausePositionMilliseconds)
 start the PausePositionMonitoring thread used for PauseAt functionality
 
void StopPausePositionMonitoring (std::string reason)
 stop the PausePositionMonitoring thread used for PauseAt functionality
 
void WaitForDiscontinuityProcessToComplete (void)
 wait for Discontinuity handling complete
 
void UnblockWaitForDiscontinuityProcessToComplete (void)
 unblock wait for Discontinuity handling complete
 
std::string GetLicenseCustomData ()
 Get License Custom Data. More...
 
double GetPeriodDurationTimeValue (void)
 GetPeriodDurationTimeValue. More...
 
double GetPeriodStartTimeValue (void)
 GetPeriodStartTimeValue. More...
 
double GetPeriodScaledPtoStartTime (void)
 GetPeriodScaledPtoStartTime. More...
 
long LoadFogConfig (void)
 LoadFogConfig - Load needed player Config to Fog. More...
 
void LoadAampAbrConfig (void)
 -To Load needed config from player to aampabr More...
 
void IncrementGaps ()
 To increment gaps between periods for dash return none.
 
std::string GetPlaybackStats ()
 Get playback stats for the session so far. More...
 
int GetCurrentAudioTrackId (void)
 Get the Current Audio Track Id Currently it is implimented for AC4 track selection only. More...
 
size_t HandleSSLWriteCallback (char *ptr, size_t size, size_t nmemb, void *userdata)
 HandleSSLWriteCallback - Handle write callback from CURL. More...
 
int HandleSSLProgressCallback (void *clientp, double dltotal, double dlnow, double ultotal, double ulnow)
 HandleSSLProgressCallback - Process progress callback from CURL. More...
 
size_t HandleSSLHeaderCallback (const char *ptr, size_t size, size_t nmemb, void *userdata)
 HandleSSLHeaderCallback - Hanlde header callback from SSL. More...
 

Static Public Member Functions

static gint AddHighIdleTask (IdleTask task, void *arg, DestroyTask dtask=NULL)
 Add high priority idle task to the gstreamer. More...
 
static bool IsActiveInstancePresent ()
 Check if any active PrivateInstanceAAMP available. More...
 

Data Fields

std::vector< std::pair< long long, long > > mAbrBitrateData
 
pthread_mutex_t mLock
 
pthread_mutexattr_t mMutexAttr
 
pthread_mutex_t mParallelPlaylistFetchLock
 
class StreamAbstractionAAMPmpStreamAbstractionAAMP
 
class CDAIObjectmCdaiObject
 
std::queue< AAMPEventPtr > mAdEventsQ
 
std::mutex mAdEventQMtx
 
bool mInitSuccess
 
StreamOutputFormat mVideoFormat
 
StreamOutputFormat mAudioFormat
 
StreamOutputFormat mPreviousAudioType
 
StreamOutputFormat mAuxFormat
 
StreamOutputFormat mSubtitleFormat {FORMAT_UNKNOWN}
 
pthread_cond_t mDownloadsDisabled
 
bool mDownloadsEnabled
 
StreamSinkmStreamSink
 
HybridABRManager mhAbrManager
 
ProfileEventAAMP profiler
 
bool licenceFromManifest
 
AudioType previousAudioType
 
CURL * curl [eCURLINSTANCE_MAX]
 
eCurlHostMapStructcurlhost [eCURLINSTANCE_MAX]
 
CURLSH * mCurlShared
 
httpRespHeaderData httpRespHeaders [eCURLINSTANCE_MAX]
 
std::string mManifestUrl
 
std::string mTunedManifestUrl
 
std::string mTsbSessionRequestUrl
 
std::string mSchemeIdUriDai
 
AampURLInfoStruct mOrigManifestUrl
 
bool isPreferredDRMConfigured
 
bool mIsWVKIDWorkaround
 
int mPreCacheDnldTimeWindow
 
bool mbDownloadsBlocked
 
bool streamerIsActive
 
bool mTSBEnabled
 
bool mIscDVR
 
double mLiveOffset
 
long mNetworkTimeoutMs
 
std::string mCMCDNextObjectRequest
 
long mCMCDBandwidth
 
long mManifestTimeoutMs
 
long mPlaylistTimeoutMs
 
bool mAsyncTuneEnabled
 
PositionCache< long long > mPrevPositionMilliseconds
 
std::mutex mGetPositionMillisecondsMutexHard
 
std::mutex mGetPositionMillisecondsMutexSoft
 
volatile std::atomic< long long > mPausePositionMilliseconds
 
MediaFormat mMediaFormat
 
double seek_pos_seconds
 
float rate
 
float playerrate
 
bool mSetPlayerRateAfterFirstframe
 
bool pipeline_paused
 
bool mbNewSegmentEvtSent [4]
 
char mLanguageList [16][42]
 
int mCurrentLanguageIndex
 
int mMaxLanguageCount
 
std::string preferredLanguagesString
 
std::vector< std::string > preferredLanguagesList
 
std::string preferredRenditionString
 
std::vector< std::string > preferredRenditionList
 
std::string preferredLabelsString
 
std::vector< std::string > preferredLabelList
 
std::string preferredTypeString
 
std::string preferredCodecString
 
std::vector< std::string > preferredCodecList
 
std::string preferredTextLanguagesString
 
std::vector< std::string > preferredTextLanguagesList
 
std::string preferredTextRenditionString
 
std::string preferredTextTypeString
 
std::string preferredTextLabelString
 
std::vector< struct DynamicDrmInfovDynamicDrmData
 
Accessibility preferredTextAccessibilityNode
 
Accessibility preferredAudioAccessibilityNode
 
AudioTrackTuple mAudioTuple
 
VideoZoomMode zoom_mode
 
bool video_muted
 
bool subtitles_muted
 
int audio_volume
 
std::vector< std::string > subscribedTags
 
std::vector< TimedMetadatatimedMetadata
 
std::vector< TimedMetadatatimedMetadataNew
 
std::vector< ContentGapInfocontentGaps
 
std::vector< std::string > responseHeaders
 
std::vector< long > bitrateList
 
std::map< std::string, std::string > httpHeaderResponses
 
bool mIsIframeTrackPresent
 
bool IsTuneTypeNew
 
bool mLogTimetoTopProfile
 
pthread_cond_t waitforplaystart
 
pthread_mutex_t mMutexPlaystart
 
long long trickStartUTCMS
 
double durationSeconds
 
double culledSeconds
 
double culledOffset
 
double mProgramDateTime
 
std::vector< struct PeriodInfomMPDPeriodsInfo
 
float maxRefreshPlaylistIntervalSecs
 
EventListenermEventListener
 
PositionCache< double > mNewSeekInfo
 
long long mAdPrevProgressTime
 
uint32_t mAdCurOffset
 
uint32_t mAdDuration
 
std::string mAdProgressId
 
bool discardEnteringLiveEvt
 
bool mIsRetuneInProgress
 
pthread_cond_t mCondDiscontinuity
 
guint mDiscontinuityTuneOperationId
 
bool mIsVSS
 
long curlDLTimeout [eCURLINSTANCE_MAX]
 
std::string mSubLanguage
 
bool mPlayerPreBuffered
 
int mPlayerId
 
int mDrmDecryptFailCount
 
int mCurrentAudioTrackId
 
int mCurrentVideoTrackId
 
bool mIsTrackIdMismatch
 
bool mIsDefaultOffset
 
bool mEncryptedPeriodFound
 
bool mPipelineIsClear
 
pthread_t mPreCachePlaylistThreadId
 
bool mPreCachePlaylistThreadFlag
 
bool mbPlayEnabled
 
long mPlaylistFetchFailError
 
bool mAudioDecoderStreamSync
 
std::string mSessionToken
 
bool midFragmentSeekCache
 
bool mAutoResumeTaskPending
 
std::string mTsbRecordingId
 
int mthumbIndexValue
 
PausedBehavior mPausedBehavior
 
bool mJumpToLiveFromPause
 
bool mSeekFromPausedState
 
int mDisplayWidth
 
int mDisplayHeight
 
bool mProfileCappedStatus
 
double mProgressReportOffset
 
double mAbsoluteEndPosition
 
AampConfigmConfig
 
bool mbUsingExternalPlayer
 
int32_t lastId3DataLen [eMEDIATYPE_DEFAULT]
 
uint8_t * lastId3Data [eMEDIATYPE_DEFAULT]
 
bool mbDetached
 
bool mbSeeked
 
double mNextPeriodDuration
 
double mNextPeriodStartTime
 
double mNextPeriodScaledPtoStartTime
 
pthread_mutex_t mDiscoCompleteLock
 
pthread_cond_t mWaitForDiscoToComplete
 
bool mIsPeriodChangeMarked
 
bool mIsFakeTune
 
double mOffsetFromTunetimeForSAPWorkaround
 
bool mLanguageChangeInProgress
 
long mSupportedTLSVersion
 
std::string mFailureReason
 
long long mTimedMetadataStartTime
 
long long mTimedMetadataDuration
 
bool playerStartedWithTrickPlay
 
bool userProfileStatus
 
bool mApplyCachedVideoMute
 
std::vector< uint8_t > mcurrent_keyIdArray
 
DynamicDrmInfo mDynamicDrmDefaultconfig
 
std::vector< std::string > mDynamicDrmCache
 
pthread_mutex_t mDynamicDrmUpdateLock
 
pthread_cond_t mWaitForDynamicDRMToUpdate
 
bool mAudioComponentCount
 
bool mVideoComponentCount
 
bool mAudioOnlyPb
 
bool mVideoOnlyPb
 
int mCurrentAudioTrackIndex
 
int mCurrentTextTrackIndex
 
double mLLActualOffset
 
bool mIsStream4K
 
std::string seiTimecode
 
bool mBufUnderFlowStatus
 

Private Types

enum  AAMP2ReceiverMsgType
 

Private Member Functions

struct __attribute__ ((__packed__)) _AAMP2ReceiverMsg
 
bool IsWideVineKIDWorkaround (const std::string url)
 get the SkyDE Store workaround More...
 
void LazilyLoadConfigIfNeeded (void)
 Load the configuration lazily. More...
 
void ExtractServiceZone (std::string url)
 updates mServiceZone (service zone) member with string extracted from locator &sz URI parameter More...
 
void ScheduleEvent (struct AsyncEventDescriptor *e)
 Schedule Event. More...
 
void DeliverAdEvents (bool immediate=false)
 Deliver all pending Ad events to JSPP. More...
 
std::string GetContentTypString ()
 Set Content Type. More...
 
void NotifySinkBufferFull (MediaType type)
 Notify about sink buffer full. More...
 
const std::tuple< std::string, std::string > ExtractDrmInitData (const char *url)
 Extract DRM init data from the provided URL If present, the init data will be removed from the returned URL and provided as a separate string. More...
 
void ConfigureWithLocalOptions ()
 Set local configurations to variables. More...
 
bool DiscontinuitySeenInAllTracks ()
 Check if discontinuity processed in all tracks. More...
 
bool DiscontinuitySeenInAnyTracks ()
 Check if discontinuity processed in any track. More...
 
void ResetDiscontinuityInTracks ()
 Reset discontinuity flag for all tracks. More...
 
bool HasSidecarData ()
 check if sidecar data available More...
 

Private Attributes

 AAMP2ReceiverMsg
 
double mReportProgressPosn
 
std::mutex mPausePositionMonitorMutex
 
std::condition_variable mPausePositionMonitorCV
 
pthread_t mPausePositionMonitoringThreadID
 
bool mPausePositionMonitoringThreadStarted
 
TuneType mTuneType
 
int m_fd
 
bool mIsLive
 
bool mIsLiveStream
 
bool mIsAudioContextSkipped
 
bool mLogTune
 
bool mFirstProgress
 
bool mTuneCompleted
 
bool mFirstTune
 
int mfirstTuneFmt
 
int mTuneAttempts
 
long long mPlayerLoadTime
 
std::atomic< PrivAAMPStatemState
 
long long lastUnderFlowTimeMs [4]
 
bool mbTrackDownloadsBlocked [4]
 
std::shared_ptr< AampDrmHelpermCurrentDrm
 
int mPersistedProfileIndex
 
long mAvailableBandwidth
 
bool mProcessingDiscontinuity [4]
 
bool mIsDiscontinuityIgnored [4]
 
bool mDiscontinuityTuneOperationInProgress
 
ContentType mContentType
 
bool mTunedEventPending
 
bool mSeekOperationInProgress
 
bool mTrickplayInProgress
 
std::map< guint, bool > mPendingAsyncEvents
 
std::unordered_map< std::string, std::vector< std::string > > mCustomHeaders
 
bool mIsFirstRequestToFOG
 
std::string mServiceZone
 
std::string mVssVirtualStreamId
 
std::string mPlaybackMode
 
bool mTrackInjectionBlocked [4]
 
CVideoStat * mVideoEnd
 
std::string mTraceUUID
 
double mTimeToTopProfile
 
double mTimeAtTopProfile
 
unsigned long long mVideoBasePTS
 
double mPlaybackDuration
 
std::unordered_map< std::string, std::vector< std::string > > mCustomLicenseHeaders
 
std::string mAppName
 
PreCacheUrlList mPreCacheDnldList
 
bool mProgressReportFromProcessDiscontinuity
 
AampEventManagermEventManager
 
AampCacheHandlermAampCacheHandler
 
int mMinInitialCacheSeconds
 
std::string mDrmInitData
 
bool mFragmentCachingRequired
 
pthread_mutex_t mFragmentCachingLock
 
bool mPauseOnFirstVideoFrameDisp
 
TextTrackInfo mPreferredTextTrack
 
bool mFirstVideoFrameDisplayedEnabled
 
unsigned int mManifestRefreshCount
 
guint mAutoResumeTaskId
 
AampSchedulermScheduler
 
pthread_mutex_t mEventLock
 
int mEventPriority
 
pthread_mutex_t mStreamLock
 
int mHarvestCountLimit
 
int mHarvestConfig
 
std::string mAuxAudioLanguage
 
int mCCId
 
AampLLDashServiceData mAampLLDashServiceData
 
bool bLowLatencyServiceConfigured
 
bool bLLDashAdjustPlayerSpeed
 
double mLLDashCurrentPlayRate
 
uint32_t vidTimeScale
 
uint32_t audTimeScale
 
struct SpeedCache speedCache
 
bool bLowLatencyStartABR
 
bool mLiveOffsetAppRequest
 
time_t mTime
 
long mCurrentLatency
 
AampLogManagermLogObj
 
bool mApplyVideoRect
 
videoRect mVideoRect
 
char * mData
 
bool mIsInbandCC
 
std::string mTextStyle
 

yes

Class representing the AAMP player's private instance, which is not exposed to outside world.

Definition at line 640 of file priv_aamp.h.

Member Enumeration Documentation

◆ AAMP2ReceiverMsgType

Enumerator
E_AAMP2Receiver_TUNETIME 

Tune time Message

E_AAMP2Receiver_EVENTS 

Aamp Events to receiver

E_AAMP2Receiver_MsgMAX 

Max message to receiver

Definition at line 643 of file priv_aamp.h.

Constructor & Destructor Documentation

◆ PrivateInstanceAAMP()

PrivateInstanceAAMP::PrivateInstanceAAMP ( const PrivateInstanceAAMP )
delete

Copy constructor disabled.

Member Function Documentation

◆ GetProfilerBucketForMedia()

ProfilerBucketType PrivateInstanceAAMP::GetProfilerBucketForMedia ( MediaType  mediaType,
bool  isInitializationSegment 
)
inline

Get profiler bucket type.

Parameters
[in]mediaType- Media type. eg: Video, Audio, etc
[in]isInitializationSegment- Initialization segment or not
Returns
Bucket type

Definition at line 670 of file priv_aamp.h.

◆ Tune()

void PrivateInstanceAAMP::Tune ( const char *  url,
bool  autoPlay,
const char *  contentType = NULL,
bool  bFirstAttempt = true,
bool  bFinalAttempt = false,
const char *  sessionUUID = NULL,
bool  audioDecoderStreamSync = true 
)

Tune API.

Parameters
[in]url- Asset URL
[in]autoPlay- Start playback immediately or not
[in]contentType- Content Type
[in]bFirstAttempt- External initiated tune
[in]bFinalAttempt- Final retry/attempt.
[in]audioDecoderStreamSync- Enable or disable audio decoder stream sync, set to 'false' if audio fragments come with additional padding at the end (BCOM-4203)
Returns
void

Definition at line 5349 of file priv_aamp.cpp.

◆ ReloadTSB()

void PrivateInstanceAAMP::ReloadTSB ( )

API Used to reload TSB with new session.

Reload TSB for same URL .

Returns
void

Definition at line 5321 of file priv_aamp.cpp.

◆ TuneHelper()

void PrivateInstanceAAMP::TuneHelper ( TuneType  tuneType,
bool  seekWhilePaused = false 
)

The helper function which perform tuning Common tune operations used on Tune, Seek, SetRate etc.

Parameters
[in]tuneType- Type of tuning. eg: Normal, trick, seek to live, etc
[in]seekWhilePaused- Set true if want to keep in Paused state after seek for tuneType = eTUNETYPE_SEEK or eTUNETYPE_SEEKTOLIVE
Returns
void

Definition at line 4874 of file priv_aamp.cpp.

◆ TeardownStream()

void PrivateInstanceAAMP::TeardownStream ( bool  newTune)

Terminate the stream.

Parameters
[in]newTune- true if operation is a new tune
Returns
void

Definition at line 4641 of file priv_aamp.cpp.

◆ SendMessageOverPipe()

PrivateInstanceAAMP::SendMessageOverPipe ( const char *  str,
int  nToWrite 
)

Send messages to Receiver over PIPE.

Parameters
[in]str- Pointer to the message
[in]nToWrite- Number of bytes in the message
Returns
void

Definition at line 4828 of file priv_aamp.cpp.

◆ GetLangCodePreference()

PrivateInstanceAAMP::GetLangCodePreference ( )

Get Language preference from aamp.cfg.

Returns
enum type

Definition at line 5796 of file priv_aamp.cpp.

◆ SetupPipeSession()

PrivateInstanceAAMP::SetupPipeSession ( )

Establish PIPE session with Receiver.

Returns
Success/Failure

Definition at line 4763 of file priv_aamp.cpp.

◆ ClosePipeSession()

PrivateInstanceAAMP::ClosePipeSession ( )

Close PIPE session with Receiver.

Returns
void

Definition at line 4816 of file priv_aamp.cpp.

◆ SendMessage2Receiver()

PrivateInstanceAAMP::SendMessage2Receiver ( AAMP2ReceiverMsgType  type,
const char *  data 
)

Send message to reciever over PIPE.

Parameters
[in]type- Message type
[in]data- Message data
Returns
void

Definition at line 4851 of file priv_aamp.cpp.

◆ PausePipeline()

PrivateInstanceAAMP::PausePipeline ( bool  pause,
bool  forceStopGstreamerPreBuffering 
)

To change the the gstreamer pipeline to pause/play.

Parameters
[in]pause- true for pause and false for play
[in]forceStopGstreamerPreBuffering- true for disabling bufferinprogress
Returns
true on success

Definition at line 2440 of file priv_aamp.cpp.

◆ mediaType2Bucket()

PrivateInstanceAAMP::mediaType2Bucket ( MediaType  fileType)

Convert media file type to profiler bucket type.

Parameters
[in]fileType- Media filetype
Returns
Profiler bucket type

Definition at line 9001 of file priv_aamp.cpp.

◆ SetTuneEventConfig()

void PrivateInstanceAAMP::SetTuneEventConfig ( TunedEventConfig  tuneEventType)

to set the vod-tune-event according to the player

Parameters
[in]tuneEventType
Returns
void

◆ UpdatePreferredAudioList()

PrivateInstanceAAMP::UpdatePreferredAudioList ( )

to update the preferredaudio codec, rendition and languages list

Returns
void

Definition at line 6569 of file priv_aamp.cpp.

◆ ReplaceKeyIDPsshData()

PrivateInstanceAAMP::ReplaceKeyIDPsshData ( const unsigned char *  InputData,
const size_t  InputDataLength,
size_t &  OutputDataLength 
)

Replace KeyID from PsshData.

Parameters
initializationdata input
initializationdata input size
[out]outputdata size
Return values
Outputdata pointer

Definition at line 11422 of file priv_aamp.cpp.

◆ hasId3Header()

PrivateInstanceAAMP::hasId3Header ( const uint8_t *  data,
uint32_t  length 
)

Check if segment starts with an ID3 section.

Parameters
[in]datapointer to segment buffer
[in]lengthlength of segment buffer
Return values
trueif segment has an ID3 section

Definition at line 11485 of file priv_aamp.cpp.

◆ ProcessID3Metadata()

PrivateInstanceAAMP::ProcessID3Metadata ( char *  segment,
size_t  size,
MediaType  type,
uint64_t  timestampOffset = 0 
)

Process the ID3 metadata from segment.

Parameters
[in]segment- fragment
[in]size- fragment size
[in]type- MediaType

Definition at line 11501 of file priv_aamp.cpp.

◆ ReportID3Metadata()

PrivateInstanceAAMP::ReportID3Metadata ( MediaType  mediaType,
const uint8_t *  ptr,
uint32_t  len,
const char *  schemeIdURI = NULL,
const char *  id3Value = NULL,
uint64_t  presTime = 0,
uint32_t  id3ID = 0,
uint32_t  eventDur = 0,
uint32_t  tScale = 0,
uint64_t  tStampOffset = 0 
)

Report ID3 metadata events.

Parameters
[in]ptr- ID3 metadata pointer
[in]len- Metadata length
[in]schemeIdURI- schemeID URI
[in]id3Value- value from id3 metadata
[in]presTime- presentationTime
[in]id3ID- id from id3 metadata
[in]eventDur- event duration
[in]tScale- timeScale
[in]tStampOffset- timestampOffset
Returns
void

Definition at line 11540 of file priv_aamp.cpp.

◆ FlushLastId3Data()

PrivateInstanceAAMP::FlushLastId3Data ( MediaType  mediaType)

Flush last saved ID3 metadata.

Returns
void

Definition at line 11558 of file priv_aamp.cpp.

◆ CurlInit()

PrivateInstanceAAMP::CurlInit ( AampCurlInstance  startIdx,
unsigned int  instanceCount = 1,
std::string  proxyName = "" 
)

Curl initialization function.

Parameters
[in]startIdx- Start index of the curl instance
[in]instanceCount- Instance count
[in]proxyName- proxy to be applied for curl connection
Returns
void

Definition at line 3252 of file priv_aamp.cpp.

◆ SetTunedManifestUrl()

PrivateInstanceAAMP::SetTunedManifestUrl ( bool  isrecordedUrl = false)

Sets Recorded URL from Manifest received form XRE.

Parameters
[in]isrecordedUrl- flag to check for recordedurl in Manifest

Definition at line 9055 of file priv_aamp.cpp.

◆ GetTunedManifestUrl()

PrivateInstanceAAMP::GetTunedManifestUrl ( )

Gets Recorded URL from Manifest received form XRE.

Parameters
[out]manifestUrl- for VOD and recordedUrl for FOG enabled

Definition at line 9070 of file priv_aamp.cpp.

◆ SetCurlTimeout()

PrivateInstanceAAMP::SetCurlTimeout ( long  timeout,
AampCurlInstance  instance 
)

Set curl timeout(CURLOPT_TIMEOUT)

Parameters
[in]timeout- maximum time in seconds curl request is allowed to take
[in]instance- index of curl instance to which timeout to be set
Returns
void

Definition at line 3315 of file priv_aamp.cpp.

◆ SetManifestCurlTimeout()

void PrivateInstanceAAMP::SetManifestCurlTimeout ( long  timeout)

Set manifest curl timeout.

Parameters
[in]timeout- Timeout value in ms
Returns
void

◆ StoreLanguageList()

PrivateInstanceAAMP::StoreLanguageList ( const std::set< std::string > &  langlist)

Storing audio language list.

Parameters
[in]langlist- Vector of languages
Returns
void

Definition at line 3265 of file priv_aamp.cpp.

◆ IsAudioLanguageSupported()

PrivateInstanceAAMP::IsAudioLanguageSupported ( const char *  checkLanguage)

Checking whether audio language supported.

Parameters
[in]checkLanguage- Language to be checked
Returns
True or False

Definition at line 3289 of file priv_aamp.cpp.

◆ CurlTerm()

PrivateInstanceAAMP::CurlTerm ( AampCurlInstance  startIdx,
unsigned int  instanceCount = 1 
)

Terminate curl contexts.

Parameters
[in]startIdx- First index
[in]instanceCount- Instance count
Returns
void

Definition at line 3333 of file priv_aamp.cpp.

◆ GetPlaylistCurlInstance()

PrivateInstanceAAMP::GetPlaylistCurlInstance ( MediaType  type,
bool  isInitialDownload = true 
)

GetPlaylistCurlInstance - Function to return the curl instance for playlist download Considers parallel download to decide the curl instance.

Returns
AampCurlInstance - curl instance for download

Considers parallel download to decide the curl instance

Parameters
[in]MediaType- type of playlist
[in]IsInitDnld- Init or Refresh download

Definition at line 3360 of file priv_aamp.cpp.

◆ GetNetworkTime()

PrivateInstanceAAMP::GetNetworkTime ( enum UtcTiming  timingtype,
const std::string &  remoteUrl,
long *  http_error,
CurlRequest  request 
)

Download a file from the server.

Parameters
[in]UtcTiming- Timing Type
[in]remoteUrl- File URL
[in]http_error- HTTP error code
[in]CurlRequest- request type
[out]buffer- Pointer to the output buffer
Returns
bool status

Definition at line 3496 of file priv_aamp.cpp.

◆ GetFile()

PrivateInstanceAAMP::GetFile ( std::string  remoteUrl,
struct GrowableBuffer buffer,
std::string &  effectiveUrl,
long *  http_error = NULL,
double *  downloadTime = NULL,
const char *  range = NULL,
unsigned int  curlInstance = 0,
bool  resetBuffer = true,
MediaType  fileType = eMEDIATYPE_DEFAULT,
long *  bitrate = NULL,
int *  fogError = NULL,
double  fragmentDurationSec = 0,
class CMCDHeaders *  pCMCDMetrics = NULL 
)

Download a file from the CDN.

Parameters
[in]remoteUrl- File URL
[out]buffer- Pointer to the output buffer
[out]effectiveUrl- Final URL after HTTP redirection
[out]http_error- HTTP error code
[in]range- Byte range
[in]curlInstance- Curl instance to be used
[in]resetBuffer- Flag to reset the out buffer
[in]fileType- File type
[in]CMCDMetrics- pointer to CMCDNetwork metrics
Returns
void

Definition at line 3585 of file priv_aamp.cpp.

◆ getUUID()

PrivateInstanceAAMP::getUUID ( ) const
inline
Parameters
[out]string- TraceUUID

Definition at line 1256 of file priv_aamp.h.

◆ GetOnVideoEndSessionStatData()

PrivateInstanceAAMP::GetOnVideoEndSessionStatData ( )

Download VideoEnd Session statistics from fog.

Returns
string tsbSessionEnd data from fog
Parameters
[out]buffer- Pointer to the output buffer

Definition at line 4509 of file priv_aamp.cpp.

◆ ProcessCustomCurlRequest()

PrivateInstanceAAMP::ProcessCustomCurlRequest ( std::string &  remoteUrl,
struct GrowableBuffer buffer,
long *  http_error,
CurlRequest  request = eCURL_GET,
std::string  pData = "" 
)

Perform custom curl request.

Parameters
[in]remoteUrl- File URL
[out]buffer- Pointer to the output buffer
[out]http_error- HTTP error code
[in]request- curl request type
[in]pData- string contains post data
Returns
bool status

Definition at line 4559 of file priv_aamp.cpp.

◆ MediaTypeString()

PrivateInstanceAAMP::MediaTypeString ( MediaType  fileType)

get Media Type in string

Parameters
[in]fileType- Type of Media
[out]pointerto Media Type string

Definition at line 3458 of file priv_aamp.cpp.

◆ EndOfStreamReached()

PrivateInstanceAAMP::EndOfStreamReached ( MediaType  mediaType)

End of stream reached.

Parameters
[in]mediaType- Media type
Returns
void

Definition at line 6416 of file priv_aamp.cpp.

◆ EndTimeReached()

void PrivateInstanceAAMP::EndTimeReached ( MediaType  mediaType)

Clip ended.

Parameters
[in]mediaType- Media type
Returns
void

◆ InsertAd()

void PrivateInstanceAAMP::InsertAd ( const char *  url,
double  positionSeconds 
)

Insert ad content.

Parameters
[in]url- Ad url
[in]positionSeconds- Ad start position in seconds
Returns
void

◆ AddEventListener()

void PrivateInstanceAAMP::AddEventListener ( AAMPEventType  eventType,
EventListener eventListener 
)

Add listener to aamp events.

Parameters
[in]eventType- Event type
[in]eventListener- Event handler
Returns
void

Definition at line 2244 of file priv_aamp.cpp.

◆ RemoveEventListener()

void PrivateInstanceAAMP::RemoveEventListener ( AAMPEventType  eventType,
EventListener eventListener 
)

Deregister event lister, Remove listener to aamp events.

Parameters
[in]eventType- Event type
[in]eventListener- Event handler
Returns
void

Definition at line 2253 of file priv_aamp.cpp.

◆ IsEventListenerAvailable()

bool PrivateInstanceAAMP::IsEventListenerAvailable ( AAMPEventType  eventType)

IsEventListenerAvailable Check if Event is registered.

Parameters
[in]eventType- Event type
Returns
void

Definition at line 2261 of file priv_aamp.cpp.

◆ SendErrorEvent()

PrivateInstanceAAMP::SendErrorEvent ( AAMPTuneFailure  tuneFailure,
const char *  description = NULL,
bool  isRetryEnabled = true,
int32_t  secManagerClassCode = -1,
int32_t  secManagerReasonCode = -1,
int32_t  secClientBusinessStatus = -1 
)

Handles errors and sends events to application if required. For download failures, use SendDownloadErrorEvent instead.

Parameters
[in]tuneFailure- Reason of error
[in]description- Optional description of error
Returns
void

Definition at line 2454 of file priv_aamp.cpp.

◆ SendDRMMetaData()

void PrivateInstanceAAMP::SendDRMMetaData ( DrmMetaDataEventPtr  e)

Send DRM metadata event.

Parameters
eDRM metadata event

Definition at line 2656 of file priv_aamp.cpp.

◆ SendDrmErrorEvent()

void PrivateInstanceAAMP::SendDrmErrorEvent ( DrmMetaDataEventPtr  event,
bool  isRetryEnabled 
)

Handles DRM errors and sends events to application if required.

Parameters
[in]eventaamp event struck which holds the error details and error code(http, curl or secclient).
[in]isRetryEnableddrm retry enabled

Definition at line 2269 of file priv_aamp.cpp.

◆ SendDownloadErrorEvent()

PrivateInstanceAAMP::SendDownloadErrorEvent ( AAMPTuneFailure  tuneFailure,
long  error_code 
)

Handles download errors and sends events to application if required.

Parameters
[in]tuneFailure- Reason of error
[in]error_code- HTTP error code/ CURLcode
Returns
void

Definition at line 2330 of file priv_aamp.cpp.

◆ SendAnomalyEvent()

PrivateInstanceAAMP::SendAnomalyEvent ( AAMPAnomalyMessageType  type,
const char *  format,
  ... 
)

Sends Anomaly Error/warning messages.

Parameters
[in]type- severity of message
[in]format- format string args [in] - multiple arguments based on format
Returns
void

Definition at line 2391 of file priv_aamp.cpp.

◆ SendBufferChangeEvent()

PrivateInstanceAAMP::SendBufferChangeEvent ( bool  bufferingStopped = false)

Sends UnderFlow Event messages.

Parameters
[in]bufferingStopped-Flag to indicate buffering stopped.Underflow = True
Returns
void

Definition at line 2424 of file priv_aamp.cpp.

◆ SendEvent()

void PrivateInstanceAAMP::SendEvent ( AAMPEventPtr  eventData,
AAMPEventMode  eventMode = AAMP_EVENT_DEFAULT_MODE 
)

Send event to listeners.

Parameters
[in]eventData- Event data
[in]eventMode- Sync/Async/Default mode(decided based on AsyncTuneEnabled/SourceId
Returns
void

Definition at line 2530 of file priv_aamp.cpp.

◆ NotifySpeedChanged()

void PrivateInstanceAAMP::NotifySpeedChanged ( float  rate,
bool  changeState = true 
)

Notify speed change event to listeners.

Parameters
[in]rate- New speed
[in]changeState- true if state change to be done, false otherwise (default = true)
Returns
void

Definition at line 2582 of file priv_aamp.cpp.

◆ NotifyBitRateChangeEvent()

PrivateInstanceAAMP::NotifyBitRateChangeEvent ( int  bitrate,
BitrateChangeReason  reason,
int  width,
int  height,
double  framerate,
double  position,
bool  GetBWIndex = false,
VideoScanType  scantype = eVIDEOSCAN_UNKNOWN,
int  aspectRatioWidth = 0,
int  aspectRatioHeight = 0 
)

Notify bit rate change event to listeners.

Parameters
[in]bitrate- New bitrate
[in]reason- Bitrate change reason
[in]width- Video width
[in]height- Video height
[in]framerate- FRAME-RATE from manifest
[in]GetBWIndex- Flag to get the bandwidth index
Returns
void

Definition at line 2538 of file priv_aamp.cpp.

◆ NotifyEOSReached()

PrivateInstanceAAMP::NotifyEOSReached ( )

Process EOS from Sink and notify listeners if required.

Returns
void

Definition at line 2831 of file priv_aamp.cpp.

◆ NotifyOnEnteringLive()

void PrivateInstanceAAMP::NotifyOnEnteringLive ( )

Notify when entering live point to listeners.

Returns
void

Definition at line 2910 of file priv_aamp.cpp.

◆ GetPersistedProfileIndex()

int PrivateInstanceAAMP::GetPersistedProfileIndex ( )
inline

Get persisted profile index.

Returns
Profile index

Definition at line 1494 of file priv_aamp.h.

◆ SetPersistedProfileIndex()

void PrivateInstanceAAMP::SetPersistedProfileIndex ( int  profile)
inline

Set persisted profile index.

Parameters
[in]profile- Profile index
Returns
void

Definition at line 1502 of file priv_aamp.h.

◆ SetPersistedBandwidth()

void PrivateInstanceAAMP::SetPersistedBandwidth ( long  bandwidth)
inline

Set persisted bandwidth.

Parameters
[in]bandwidth- Bandwidth in bps
Returns
void

Definition at line 1510 of file priv_aamp.h.

◆ GetPersistedBandwidth()

long PrivateInstanceAAMP::GetPersistedBandwidth ( )
inline

Get persisted bandwidth.

Returns
Bandwitdh

Definition at line 1517 of file priv_aamp.h.

◆ UpdateDuration()

PrivateInstanceAAMP::UpdateDuration ( double  seconds)

Update playlist duration.

Parameters
[in]seconds- Duration in seconds
Returns
void

Definition at line 2095 of file priv_aamp.cpp.

◆ UpdateCullingState()

PrivateInstanceAAMP::UpdateCullingState ( double  culledSeconds)

Update playlist culling.

Parameters
[in]culledSeconds- Seconds to be culled
Returns
void

Definition at line 2104 of file priv_aamp.cpp.

◆ UpdateRefreshPlaylistInterval()

PrivateInstanceAAMP::UpdateRefreshPlaylistInterval ( float  maxIntervalSecs)

Update playlist refresh interval.

Parameters
[in]maxIntervalSecs- Interval in seconds
Returns
void

Definition at line 2415 of file priv_aamp.cpp.

◆ GetVideoPTS()

PrivateInstanceAAMP::GetVideoPTS ( bool  bAddVideoBasePTS)

Report progress event.

Parameters
[in]bAddVideoBasePTS- Flag to include base PTS
Returns
long long - Video PTS

Definition at line 1910 of file priv_aamp.cpp.

◆ ReportProgress()

PrivateInstanceAAMP::ReportProgress ( bool  sync = true,
bool  beginningOfStream = false 
)

Report progress event to listeners.

Parameters
[in]sync- Flag to indicate that event should be synchronous
[in]beginningOfStream- Flag to indicate if the progress reporting is for the Beginning Of Stream
Returns
void

Definition at line 1928 of file priv_aamp.cpp.

◆ ReportAdProgress()

PrivateInstanceAAMP::ReportAdProgress ( bool  sync = true)

Report Ad progress event to listeners Sending Ad progress percentage to JSPP.

Parameters
[in]sync- Flag to indicate that event should be synchronous
Returns
void

Definition at line 2067 of file priv_aamp.cpp.

◆ GetDurationMs()

long long PrivateInstanceAAMP::GetDurationMs ( void  )

Get asset duration in milliseconds.

Returns
Duration in ms.

Definition at line 6798 of file priv_aamp.cpp.

◆ DurationFromStartOfPlaybackMs()

PrivateInstanceAAMP::DurationFromStartOfPlaybackMs ( void  )

Get asset duration in milliseconds For VIDEO TAG Based playback, mainly when aamp is used as plugin.

Returns
Duration in ms.

Definition at line 6817 of file priv_aamp.cpp.

◆ GetPositionMs()

PrivateInstanceAAMP::GetPositionMs ( void  )

Get current stream position.

Returns
Position in ms.

Definition at line 6842 of file priv_aamp.cpp.

◆ GetPositionMilliseconds()

long long PrivateInstanceAAMP::GetPositionMilliseconds ( void  )

Get current stream playback position in milliseconds.

Returns
Position in ms.

Definition at line 6888 of file priv_aamp.cpp.

◆ GetPositionSeconds()

PrivateInstanceAAMP::GetPositionSeconds ( void  )
inline
Returns
Position in seconds.

Definition at line 1607 of file priv_aamp.h.

◆ SendStreamCopy()

PrivateInstanceAAMP::SendStreamCopy ( MediaType  mediaType,
const void *  ptr,
size_t  len,
double  fpts,
double  fdts,
double  fDuration 
)

API to send audio/video stream into the sink.

Parameters
[in]mediaType- Type of the media.
[in]ptr- Pointer to the buffer.
[in]len- Buffer length.
[in]fpts- Presentation Time Stamp.
[in]fdts- Decode Time Stamp
[in]fDuration- Buffer duration.
Returns
void

Definition at line 7010 of file priv_aamp.cpp.

◆ SendStreamTransfer()

PrivateInstanceAAMP::SendStreamTransfer ( MediaType  mediaType,
GrowableBuffer buffer,
double  fpts,
double  fdts,
double  fDuration,
bool  initFragment = 0 
)

API to send audio/video stream into the sink.

Parameters
[in]mediaType- Type of the media.
[in]buffer- Pointer to the GrowableBuffer.
[in]fpts- Presentation Time Stamp.
[in]fdts- Decode Time Stamp
[in]fDuration- Buffer duration.
[in]initFragment- flag for buffer type (init, data)
Returns
void

Definition at line 7018 of file priv_aamp.cpp.

◆ SetStreamSink()

void PrivateInstanceAAMP::SetStreamSink ( StreamSink streamSink)

Setting the stream sink.

Parameters
[in]streamSink- Pointer to the stream sink
Returns
void

Definition at line 7034 of file priv_aamp.cpp.

◆ IsLive()

bool PrivateInstanceAAMP::IsLive ( void  )

Checking if the stream is live or not.

Returns
True if stream is live, False if not

Definition at line 7042 of file priv_aamp.cpp.

◆ IsAudioPlayContextCreationSkipped()

PrivateInstanceAAMP::IsAudioPlayContextCreationSkipped ( void  )

Check if audio playcontext creation skipped for Demuxed HLS file.

Return values
trueif playcontext creation skipped, false if not.
Returns
True or False

Definition at line 7051 of file priv_aamp.cpp.

◆ IsLiveStream()

PrivateInstanceAAMP::IsLiveStream ( void  )

Check if stream is live.

Returns
True or False

Definition at line 7059 of file priv_aamp.cpp.

◆ Stop()

void PrivateInstanceAAMP::Stop ( void  )

Stop playback and release resources.

Returns
void

Definition at line 7068 of file priv_aamp.cpp.

◆ IsTSBSupported()

bool PrivateInstanceAAMP::IsTSBSupported ( )
inline

Checking whether TSB enabled or not.

Returns
True or False

Definition at line 1679 of file priv_aamp.h.

◆ IsInProgressCDVR()

bool PrivateInstanceAAMP::IsInProgressCDVR ( )
inline

Checking whether CDVR in progress.

Returns
True or False

Definition at line 1686 of file priv_aamp.h.

◆ IsUninterruptedTSB()

bool PrivateInstanceAAMP::IsUninterruptedTSB ( )
inline

Checking whether fog is giving uninterrupted TSB.

Returns
True or False

Definition at line 1693 of file priv_aamp.h.

◆ IsCDVRContent()

bool PrivateInstanceAAMP::IsCDVRContent ( )
inline

Checking whether CDVR Stream or not.

Returns
True or False

Definition at line 1700 of file priv_aamp.h.

◆ IsOTAContent()

bool PrivateInstanceAAMP::IsOTAContent ( )
inline

Checking whether OTA content or not.

Returns
True or False

Definition at line 1706 of file priv_aamp.h.

◆ IsEASContent()

bool PrivateInstanceAAMP::IsEASContent ( )
inline

Checking whether EAS content or not.

Returns
True or False

Definition at line 1712 of file priv_aamp.h.

◆ SaveNewTimedMetadata()

PrivateInstanceAAMP::SaveNewTimedMetadata ( long long  timeMS,
const char *  szName,
const char *  szContent,
int  nb,
const char *  id = "",
double  durationMS = -1 
)

SaveNewTimedMetadata Function to store Metadata and reporting event one by one after DRM Initialization.

Parameters
[in]timeMS- Time in milliseconds
[in]szName- Metadata name
[in]szContent- Metadata content
[in]nb- ContentSize
[in]id- Identifier of the TimedMetadata
[in]durationMS- Duration in milliseconds
Returns
void

Definition at line 7226 of file priv_aamp.cpp.

◆ SaveTimedMetadata()

PrivateInstanceAAMP::SaveTimedMetadata ( long long  timeMS,
const char *  szName,
const char *  szContent,
int  nb,
const char *  id = "",
double  durationMS = -1 
)

SaveTimedMetadata Function to store Metadata for bulk reporting during Initialization.

Parameters
[in]timeMS- Time in milliseconds
[in]szName- Metadata name
[in]szContent- Metadata content
[in]nb- ContentSize
[in]id- Identifier of the TimedMetadata
[in]durationMS- Duration in milliseconds
Returns
void

Definition at line 7217 of file priv_aamp.cpp.

◆ ReportBulkTimedMetadata()

PrivateInstanceAAMP::ReportBulkTimedMetadata ( )

Report bulk timedMetadata Function to send bulk timedMetadata in json format.

Returns
void

Definition at line 7258 of file priv_aamp.cpp.

◆ ReportContentGap()

PrivateInstanceAAMP::ReportContentGap ( long long  timeMS,
std::string  id,
double  durationMS = -1 
)

Report content gap events.

Parameters
[in]timeMS- Time in milliseconds
[in]id- Identifier of the TimedMetadata
[in]durationMS- Duration in milliseconds
Returns
void

Definition at line 7383 of file priv_aamp.cpp.

◆ InterruptableMsSleep()

PrivateInstanceAAMP::InterruptableMsSleep ( int  timeInMs)

Sleep until timeout is reached or interrupted.

Parameters
[in]timeInMstimeout in milliseconds
Returns
void

Definition at line 6771 of file priv_aamp.cpp.

◆ DownloadsAreEnabled()

bool PrivateInstanceAAMP::DownloadsAreEnabled ( void  )

Check if downloads are enabled.

Check if track can inject data into GStreamer.

Returns
true if downloads are enabled

Definition at line 6752 of file priv_aamp.cpp.

◆ StopDownloads()

void PrivateInstanceAAMP::StopDownloads ( )

Stop downloads of all tracks. Used by aamp internally to manage states.

Returns
void

Definition at line 3148 of file priv_aamp.cpp.

◆ ResumeDownloads()

void PrivateInstanceAAMP::ResumeDownloads ( )

Resume downloads of all tracks. Used by aamp internally to manage states.

Returns
void

Definition at line 3163 of file priv_aamp.cpp.

◆ StopTrackDownloads()

PrivateInstanceAAMP::StopTrackDownloads ( MediaType  type)

Stop downloads for a track. Called from StreamSink to control flow.

Parameters
[in]typeMedia type
Returns
void

Definition at line 3179 of file priv_aamp.cpp.

◆ ResumeTrackDownloads()

PrivateInstanceAAMP::ResumeTrackDownloads ( MediaType  type)

Resume downloads for a track. Called from StreamSink to control flow.

Parameters
[in]typeMedia type
Returns
void

Definition at line 3202 of file priv_aamp.cpp.

◆ BlockUntilGstreamerWantsData()

PrivateInstanceAAMP::BlockUntilGstreamerWantsData ( void(*)(void)  cb,
int  periodMs,
int  track 
)

Block the injector thread until the gstreanmer needs buffer/more data.

Parameters
[in]cb- Callback helping to perform additional tasks, if gst doesn't need extra data
[in]periodMs- Delay between callbacks
[in]track- Track id
Returns
void

Definition at line 3224 of file priv_aamp.cpp.

◆ LogTuneComplete()

PrivateInstanceAAMP::LogTuneComplete ( void  )

Notify tune end for profiling/logging.

Returns
void

Definition at line 3045 of file priv_aamp.cpp.

◆ AdditionalTuneFailLogEntries()

void PrivateInstanceAAMP::AdditionalTuneFailLogEntries ( )

Additional log entries to assist with tune failure diagnostics.

Additional Tune Fail Diagnostics.

Returns
void

Definition at line 2941 of file priv_aamp.cpp.

◆ TuneFail()

void PrivateInstanceAAMP::TuneFail ( bool  fail)

Profiler for failure tune.

Parameters
[in]Fail- Tune fail status
Returns
void

Definition at line 3018 of file priv_aamp.cpp.

◆ LogFirstFrame()

PrivateInstanceAAMP::LogFirstFrame ( void  )

Notifies profiler that first frame is presented.

Returns
void

Definition at line 3107 of file priv_aamp.cpp.

◆ LogPlayerPreBuffered()

void PrivateInstanceAAMP::LogPlayerPreBuffered ( void  )

Profile Player changed from background to foreground i.e prebuffred.

Returns
void

Definition at line 3115 of file priv_aamp.cpp.

◆ LogDrmInitComplete()

PrivateInstanceAAMP::LogDrmInitComplete ( void  )

Notifies profiler that drm initialization is complete.

Returns
void

Definition at line 3123 of file priv_aamp.cpp.

◆ LogDrmDecryptBegin()

PrivateInstanceAAMP::LogDrmDecryptBegin ( ProfilerBucketType  bucketType)

Notifies profiler that decryption has started.

Parameters
[in]bucketType- Bucket Id
Returns
void

Definition at line 3131 of file priv_aamp.cpp.

◆ LogDrmDecryptEnd()

PrivateInstanceAAMP::LogDrmDecryptEnd ( ProfilerBucketType  bucketType)

Notifies profiler that decryption has ended.

Parameters
[in]bucketTypeprofiler bucket type
Returns
void

Definition at line 3139 of file priv_aamp.cpp.

◆ GetManifestUrl()

std::string& PrivateInstanceAAMP::GetManifestUrl ( void  )
inline

Get manifest URL.

Returns
Manifest URL

Definition at line 1890 of file priv_aamp.h.

◆ GetDrmInitData()

std::string& PrivateInstanceAAMP::GetDrmInitData ( void  )
inline

Get DRM init data obtained from manifest URL (if present)

Returns
DRM init data

Definition at line 1900 of file priv_aamp.h.

◆ SetManifestUrl()

void PrivateInstanceAAMP::SetManifestUrl ( const char *  url)
inline

Set manifest URL.

Parameters
[in]url- Manifest URL
Returns
void

Definition at line 1911 of file priv_aamp.h.

◆ NotifyFirstFrameReceived()

PrivateInstanceAAMP::NotifyFirstFrameReceived ( void  )

Notify first frame is displayed. Sends CC handle event to listeners.

Returns
void

Definition at line 7499 of file priv_aamp.cpp.

◆ InitializeCC()

PrivateInstanceAAMP::InitializeCC ( void  )

Initialize CC after first frame received Sends CC handle event to listeners when first frame receives or video_dec handle rests.

Returns
void

Definition at line 7460 of file priv_aamp.cpp.

◆ SyncBegin()

void PrivateInstanceAAMP::SyncBegin ( void  )

GStreamer operation start.

Returns
void

Definition at line 1893 of file priv_aamp.cpp.

◆ SyncEnd()

PrivateInstanceAAMP::SyncEnd ( void  )

GStreamer operation end.

Returns
void

Definition at line 1902 of file priv_aamp.cpp.

◆ GetSeekBase()

PrivateInstanceAAMP::GetSeekBase ( void  )

Get seek base position.

Returns
Position in seconds

Definition at line 6445 of file priv_aamp.cpp.

◆ ResetCurrentlyAvailableBandwidth()

PrivateInstanceAAMP::ResetCurrentlyAvailableBandwidth ( long  bitsPerSecond,
bool  trickPlay,
int  profile = 0 
)

Reset bandwidth value Artificially resetting the bandwidth. Low for quicker tune times.

Parameters
[in]bitsPerSecond- bps
[in]trickPlay- Is trickplay mode
[in]profile- Profile id.
Returns
void

Definition at line 3401 of file priv_aamp.cpp.

◆ GetCurrentlyAvailableBandwidth()

PrivateInstanceAAMP::GetCurrentlyAvailableBandwidth ( void  )

Get the current network bandwidth using most recently recorded 3 samples.

Returns
Available bandwidth in bps

Definition at line 3416 of file priv_aamp.cpp.

◆ DisableDownloads()

PrivateInstanceAAMP::DisableDownloads ( void  )

abort ongoing downloads and returns error on future downloads called while stopping fragment collector thread

Returns
void

Definition at line 6741 of file priv_aamp.cpp.

◆ EnableDownloads()

void PrivateInstanceAAMP::EnableDownloads ( void  )

Enable downloads after aamp_DisableDownloads. Called after stopping fragment collector thread.

Returns
void

Definition at line 6761 of file priv_aamp.cpp.

◆ RegisterEvents()

void PrivateInstanceAAMP::RegisterEvents ( EventListener eventListener)
inline

Register event listener.

Parameters
[in]eventListener- Handle to event listener
Returns
void

Definition at line 1985 of file priv_aamp.h.

◆ UnRegisterEvents()

void PrivateInstanceAAMP::UnRegisterEvents ( EventListener eventListener)
inline

UnRegister event listener.

Parameters
[in]eventListener- Handle to event listener
Returns
void

Definition at line 1996 of file priv_aamp.h.

◆ ScheduleRetune()

PrivateInstanceAAMP::ScheduleRetune ( PlaybackErrorType  errorType,
MediaType  trackType 
)

Schedules retune or discontinuity processing based on state.

Parameters
[in]errorType- Current error type
[in]trackType- Video/Audio
Returns
void

Definition at line 7559 of file priv_aamp.cpp.

◆ operator=()

PrivateInstanceAAMP& PrivateInstanceAAMP::operator= ( const PrivateInstanceAAMP )
delete

assignment operator disabled

◆ UpdateVideoRectangle()

PrivateInstanceAAMP::UpdateVideoRectangle ( int  x,
int  y,
int  w,
int  h 
)

Set video rectangle.

Parameters
[in]x- Left
[in]y- Top
[in]w- Width
[in]h- Height
Returns
void

Definition at line 6654 of file priv_aamp.cpp.

◆ SetVideoRectangle()

void PrivateInstanceAAMP::SetVideoRectangle ( int  x,
int  y,
int  w,
int  h 
)

Set video rectangle.

Parameters
[in]x- Left
[in]y- Top
[in]w- Width
[in]h- Height
Returns
void

Definition at line 6667 of file priv_aamp.cpp.

◆ Discontinuity()

PrivateInstanceAAMP::Discontinuity ( MediaType  track,
bool  setDiscontinuityFlag = false 
)

Signal discontinuity of track. Called from StreamAbstractionAAMP to signal discontinuity.

Parameters
[in]track- Media type
[in]setDiscontinuityFlagif true then no need to call mStreamSink->Discontinuity(), set only the discontinuity processing flag.
Returns
true if discontinuity is handled.

Definition at line 7534 of file priv_aamp.cpp.

◆ SetTrackDiscontinuityIgnoredStatus()

PrivateInstanceAAMP::SetTrackDiscontinuityIgnoredStatus ( MediaType  track)

Set discontinuity ignored flag for given track.

Returns
void

Definition at line 10480 of file priv_aamp.cpp.

◆ IsDiscontinuityIgnoredForOtherTrack()

PrivateInstanceAAMP::IsDiscontinuityIgnoredForOtherTrack ( MediaType  track)

Check whether the given track discontinuity ignored earlier.

Returns
true - if the discontinuity already ignored.

Definition at line 10488 of file priv_aamp.cpp.

◆ ResetTrackDiscontinuityIgnoredStatus()

PrivateInstanceAAMP::ResetTrackDiscontinuityIgnoredStatus ( void  )

Reset discontinuity ignored flag for audio and video tracks.

Returns
void

Definition at line 10496 of file priv_aamp.cpp.

◆ SetVideoZoom()

void PrivateInstanceAAMP::SetVideoZoom ( VideoZoomMode  zoom)

Set video zoom.

Parameters
[in]zoom- Video zoom mode
Returns
void

Definition at line 6704 of file priv_aamp.cpp.

◆ SetVideoMute()

void PrivateInstanceAAMP::SetVideoMute ( bool  muted)

Enable/ Disable Video.

Parameters
[in]muted- muted or unmuted
Returns
void

Definition at line 6712 of file priv_aamp.cpp.

◆ SetSubtitleMute()

void PrivateInstanceAAMP::SetSubtitleMute ( bool  muted)

Set subtitle mute state.

Enable/ Disable Subtitles.

Parameters
[in]muted- muted or unmuted
Returns
void
Parameters
muted- true to disable subtitles, false to enable subtitles.

Definition at line 6722 of file priv_aamp.cpp.

◆ SetAudioVolume()

void PrivateInstanceAAMP::SetAudioVolume ( int  volume)

Set audio volume.

Set Audio Volume.

Parameters
[in]volume- Volume level Minimum 0, maximum 100
Returns
void
Parameters
volume- Minimum 0, maximum 100.

Definition at line 6732 of file priv_aamp.cpp.

◆ SetState()

void PrivateInstanceAAMP::SetState ( PrivAAMPState  state)

Set player state.

Parameters
[in]state- New state
Returns
void

Definition at line 7731 of file priv_aamp.cpp.

◆ GetState()

void PrivateInstanceAAMP::GetState ( PrivAAMPState state)

Get player state.

Parameters
[out]state- Get current state of aamp
Returns
void

Definition at line 7769 of file priv_aamp.cpp.

◆ AddHighIdleTask()

PrivateInstanceAAMP::AddHighIdleTask ( IdleTask  task,
void *  arg,
DestroyTask  dtask = NULL 
)
static

Add high priority idle task to the gstreamer.

Note
task shall return 0 to be removed, 1 to be repeated
Parameters
[in]task- Task function pointer
[in]arg- passed as parameter during idle task execution
Returns
void

Definition at line 7780 of file priv_aamp.cpp.

◆ IsSinkCacheEmpty()

PrivateInstanceAAMP::IsSinkCacheEmpty ( MediaType  mediaType)

Check sink cache empty.

Parameters
[in]mediaType- Audio/Video
Returns
true: empty, false: not empty

Definition at line 7789 of file priv_aamp.cpp.

◆ NotifyFragmentCachingComplete()

PrivateInstanceAAMP::NotifyFragmentCachingComplete ( )

Notify fragment caching complete.

Returns
void

Definition at line 7805 of file priv_aamp.cpp.

◆ SendTunedEvent()

PrivateInstanceAAMP::SendTunedEvent ( bool  isSynchronous = true)

Send tuned event to listeners if required.

Parameters
[in]isSynchronous- send event synchronously or not
Returns
success or failure
Return values
trueif event is scheduled, false if discarded

Definition at line 7826 of file priv_aamp.cpp.

◆ SendVideoEndEvent()

PrivateInstanceAAMP::SendVideoEndEvent ( )

Send VideoEndEvent.

Returns
success or failure

Definition at line 7849 of file priv_aamp.cpp.

◆ IsFragmentCachingRequired()

bool PrivateInstanceAAMP::IsFragmentCachingRequired ( )

Check if fragment caching is required.

Returns
true if required or ongoing, false if not needed

Definition at line 8189 of file priv_aamp.cpp.

◆ GetPlayerVideoSize()

PrivateInstanceAAMP::GetPlayerVideoSize ( int &  w,
int &  h 
)

Get player video size.

Parameters
[out]w- Width
[out]h- Height
Returns
void

Definition at line 8198 of file priv_aamp.cpp.

◆ SetCallbackAsPending()

PrivateInstanceAAMP::SetCallbackAsPending ( guint  id)

Set an idle callback as event pending state.

Parameters
[in]id- Callback id.
Returns
void

Definition at line 8226 of file priv_aamp.cpp.

◆ SetCallbackAsDispatched()

PrivateInstanceAAMP::SetCallbackAsDispatched ( guint  id)

Set an idle callback as event dispatched state.

Parameters
[in]id- Callback id.
Returns
void

Definition at line 8206 of file priv_aamp.cpp.

◆ CollectCMCDCustomHeaders()

PrivateInstanceAAMP::CollectCMCDCustomHeaders ( MediaType  fileType,
class CMCDHeaders *  pCMCDMetrics 
)

Collect and send all key-value pairs for CMCD headers.

Collect and store CMCD Headers related data.

Parameters
[in]fileType- Type of content.
[in]pCMCDMetrics- pointer to CMCDHeaders.
Returns
void

Definition at line 8246 of file priv_aamp.cpp.

◆ AddCustomHTTPHeader()

void PrivateInstanceAAMP::AddCustomHTTPHeader ( std::string  headerName,
std::vector< std::string >  headerValue,
bool  isLicenseHeader 
)

Add/Remove a custom HTTP header and value.

Parameters
[in]headerName- Header name
[in]headerValue- Header value
[in]isLicenseHeader- true if header is for a license request
Returns
void

Definition at line 8384 of file priv_aamp.cpp.

◆ SetLicenseServerURL()

void PrivateInstanceAAMP::SetLicenseServerURL ( const char *  url,
DRMSystems  drmType = eDRM_MAX_DRMSystems 
)

Set license server URL.

Parameters
[in]url- server URL
[in]drmType- DRM type (PR/WV) for which the URL has to be used, global by default
Returns
void

◆ SetPreferredDRM()

void PrivateInstanceAAMP::SetPreferredDRM ( DRMSystems  drmType)

Set Preferred DRM.

Parameters
[in]drmType- Preferred DRM type
Returns
void

◆ GetPreferredDRM()

DRMSystems PrivateInstanceAAMP::GetPreferredDRM ( )

Get Preferred DRM.

Returns
Preferred DRM type

Definition at line 8843 of file priv_aamp.cpp.

◆ SetStereoOnlyPlayback()

void PrivateInstanceAAMP::SetStereoOnlyPlayback ( bool  bValue)

Set Stereo Only Playback.

Parameters
[in]bValue- disable EC3/ATMOS if the value is true
Returns
void

◆ SetBulkTimedMetaReport()

void PrivateInstanceAAMP::SetBulkTimedMetaReport ( bool  bValue)

Set Bulk TimedMetadata Reporting flag.

Parameters
[in]bValue- if true Bulk event reporting enabled
Returns
void

◆ SetRetuneForUnpairedDiscontinuity()

void PrivateInstanceAAMP::SetRetuneForUnpairedDiscontinuity ( bool  bValue)

Set unpaired discontinuity retune flag.

Parameters
[in]bValue- true if unpaired discontinuity retune set
Returns
void

◆ SetRetuneForGSTInternalError()

void PrivateInstanceAAMP::SetRetuneForGSTInternalError ( bool  bValue)

Set retune configuration for gstpipeline internal data stream error.

Parameters
[in]bValue- true if gst internal error retune set
Returns
void

◆ FoundEventBreak()

PrivateInstanceAAMP::FoundEventBreak ( const std::string &  adBreakId,
uint64_t  startMS,
EventBreakInfo  brInfo 
)

Notification from the stream abstraction that a new SCTE35 event is found.

Parameters
[in]adBreakIdAdbreak's unique identifier.
[in]startMSBreak start time in milli seconds.
[in]brInfoEventBreakInfo object.

Definition at line 8853 of file priv_aamp.cpp.

◆ SetAlternateContents()

void PrivateInstanceAAMP::SetAlternateContents ( const std::string &  adBreakId,
const std::string &  adId,
const std::string &  url 
)

Setting the alternate contents' (Ads/blackouts) URL.

Parameters
[in]adBreakIdAdbreak's unique identifier.
[in]adIdIndividual Ad's id
[in]urlAd URL

Definition at line 8868 of file priv_aamp.cpp.

◆ SendAdResolvedEvent()

PrivateInstanceAAMP::SendAdResolvedEvent ( const std::string &  adId,
bool  status,
uint64_t  startMS = 0,
uint64_t  durationMs = 0 
)

Send status of Ad manifest downloading & parsing.

Parameters
[in]adIdAd's unique identifier.
[in]statusManifest status (success/Failure)
[in]startMSAd playback start time in milliseconds
[in]durationMsAd's duration in milliseconds

Definition at line 8884 of file priv_aamp.cpp.

◆ SendAdReservationEvent()

PrivateInstanceAAMP::SendAdReservationEvent ( AAMPEventType  type,
const std::string &  adBreakId,
uint64_t  position,
bool  immediate = false 
)

Send Ad reservation event.

Parameters
[in]type- Event type
[in]adBreakId- Reservation Id
[in]position- Event position in terms of channel's timeline
[in]immediate- Send it immediate or not

Definition at line 8932 of file priv_aamp.cpp.

◆ SendAdPlacementEvent()

PrivateInstanceAAMP::SendAdPlacementEvent ( AAMPEventType  type,
const std::string &  adId,
uint32_t  position,
uint32_t  adOffset,
uint32_t  adDuration,
bool  immediate = false,
long  error_code = 0 
)

Send Ad placement event.

Parameters
[in]type- Event type
[in]adId- Placement Id
[in]position- Event position wrt to the corresponding adbreak start
[in]adOffset- Offset point of the current ad
[in]adDuration- Duration of the current ad
[in]immediate- Send it immediate or not
[in]error_code- Error code (in case of placment error)

Definition at line 8957 of file priv_aamp.cpp.

◆ SetAnonymousRequest()

void PrivateInstanceAAMP::SetAnonymousRequest ( bool  isAnonymous)

Set anonymous request true or false.

Parameters
[in]isAnonymous- New status
Returns
void

◆ SetAvgBWForABR()

void PrivateInstanceAAMP::SetAvgBWForABR ( bool  useAvgBW)

Indicates average BW to be used for ABR Profiling.

Parameters
useAvgBW- Flag for true / false

◆ SetPreCacheTimeWindow()

void PrivateInstanceAAMP::SetPreCacheTimeWindow ( int  nTimeWindow)

SetPreCacheTimeWindow Function to Set PreCache Time.

Parameters
nTimeWindow- Time in minutes, Max PreCache Time

◆ SetVODTrickplayFPS()

void PrivateInstanceAAMP::SetVODTrickplayFPS ( int  vodTrickplayFPS)

Set frames per second for VOD trickplay.

Parameters
[in]vodTrickplayFPS- FPS count
Returns
void

◆ SetLinearTrickplayFPS()

void PrivateInstanceAAMP::SetLinearTrickplayFPS ( int  linearTrickplayFPS)

Set frames per second for linear trickplay.

Parameters
[in]linearTrickplayFPS- FPS count
Returns
void

◆ SetStallErrorCode()

void PrivateInstanceAAMP::SetStallErrorCode ( int  errorCode)

Set stall error code.

Parameters
[in]errorCode- Stall error code
Returns
void

◆ SetStallTimeout()

void PrivateInstanceAAMP::SetStallTimeout ( int  timeoutMS)

Set stall timeout.

Parameters
[in]timeoutMS- Timeout in milliseconds
Returns
void

◆ SetInitFragTimeoutRetryCount()

void PrivateInstanceAAMP::SetInitFragTimeoutRetryCount ( int  count)

To set the max retry attempts for init frag curl timeout failures.

Parameters
count- max attempt for timeout retry count

◆ SendStalledErrorEvent()

void PrivateInstanceAAMP::SendStalledErrorEvent ( )

Send stalled events to listeners.

Send stalled event to listeners.

Returns
void

Definition at line 8435 of file priv_aamp.cpp.

◆ IsDiscontinuityProcessPending()

PrivateInstanceAAMP::IsDiscontinuityProcessPending ( )

Check if discontinuity processing is pending.

Returns
true if discontinuity processing is pending

Definition at line 2665 of file priv_aamp.cpp.

◆ ProcessPendingDiscontinuity()

PrivateInstanceAAMP::ProcessPendingDiscontinuity ( )

Process pending discontinuity and continue playback of stream after discontinuity.

Returns
true if pending discontinuity was processed successful, false if interrupted

Definition at line 2677 of file priv_aamp.cpp.

◆ NotifyFirstBufferProcessed()

void PrivateInstanceAAMP::NotifyFirstBufferProcessed ( )

Notify if first buffer processed by gstreamer.

Returns
void

Definition at line 8471 of file priv_aamp.cpp.

◆ PauseSubtitleParser()

PrivateInstanceAAMP::PauseSubtitleParser ( bool  pause)

pause/un-pause subtitles

Definition at line 8460 of file priv_aamp.cpp.

◆ ResetTrickStartUTCTime()

PrivateInstanceAAMP::ResetTrickStartUTCTime ( )

Reset trick start position.

Returns
void

Definition at line 8512 of file priv_aamp.cpp.

◆ getStreamType()

PrivateInstanceAAMP::getStreamType ( )

Get stream type.

Returns
Stream type

Definition at line 8520 of file priv_aamp.cpp.

◆ GetMediaFormatTypeEnum()

PrivateInstanceAAMP::GetMediaFormatTypeEnum ( ) const

Get Mediaformat type.

Returns
eMEDIAFORMAT
eMEDIAFORMAT

Definition at line 8557 of file priv_aamp.cpp.

◆ getStreamTypeString()

PrivateInstanceAAMP::getStreamTypeString ( )

Get stream type as printable format.

Returns
Stream type as string

Definition at line 8982 of file priv_aamp.cpp.

◆ GetCurrentDRM()

std::shared_ptr< AampDrmHelper > PrivateInstanceAAMP::GetCurrentDRM ( )

Get current drm.

Returns
current drm helper

Definition at line 6453 of file priv_aamp.cpp.

◆ GetPreferredAudioProperties()

std::string PrivateInstanceAAMP::GetPreferredAudioProperties ( )

get the current audio preference set by user

Returns
json string with preference data

Definition at line 9431 of file priv_aamp.cpp.

◆ GetPreferredTextProperties()

std::string PrivateInstanceAAMP::GetPreferredTextProperties ( )

get the current text preference set by user

Returns
json string with preference data

Definition at line 9384 of file priv_aamp.cpp.

◆ setCurrentDrm()

void PrivateInstanceAAMP::setCurrentDrm ( std::shared_ptr< AampDrmHelper drm)
inline

Set DRM type.

Parameters
[in]drm- New DRM type
Returns
void

Definition at line 2484 of file priv_aamp.h.

◆ NotifyFirstFragmentDecrypted()

PrivateInstanceAAMP::NotifyFirstFragmentDecrypted ( )

Notify the decryption completion of the fist fragment.

Returns
void

Definition at line 8620 of file priv_aamp.cpp.

◆ GetFirstPTS()

PrivateInstanceAAMP::GetFirstPTS ( )

Get PTS of first sample.

Returns
PTS of first sample

Definition at line 8638 of file priv_aamp.cpp.

◆ IsLiveAdjustRequired()

PrivateInstanceAAMP::IsLiveAdjustRequired ( )

Check if Live Adjust is required for current content. ( For "vod/ivod/ip-dvr/cdvr/eas", Live Adjust is not required ).

Returns
False if the content is either vod/ivod/cdvr/ip-dvr/eas

Definition at line 8647 of file priv_aamp.cpp.

◆ SendMediaMetadataEvent()

PrivateInstanceAAMP::SendMediaMetadataEvent ( void  )

Generate media metadata event based on parsed attribute values.

Definition at line 8688 of file priv_aamp.cpp.

◆ SendSupportedSpeedsChangedEvent()

PrivateInstanceAAMP::SendSupportedSpeedsChangedEvent ( bool  isIframeTrackPresent)

Generate supported speeds changed event based on arg passed.

Parameters
[in]isIframeTrackPresent- indicates if iframe tracks are available in asset

Definition at line 8767 of file priv_aamp.cpp.

◆ SendBlockedEvent()

PrivateInstanceAAMP::SendBlockedEvent ( const std::string &  reason)

Generate Blocked event based on args passed.

Parameters
[in]reason- Blocked Reason

Definition at line 8808 of file priv_aamp.cpp.

◆ SendWatermarkSessionUpdateEvent()

PrivateInstanceAAMP::SendWatermarkSessionUpdateEvent ( uint32_t  sessionHandle,
uint32_t  status,
const std::string &  system 
)

Generate WatermarkSessionUpdate event based on args passed.

Parameters
[in]sessionHandle- Handle used to track and manage session
[in]status- Status of the watermark session
[in]system- Watermarking protection provider

Definition at line 8826 of file priv_aamp.cpp.

◆ SetInitialBitrate()

void PrivateInstanceAAMP::SetInitialBitrate ( long  bitrate)

To set the initial bitrate value.

Parameters
[in]bitrateinitial bitrate to be selected

◆ SetInitialBitrate4K()

void PrivateInstanceAAMP::SetInitialBitrate4K ( long  bitrate4K)

To set the initial bitrate value for 4K assets.

Parameters
[in]bitrate4Kinitial bitrate to be selected for 4K assets

◆ SetNetworkTimeout()

void PrivateInstanceAAMP::SetNetworkTimeout ( double  timeout)

To set the network download timeout value.

Parameters
[in]timeoutpreferred timeout value

◆ ConfigureNetworkTimeout()

void PrivateInstanceAAMP::ConfigureNetworkTimeout ( )

To set the network timeout as per priority.

◆ ConfigureManifestTimeout()

void PrivateInstanceAAMP::ConfigureManifestTimeout ( )

To set the manifest timeout as per priority.

◆ ConfigurePlaylistTimeout()

void PrivateInstanceAAMP::ConfigurePlaylistTimeout ( )

To set the manifest timeout as per priority.

◆ ConfigureDashParallelFragmentDownload()

void PrivateInstanceAAMP::ConfigureDashParallelFragmentDownload ( )

To set DASH Parallel Download configuration for fragments.

◆ ConfigureParallelFetch()

void PrivateInstanceAAMP::ConfigureParallelFetch ( )

To set the parallel playlist fetch configuration.

◆ ConfigureBulkTimedMetadata()

void PrivateInstanceAAMP::ConfigureBulkTimedMetadata ( )

To set bulk timedMetadata reporting.

◆ ConfigureRetuneForUnpairedDiscontinuity()

void PrivateInstanceAAMP::ConfigureRetuneForUnpairedDiscontinuity ( )

To set unpaired discontinuity retune configuration.

◆ ConfigureRetuneForGSTInternalError()

void PrivateInstanceAAMP::ConfigureRetuneForGSTInternalError ( )

To set retune configuration for gstpipeline internal data stream error.

◆ ConfigurePreCachePlaylist()

void PrivateInstanceAAMP::ConfigurePreCachePlaylist ( )

Function to configure PreCachePlaylist.

◆ ConfigureInitFragTimeoutRetryCount()

void PrivateInstanceAAMP::ConfigureInitFragTimeoutRetryCount ( )

Function to set the max retry attempts for init frag curl timeout failures.

◆ ConfigureWesterosSink()

void PrivateInstanceAAMP::ConfigureWesterosSink ( )

To set westeros sink configuration.

◆ ConfigureLicenseCaching()

void PrivateInstanceAAMP::ConfigureLicenseCaching ( )

To set license caching config.

◆ SetManifestTimeout()

void PrivateInstanceAAMP::SetManifestTimeout ( double  timeout)

To set the manifest download timeout value.

Parameters
[in]timeoutpreferred timeout value

◆ SetPlaylistTimeout()

void PrivateInstanceAAMP::SetPlaylistTimeout ( double  timeout)

To set the playlist download timeout value.

Parameters
[in]timeoutpreferred timeout value

◆ SetDownloadBufferSize()

void PrivateInstanceAAMP::SetDownloadBufferSize ( int  bufferSize)

To set the download buffer size value.

Parameters
[in]bufferSizepreferred download buffer size

◆ IsTuneCompleted()

bool PrivateInstanceAAMP::IsTuneCompleted ( )

Check if tune completed or not.

Returns
true, if tune completed.

Definition at line 8835 of file priv_aamp.cpp.

◆ CheckABREnabled()

bool PrivateInstanceAAMP::CheckABREnabled ( void  )
inline

Check if ABR enabled for this playback session.

Returns
true if ABR enabled.

Definition at line 2675 of file priv_aamp.h.

◆ SetVideoBitrate()

void PrivateInstanceAAMP::SetVideoBitrate ( long  bitrate)

Set a preferred bitrate for video.

Parameters
[in]preferredbitrate.

◆ GetThumbnails()

std::string PrivateInstanceAAMP::GetThumbnails ( double  start,
double  end 
)

Get the Thumbnail Tile data.

Returns
string with Thumbnail information.

Definition at line 6505 of file priv_aamp.cpp.

◆ GetThumbnailTracks()

std::string PrivateInstanceAAMP::GetThumbnailTracks ( )

Get available thumbnail tracks.

Returns
string with thumbnail track information.

Definition at line 6461 of file priv_aamp.cpp.

◆ GetVideoBitrate()

long PrivateInstanceAAMP::GetVideoBitrate ( )

Get preferred bitrate for video.

Returns
preferred bitrate.

◆ SetNetworkProxy()

void PrivateInstanceAAMP::SetNetworkProxy ( const char *  proxy)

To set the network proxy.

Parameters
[in]proxynetwork proxy to use

◆ GetNetworkProxy()

PrivateInstanceAAMP::GetNetworkProxy ( )

To get the network proxy.

Returns
Network proxy URL, if exists.

Definition at line 9079 of file priv_aamp.cpp.

◆ SetLicenseReqProxy()

void PrivateInstanceAAMP::SetLicenseReqProxy ( const char *  licenseProxy)

To set the proxy for license request.

Parameters
[in]licenseProxyproxy to use for license request

◆ GetLicenseReqProxy()

std::string PrivateInstanceAAMP::GetLicenseReqProxy ( )

To get the proxy for license request.

Returns
proxy to use for license request

Definition at line 9089 of file priv_aamp.cpp.

◆ SetIsLive()

void PrivateInstanceAAMP::SetIsLive ( bool  isLive)
inline

Set is Live flag.

Parameters
[in]isLive- is Live flag
Returns
void

Definition at line 2735 of file priv_aamp.h.

◆ SetAudioPlayContextCreationSkipped()

void PrivateInstanceAAMP::SetAudioPlayContextCreationSkipped ( bool  isAudioContextSkipped)
inline

Set is Audio play context is skipped, due to Audio HLS file is ES Format type.

Parameters
[in]isAudioContextSkipped- is audio context creation skipped.
Returns
void

Definition at line 2743 of file priv_aamp.h.

◆ SetIsLiveStream()

void PrivateInstanceAAMP::SetIsLiveStream ( bool  isLiveStream)
inline

Set isLiveStream flag.

Parameters
[in]isLiveStream- is Live stream flag
Returns
void

Definition at line 2751 of file priv_aamp.h.

◆ SignalTrickModeDiscontinuity()

PrivateInstanceAAMP::SignalTrickModeDiscontinuity ( )

Signal trick mode discontinuity to stream sink.

Returns
void

Definition at line 9100 of file priv_aamp.cpp.

◆ GetServiceZone()

std::string PrivateInstanceAAMP::GetServiceZone ( ) const
inline

pass service zone, extracted from locator &sz URI parameter

Returns
std::string

Definition at line 2764 of file priv_aamp.h.

◆ GetVssVirtualStreamID()

std::string PrivateInstanceAAMP::GetVssVirtualStreamID ( ) const
inline

pass virtual stream ID

Returns
std::string

Definition at line 2770 of file priv_aamp.h.

◆ GetTuneType()

TuneType PrivateInstanceAAMP::GetTuneType ( )
inline

getTuneType Function to check what is the tuneType

Returns
Bool TuneType

Definition at line 2781 of file priv_aamp.h.

◆ IsNewTune()

bool PrivateInstanceAAMP::IsNewTune ( )
inline

IsNewTune Function to check if tune is New tune or retune.

Returns
Bool True on new tune

Definition at line 2788 of file priv_aamp.h.

◆ IsFirstRequestToFog()

bool PrivateInstanceAAMP::IsFirstRequestToFog ( )
inline

IsFirstRequestToFog Function to check first reqruest to fog.

Returns
true if first request to fog

Definition at line 2795 of file priv_aamp.h.

◆ IsMuxedStream()

PrivateInstanceAAMP::IsMuxedStream ( )

Check if current stream is muxed.

Returns
true if current stream is muxed

Definition at line 9111 of file priv_aamp.cpp.

◆ SetDownloadStallTimeout()

void PrivateInstanceAAMP::SetDownloadStallTimeout ( long  stallTimeout)

To set the curl stall timeout value.

Parameters
[in]stallTimeoutcurl stall timeout

◆ SetDownloadStartTimeout()

void PrivateInstanceAAMP::SetDownloadStartTimeout ( long  startTimeout)

To set the curl download start timeout value.

Parameters
[in]startTimeoutcurl download start timeout

◆ StopTrackInjection()

PrivateInstanceAAMP::StopTrackInjection ( MediaType  type)

Stop injection for a track. Called from StopInjection.

Parameters
[in]typeMedia type
Returns
void

Definition at line 9125 of file priv_aamp.cpp.

◆ ResumeTrackInjection()

PrivateInstanceAAMP::ResumeTrackInjection ( MediaType  type)

Resume injection for a track. Called from StartInjection.

Parameters
[in]typeMedia type
Returns
void

Definition at line 9147 of file priv_aamp.cpp.

◆ NotifyFirstVideoPTS()

PrivateInstanceAAMP::NotifyFirstVideoPTS ( unsigned long long  pts,
unsigned long  timeScale = 90000 
)

Receives first video PTS of the current playback.

Parameters
[in]pts- pts value
[in]timeScale- time scale (default 90000)

Definition at line 9168 of file priv_aamp.cpp.

◆ SendVTTCueDataAsEvent()

PrivateInstanceAAMP::SendVTTCueDataAsEvent ( VTTCue cue)

To send webvtt cue as an event.

Parameters
[in]cue- vtt cue object

Definition at line 9188 of file priv_aamp.cpp.

◆ IsSubtitleEnabled()

PrivateInstanceAAMP::IsSubtitleEnabled ( void  )

To check if subtitles are enabled.

Returns
bool - true if subtitles are enabled

Definition at line 9201 of file priv_aamp.cpp.

◆ WebVTTCueListenersRegistered()

PrivateInstanceAAMP::WebVTTCueListenersRegistered ( void  )

To check if JavaScript cue listeners are registered.

Returns
bool - true if listeners are registered

Definition at line 9211 of file priv_aamp.cpp.

◆ UpdateVideoEndProfileResolution()

PrivateInstanceAAMP::UpdateVideoEndProfileResolution ( MediaType  mediaType,
long  bitrate,
int  width,
int  height 
)

updates profile Resolution to VideoStat object

Parameters
[in]mediaType- MediaType ( Manifest/Audio/Video etc )
[in]bitrate- bitrate ( bits per sec )
[in]width- Frame width
[in]height- Frame Height
Returns
void

Definition at line 7911 of file priv_aamp.cpp.

◆ UpdateVideoEndTsbStatus()

PrivateInstanceAAMP::UpdateVideoEndTsbStatus ( bool  btsbAvailable)

updates time shift buffer status

Parameters
[in]btsbAvailable- true if TSB supported
Returns
void

Definition at line 7938 of file priv_aamp.cpp.

◆ UpdateProfileCappedStatus()

PrivateInstanceAAMP::UpdateProfileCappedStatus ( void  )

updates profile capped status

Returns
void

Definition at line 7952 of file priv_aamp.cpp.

◆ IsDashAsset()

bool PrivateInstanceAAMP::IsDashAsset ( void  )
inline

To check if current asset is DASH or not.

Returns
bool - true if its DASH asset

Definition at line 2939 of file priv_aamp.h.

◆ CheckForDiscontinuityStall()

PrivateInstanceAAMP::CheckForDiscontinuityStall ( MediaType  mediaType)

Check if AAMP is in stalled state after it pushed EOS to notify discontinuity.

Parameters
[in]mediaTypestream type

Definition at line 5961 of file priv_aamp.cpp.

◆ NotifyVideoBasePTS()

PrivateInstanceAAMP::NotifyVideoBasePTS ( unsigned long long  basepts,
unsigned long  timeScale = 90000 
)

Notifies base PTS of the HLS video playback.

Parameters
[in]pts- base pts value

Definition at line 9179 of file priv_aamp.cpp.

◆ GetCustomLicenseHeaders()

void PrivateInstanceAAMP::GetCustomLicenseHeaders ( std::unordered_map< std::string, std::vector< std::string >> &  customHeaders)

To get any custom license HTTP headers that was set by application.

Parameters
[out]headers- map of headers

Definition at line 9219 of file priv_aamp.cpp.

◆ SetParallelPlaylistDL()

void PrivateInstanceAAMP::SetParallelPlaylistDL ( bool  bValue)

Set parallel playlist download config value.

Parameters
[in]bValue- true if a/v playlist to be downloaded in parallel
Returns
void

◆ SetEventPriorityAsyncTune()

void PrivateInstanceAAMP::SetEventPriorityAsyncTune ( bool  bValue)

Set async tune configuration for EventPriority.

Parameters
[in]bValue- true if async tune enabled
Returns
void

Definition at line 6631 of file priv_aamp.cpp.

◆ GetAsyncTuneConfig()

PrivateInstanceAAMP::GetAsyncTuneConfig ( )

Get async tune configuration.

Returns
bool - true if async tune enabled

Definition at line 6646 of file priv_aamp.cpp.

◆ SetParallelPlaylistRefresh()

void PrivateInstanceAAMP::SetParallelPlaylistRefresh ( bool  bValue)

Set parallel playlist download config value for linear.

Parameters
[in]bValue- true if a/v playlist to be downloaded in parallel
Returns
void

◆ SetWesterosSinkConfig()

void PrivateInstanceAAMP::SetWesterosSinkConfig ( bool  bValue)

Set Westeros sink Configuration.

Parameters
[in]bValue- true if westeros sink enabled
Returns
void

◆ SetLicenseCaching()

void PrivateInstanceAAMP::SetLicenseCaching ( bool  bValue)

Set license caching.

Parameters
[in]bValue- true/false to enable/disable license caching
Returns
void

◆ SetMatchingBaseUrlConfig()

void PrivateInstanceAAMP::SetMatchingBaseUrlConfig ( bool  bValue)

Set Matching BaseUrl Config Configuration.

Parameters
[in]bValue- true if Matching BaseUrl enabled
Returns
void

◆ SetPropagateUriParameters()

void PrivateInstanceAAMP::SetPropagateUriParameters ( bool  bValue)

Configure URI parameters.

Parameters
[in]bValue- true to enable, false to disable.
Returns
void

◆ SetSslVerifyPeerConfig()

void PrivateInstanceAAMP::SetSslVerifyPeerConfig ( bool  bValue)

to configure disable ssl verify peer parameter

Parameters
[in]bValue- default value: false
Returns
void

◆ SetNewABRConfig()

void PrivateInstanceAAMP::SetNewABRConfig ( bool  bValue)

Configure New ABR Enable/Disable.

Parameters
[in]bValue- true if new ABR enabled
Returns
void

◆ SetNewAdBreakerConfig()

void PrivateInstanceAAMP::SetNewAdBreakerConfig ( bool  bValue)

Configure New AdBreaker Enable/Disable.

Parameters
[in]bValue- true if new AdBreaker enabled
Returns
void

◆ FlushStreamSink()

PrivateInstanceAAMP::FlushStreamSink ( double  position,
double  rate 
)

Sending a flushing seek to stream sink with given position.

Parameters
[in]position- position to which we seek after flush
[in]rate- playback rate
Returns
void

Definition at line 9271 of file priv_aamp.cpp.

◆ GetAvailableVideoTracks()

std::string PrivateInstanceAAMP::GetAvailableVideoTracks ( )

Get available video tracks.

Returns
std::string JSON formatted list of video tracks

Definition at line 9482 of file priv_aamp.cpp.

◆ SetVideoTracks()

void PrivateInstanceAAMP::SetVideoTracks ( std::vector< long >  bitrateList)

set birate for video tracks selection

Parameters
[in]bitrateListbitrate list
Returns
void

Definition at line 9546 of file priv_aamp.cpp.

◆ GetAvailableAudioTracks()

std::string PrivateInstanceAAMP::GetAvailableAudioTracks ( bool  allTrack = false)

Get available audio tracks.

Returns
std::string JSON formatted list of audio tracks

Definition at line 9572 of file priv_aamp.cpp.

◆ GetAvailableTextTracks()

std::string PrivateInstanceAAMP::GetAvailableTextTracks ( bool  alltrack = false)

Get available text tracks.

Returns
std::string JSON formatted list of text tracks

Definition at line 9676 of file priv_aamp.cpp.

◆ SetPreferredTextLanguages()

void PrivateInstanceAAMP::SetPreferredTextLanguages ( const char *  param)

Set Preferred Text Language.

set preferred Audio Language properties like language, rendition, type, codec, and Label

Parameters
-language list
Returns
void

Definition at line 11142 of file priv_aamp.cpp.

◆ SetPreCacheDownloadList()

PrivateInstanceAAMP::SetPreCacheDownloadList ( PreCacheUrlList &  dnldListInput)

SetPreCacheDownloadList - Function to assign the PreCaching file list.

Parameters
[in]dnldListInputPlaylist Download list
Returns
void

Definition at line 9369 of file priv_aamp.cpp.

◆ PreCachePlaylistDownloadTask()

PrivateInstanceAAMP::PreCachePlaylistDownloadTask ( )

PreCachePlaylistDownloadTask Thread function for PreCaching Playlist.

Returns
void

Definition at line 9293 of file priv_aamp.cpp.

◆ SetAppName()

void PrivateInstanceAAMP::SetAppName ( std::string  name)

Set the application name which has created PlayerInstanceAAMP, for logging purposes.

Returns
void

Definition at line 9791 of file priv_aamp.cpp.

◆ GetAppName()

std::string PrivateInstanceAAMP::GetAppName ( )

Get the application name.

Returns
string application name

Definition at line 9799 of file priv_aamp.cpp.

◆ SendId3MetadataEvent()

PrivateInstanceAAMP::SendId3MetadataEvent ( Id3CallbackData id3Metadata)

Sends an ID3 metadata event.

Parameters
[in]id3MetadataID3 metadata

Definition at line 9227 of file priv_aamp.cpp.

◆ TrackDownloadsAreEnabled()

PrivateInstanceAAMP::TrackDownloadsAreEnabled ( MediaType  type)

Check to media track downloads are enabled.

Parameters
[in]typeMedia type
Returns
bool true if track can inject data, false otherwise

Definition at line 9921 of file priv_aamp.cpp.

◆ StopBuffering()

PrivateInstanceAAMP::StopBuffering ( bool  forceStop)

Stop buffering in AAMP and un-pause pipeline.

Parameters
[in]forceStop- stop buffering forcefully
Returns
void

Definition at line 9942 of file priv_aamp.cpp.

◆ IsPlayEnabled()

PrivateInstanceAAMP::IsPlayEnabled ( )

Check if autoplay enabled for current stream.

Returns
true if autoplay enabled

Definition at line 6239 of file priv_aamp.cpp.

◆ detach()

void PrivateInstanceAAMP::detach ( )

Soft stop the player instance.

Definition at line 6248 of file priv_aamp.cpp.

◆ getAampCacheHandler()

AampCacheHandler * PrivateInstanceAAMP::getAampCacheHandler ( )

Get AampCacheHandler instance.

Returns
Pointer to AampCacheHandler

Definition at line 6277 of file priv_aamp.cpp.

◆ SetInitRampdownLimit()

void PrivateInstanceAAMP::SetInitRampdownLimit ( int  limit)

Set Initila profile ramp down limit.

◆ SetMinimumBitrate()

void PrivateInstanceAAMP::SetMinimumBitrate ( long  bitrate)

Set minimum bitrate value.

◆ SetMaximumBitrate()

void PrivateInstanceAAMP::SetMaximumBitrate ( long  bitrate)

Set maximum bitrate value.

◆ GetMaximumBitrate()

PrivateInstanceAAMP::GetMaximumBitrate ( )

Get maximum bitrate value.

Returns
maximum bitrate value

Definition at line 6285 of file priv_aamp.cpp.

◆ GetMinimumBitrate()

PrivateInstanceAAMP::GetMinimumBitrate ( )

Get minimum bitrate value.

Returns
minimum bitrate value

Definition at line 6295 of file priv_aamp.cpp.

◆ GetDefaultBitrate()

PrivateInstanceAAMP::GetDefaultBitrate ( )

Get default bitrate value.

Returns
default bitrate value

Definition at line 6305 of file priv_aamp.cpp.

◆ GetDefaultBitrate4K()

PrivateInstanceAAMP::GetDefaultBitrate4K ( )

Get Default bitrate for 4K.

Returns
default bitrate 4K value

Definition at line 6315 of file priv_aamp.cpp.

◆ GetIframeBitrate()

PrivateInstanceAAMP::GetIframeBitrate ( )

Get Default Iframe bitrate value.

Returns
default iframe bitrate value

Definition at line 6325 of file priv_aamp.cpp.

◆ GetIframeBitrate4K()

PrivateInstanceAAMP::GetIframeBitrate4K ( )

Get Default Iframe bitrate 4K value.

Returns
default iframe bitrate 4K value

Definition at line 6335 of file priv_aamp.cpp.

◆ SetInitialBufferDuration()

void PrivateInstanceAAMP::SetInitialBufferDuration ( int  durationSec)

Set initial buffer duration in seconds.

Returns
void

◆ GetInitialBufferDuration()

PrivateInstanceAAMP::GetInitialBufferDuration ( )

Get current initial buffer duration in seconds.

Returns
void

Definition at line 9816 of file priv_aamp.cpp.

◆ individualization()

void PrivateInstanceAAMP::individualization ( const std::string &  payload)
virtual

DRM individualization callback.

Parameters
[in]payload- individualization payload
Returns
void

Implements AampDrmCallbacks.

Definition at line 9807 of file priv_aamp.cpp.

◆ SetContentType()

PrivateInstanceAAMP::SetContentType ( const char *  contentType)

Set Content Type.

Parameters
[in]contentType- Content type
Returns
void

Definition at line 6121 of file priv_aamp.cpp.

◆ GetContentType()

ContentType PrivateInstanceAAMP::GetContentType ( ) const

Get Content Type.

Returns
ContentType

Definition at line 6193 of file priv_aamp.cpp.

◆ GetMediaFormatType()

MediaFormat PrivateInstanceAAMP::GetMediaFormatType ( const char *  url)

Assign the correct mediaFormat by parsing the url.

Get Mediaformat types by parsing the url.

Parameters
[in]url- manifest url
Returns
MediaFormatType

Definition at line 5806 of file priv_aamp.cpp.

◆ GetLicenseServerUrlForDrm()

std::string PrivateInstanceAAMP::GetLicenseServerUrlForDrm ( DRMSystems  type)

Get license server url for a drm type.

Parameters
[in]typeDRM type
Returns
license server url

Definition at line 9950 of file priv_aamp.cpp.

◆ SetStateBufferingIfRequired()

bool PrivateInstanceAAMP::SetStateBufferingIfRequired ( )

Set eSTATE_BUFFERING if required.

Returns
bool - true if has been set

Definition at line 9889 of file priv_aamp.cpp.

◆ IsFirstVideoFrameDisplayedRequired()

PrivateInstanceAAMP::IsFirstVideoFrameDisplayedRequired ( )

Check if First Video Frame Displayed Notification is required.

Returns
bool - true if required

Definition at line 9826 of file priv_aamp.cpp.

◆ NotifyFirstVideoFrameDisplayed()

PrivateInstanceAAMP::NotifyFirstVideoFrameDisplayed ( )

Notify First Video Frame was displayed.

Returns
void

Definition at line 9834 of file priv_aamp.cpp.

◆ SetAudioTrack()

void PrivateInstanceAAMP::SetAudioTrack ( int  trackId)

Set audio track.

Parameters
[in]trackId- index of audio track in available track list
Returns
void

◆ GetAudioTrack()

int PrivateInstanceAAMP::GetAudioTrack ( )

Get current audio track index.

Returns
int - index of current audio track in available track list

Definition at line 9976 of file priv_aamp.cpp.

◆ GetAudioTrackInfo()

std::string PrivateInstanceAAMP::GetAudioTrackInfo ( )

Get current audio track index.

Returns
int - index of current audio track in available track list

Definition at line 9991 of file priv_aamp.cpp.

◆ SetTextTrack()

void PrivateInstanceAAMP::SetTextTrack ( int  trackId,
char *  data = NULL 
)

Set text track.

Parameters
[in]trackId- index of text track in available track list
[in]data- subtitle data from application
Returns
void

Definition at line 10240 of file priv_aamp.cpp.

◆ GetTextTrack()

int PrivateInstanceAAMP::GetTextTrack ( )

Get current text track index.

Returns
int - index of current text track in available track list

Definition at line 10362 of file priv_aamp.cpp.

◆ GetTextTrackInfo()

std::string PrivateInstanceAAMP::GetTextTrackInfo ( )

Get current audio track index.

Returns
int - index of current audio track in available track list

Definition at line 10095 of file priv_aamp.cpp.

◆ SetCCStatus()

void PrivateInstanceAAMP::SetCCStatus ( bool  enabled)

Set CC visibility on/off.

Parameters
[in]enabled- true for CC on, false otherwise
Returns
void

Definition at line 10394 of file priv_aamp.cpp.

◆ GetCCStatus()

bool PrivateInstanceAAMP::GetCCStatus ( void  )

Get CC visibility on/off.

Returns
bool- true/false(OFF/ON)

Definition at line 10416 of file priv_aamp.cpp.

◆ RefreshSubtitles()

PrivateInstanceAAMP::RefreshSubtitles ( )

Switch the subtitle track following a change to the preferredTextTrack.

Returns
void

Definition at line 10351 of file priv_aamp.cpp.

◆ NotifyAudioTracksChanged()

PrivateInstanceAAMP::NotifyAudioTracksChanged ( )

Function to notify available audio tracks changed.

Returns
void

Definition at line 10424 of file priv_aamp.cpp.

◆ NotifyTextTracksChanged()

PrivateInstanceAAMP::NotifyTextTracksChanged ( )

Function to notify available text tracks changed.

Returns
void

Definition at line 10432 of file priv_aamp.cpp.

◆ SetPreferredTextTrack()

void PrivateInstanceAAMP::SetPreferredTextTrack ( const TextTrackInfo  track)
inline

Set preferred text track Required to persist across trickplay or other operations.

Parameters
[in]track- text track info object
Returns
void

Definition at line 3409 of file priv_aamp.h.

◆ GetPreferredTextTrack()

const TextTrackInfo& PrivateInstanceAAMP::GetPreferredTextTrack ( )
inline

Get preferred audio track.

Returns
AudioTrackInfo - preferred audio track object

Get preferred text track

Returns
TextTrackInfo - preferred text track object

Definition at line 3423 of file priv_aamp.h.

◆ SetTextStyle()

void PrivateInstanceAAMP::SetTextStyle ( const std::string &  options)

Set style options for text track rendering.

Parameters
[in]options- JSON formatted style options
Returns
void

Definition at line 10441 of file priv_aamp.cpp.

◆ GetTextStyle()

std::string PrivateInstanceAAMP::GetTextStyle ( )

Get style options for text track rendering.

Returns
std::string - JSON formatted style options

Definition at line 10464 of file priv_aamp.cpp.

◆ IsActiveInstancePresent()

bool PrivateInstanceAAMP::IsActiveInstancePresent ( )
static

Check if any active PrivateInstanceAAMP available.

Returns
bool true if available

Definition at line 10472 of file priv_aamp.cpp.

◆ GetBasePTS()

unsigned long long PrivateInstanceAAMP::GetBasePTS ( )
inline

Return BasePTS - for non-HLS/TS streams this will be zero.

Returns
unsigned long long mVideoBasePTS

Definition at line 3452 of file priv_aamp.h.

◆ SetSessionToken()

void PrivateInstanceAAMP::SetSessionToken ( std::string &  sessionToken)

Set the session Token for player.

Parameters
[in]sessionToken- sessionToken in string format
Returns
void

◆ SetStreamFormat()

PrivateInstanceAAMP::SetStreamFormat ( StreamOutputFormat  videoFormat,
StreamOutputFormat  audioFormat,
StreamOutputFormat  auxFormat 
)

Set stream format for audio/video tracks.

Parameters
[in]videoFormat- video stream format
[in]audioFormat- audio stream format
[in]auxFormat- aux stream format
Returns
void

Definition at line 10505 of file priv_aamp.cpp.

◆ IsAudioOrVideoOnly()

PrivateInstanceAAMP::IsAudioOrVideoOnly ( StreamOutputFormat  videoFormat,
StreamOutputFormat  audioFormat,
StreamOutputFormat  auxFormat 
)

To check for audio/video only Playback.

Parameters
[in]videoFormat- video stream format
[in]audioFormat- audio stream format
[in]auxFormat- aux stream format
Returns
bool

Definition at line 10567 of file priv_aamp.cpp.

◆ SetMaxPlaylistCacheSize()

void PrivateInstanceAAMP::SetMaxPlaylistCacheSize ( int  cacheSize)

Set Maximum Cache Size for storing playlist.

Returns
void

◆ EnableVideoRectangle()

void PrivateInstanceAAMP::EnableVideoRectangle ( bool  rectProperty)

Set video rectangle property.

Parameters
[in]rectPropertyvideo rectangle property

◆ EnableSeekableRange()

void PrivateInstanceAAMP::EnableSeekableRange ( bool  enabled)

Enable seekable range values in progress event.

Parameters
[in]enabled- true if enabled

◆ SetReportVideoPTS()

void PrivateInstanceAAMP::SetReportVideoPTS ( bool  enabled)

Enable video PTS reporting in progress event.

Parameters
[in]enabled- true if enabled

◆ DisableContentRestrictions()

void PrivateInstanceAAMP::DisableContentRestrictions ( long  grace = 0,
long  time = -1,
bool  eventChange = false 
)

Disable Content Restrictions - unlock.

Parameters
[in]grace- seconds from current time, grace period, grace = -1 will allow an unlimited grace period
[in]time- seconds from current time,time till which the channel need to be kept unlocked
[in]eventChange- disable restriction handling till next program event boundary
Returns
void

Definition at line 10599 of file priv_aamp.cpp.

◆ EnableContentRestrictions()

void PrivateInstanceAAMP::EnableContentRestrictions ( )

Enable Content Restrictions - lock.

Returns
void

Definition at line 10618 of file priv_aamp.cpp.

◆ PersistBitRateOverSeek()

void PrivateInstanceAAMP::PersistBitRateOverSeek ( bool  value)

Enable/disable configuration to persist ABR profile over Seek/SAP.

Parameters
[in]value- To enable/disable configuration
Returns
void

◆ IsBitRatePersistedOverSeek()

bool PrivateInstanceAAMP::IsBitRatePersistedOverSeek ( )
inline

Get config for ABR profile persitenace over Seek/Audio Chg.

Returns
bool - true if enabled

Definition at line 3539 of file priv_aamp.h.

◆ SetPreferredLanguages()

void PrivateInstanceAAMP::SetPreferredLanguages ( const char *  languageList,
const char *  preferredRendition,
const char *  preferredType,
const char *  codecList,
const char *  labelList 
)

set preferred Audio Language properties like language, rendition, type and codec

Parameters
[in]languageList- string with comma-delimited language list in ISO-639 from most to least preferred. Set NULL to clear current list.
[in]preferredRendition- preferred rendition from role
[in]preferredType- preferred accessibility type
[in]codecList- preferred codec list
[in]labelList- preferred label list
Returns
void

Definition at line 10744 of file priv_aamp.cpp.

◆ SetScheduler()

void PrivateInstanceAAMP::SetScheduler ( AampScheduler instance)
inline

Set the scheduler instance to schedule tasks.

Parameters
[in]instance- schedule instance

Definition at line 3558 of file priv_aamp.h.

◆ ScheduleAsyncTask()

PrivateInstanceAAMP::ScheduleAsyncTask ( IdleTask  task,
void *  arg,
std::string  taskName = "" 
)

Add async task to scheduler.

Parameters
[in]task- Task
[in]arg- Arguments
Returns
int - task id

Definition at line 10632 of file priv_aamp.cpp.

◆ RemoveAsyncTask()

PrivateInstanceAAMP::RemoveAsyncTask ( int  taskId)

Remove async task scheduled earlier.

Parameters
[in]taskId- task id
Returns
bool - true if removed, false otherwise

Definition at line 10653 of file priv_aamp.cpp.

◆ AcquireStreamLock()

void PrivateInstanceAAMP::AcquireStreamLock ( )

acquire streamsink lock

Returns
void

Definition at line 10671 of file priv_aamp.cpp.

◆ TryStreamLock()

bool PrivateInstanceAAMP::TryStreamLock ( )

try to acquire streamsink lock

Returns
True if it could I acquire it seccessfully else false

Definition at line 10680 of file priv_aamp.cpp.

◆ ReleaseStreamLock()

void PrivateInstanceAAMP::ReleaseStreamLock ( )

release streamsink lock

Returns
void

Definition at line 10689 of file priv_aamp.cpp.

◆ IsAuxiliaryAudioEnabled()

PrivateInstanceAAMP::IsAuxiliaryAudioEnabled ( void  )

To check if auxiliary audio is enabled.

Returns
bool - true if aux audio is enabled

Definition at line 10697 of file priv_aamp.cpp.

◆ SetAuxiliaryLanguage()

void PrivateInstanceAAMP::SetAuxiliaryLanguage ( const std::string &  language)
inline

Set auxiliary language.

Parameters
[in]language- auxiliary language
Returns
void

Definition at line 3617 of file priv_aamp.h.

◆ GetAuxiliaryAudioLanguage()

std::string PrivateInstanceAAMP::GetAuxiliaryAudioLanguage ( )
inline

Get auxiliary language.

Returns
std::string auxiliary audio language

Definition at line 3624 of file priv_aamp.h.

◆ GetPauseOnFirstVideoFrameDisp()

bool PrivateInstanceAAMP::GetPauseOnFirstVideoFrameDisp ( void  )

GetPauseOnFirstVideoFrameDisplay.

Returns
bool

Definition at line 11571 of file priv_aamp.cpp.

◆ SetLLDashServiceData()

PrivateInstanceAAMP::SetLLDashServiceData ( AampLLDashServiceData stAampLLDashServiceData)

Sets Low Latency Service Data.

Parameters
[in]stAampLLDashServiceData- Low Latency Service Data from MPD
Returns
void

Definition at line 11579 of file priv_aamp.cpp.

◆ GetLLDashServiceData()

PrivateInstanceAAMP::GetLLDashServiceData ( void  )

Gets Low Latency Service Data.

Returns
AampLLDashServiceData*

Definition at line 11587 of file priv_aamp.cpp.

◆ SetVidTimeScale()

PrivateInstanceAAMP::SetVidTimeScale ( uint32_t  vidTimeScale)

Sets Low Video TimeScale.

Parameters
[in]vidTimeScale- vidTimeScale value
Returns
void

Definition at line 11596 of file priv_aamp.cpp.

◆ GetVidTimeScale()

PrivateInstanceAAMP::GetVidTimeScale ( void  )

Gets Video TimeScale.

Returns
uint32_t

Definition at line 11604 of file priv_aamp.cpp.

◆ SetAudTimeScale()

PrivateInstanceAAMP::SetAudTimeScale ( uint32_t  audTimeScale)

Sets Low Audio TimeScale.

Parameters
[in]audTimeScale- audTimeScale Value
Returns
void

Definition at line 11612 of file priv_aamp.cpp.

◆ GetAudTimeScale()

PrivateInstanceAAMP::GetAudTimeScale ( void  )

Gets Audio TimeScale.

Returns
uint32_t

Definition at line 11620 of file priv_aamp.cpp.

◆ SetLLDashSpeedCache()

PrivateInstanceAAMP::SetLLDashSpeedCache ( struct SpeedCache speedCache)

Sets Speed Cache.

Parameters
[in]speedCache- Speed Cache
Returns
void

Definition at line 11627 of file priv_aamp.cpp.

◆ GetLLDashSpeedCache()

PrivateInstanceAAMP::GetLLDashSpeedCache ( )

Gets Speed Cache.

Returns
struct SpeedCache speedCache*

Definition at line 11635 of file priv_aamp.cpp.

◆ SetLLDashCurrentPlayBackRate()

void PrivateInstanceAAMP::SetLLDashCurrentPlayBackRate ( double  rate)
inline

Sets Low latency play rate.

Parameters
[in]rate- playback rate to set
Returns
void

Definition at line 3697 of file priv_aamp.h.

◆ GetLLDashCurrentPlayBackRate()

double PrivateInstanceAAMP::GetLLDashCurrentPlayBackRate ( void  )
inline

Gets Low Latency current play back rate.

Returns
double

Definition at line 3707 of file priv_aamp.h.

◆ SetLLDashAdjustSpeed()

void PrivateInstanceAAMP::SetLLDashAdjustSpeed ( bool  state)
inline

Turn off/on the player speed correction for Low latency Dash.

Parameters
[in]state- true or false
Returns
void

Definition at line 3718 of file priv_aamp.h.

◆ GetLLDashAdjustSpeed()

bool PrivateInstanceAAMP::GetLLDashAdjustSpeed ( void  )
inline

Gets the state of the player speed correction for Low latency Dash.

Returns
double

Definition at line 3728 of file priv_aamp.h.

◆ GetLiveOffsetAppRequest()

PrivateInstanceAAMP::GetLiveOffsetAppRequest ( )
Returns
bool

Definition at line 11640 of file priv_aamp.cpp.

◆ SetLiveOffsetAppRequest()

void PrivateInstanceAAMP::SetLiveOffsetAppRequest ( bool  LiveOffsetAppRequest)

set LiveOffset Request flag Status

Parameters
[in]LiveOffsetAppRequest- flag
Returns
void

Definition at line 11648 of file priv_aamp.cpp.

◆ GetLowLatencyServiceConfigured()

PrivateInstanceAAMP::GetLowLatencyServiceConfigured ( )

Get Low Latency Service Configuration Status.

Returns
bool

Definition at line 11655 of file priv_aamp.cpp.

◆ SetLowLatencyServiceConfigured()

PrivateInstanceAAMP::SetLowLatencyServiceConfigured ( bool  bConfig)

Set Low Latency Service Configuration Status.

Parameters
[in]bConfig- bool flag
Returns
void

Definition at line 11663 of file priv_aamp.cpp.

◆ GetUtcTime()

PrivateInstanceAAMP::GetUtcTime ( )

Get Utc Time.

Returns
time_t

Definition at line 11671 of file priv_aamp.cpp.

◆ SetUtcTime()

PrivateInstanceAAMP::SetUtcTime ( time_t  time)

Set Utc Time.

Parameters
[in]time- Utc Time
Returns
void

Definition at line 11679 of file priv_aamp.cpp.

◆ GetCurrentLatency()

PrivateInstanceAAMP::GetCurrentLatency ( )

Get Current Latency.

Returns
long

Definition at line 11687 of file priv_aamp.cpp.

◆ SetCurrentLatency()

PrivateInstanceAAMP::SetCurrentLatency ( long  currentLatency)

Set Current Latency.

Parameters
[in]currentLatency- Current latency to set
Returns
void

Definition at line 11695 of file priv_aamp.cpp.

◆ GetMediaStreamContext()

MediaStreamContext * PrivateInstanceAAMP::GetMediaStreamContext ( MediaType  type)

Get Media Stream Context.

Parameters
[in]typeMediaType
Returns
MediaStreamContext*

Definition at line 11703 of file priv_aamp.cpp.

◆ GetLicenseCustomData()

std::string PrivateInstanceAAMP::GetLicenseCustomData ( )

Get License Custom Data.

Returns
Custom data string

Definition at line 11994 of file priv_aamp.cpp.

◆ GetPeriodDurationTimeValue()

PrivateInstanceAAMP::GetPeriodDurationTimeValue ( void  )

GetPeriodDurationTimeValue.

Returns
double

Definition at line 11720 of file priv_aamp.cpp.

◆ GetPeriodStartTimeValue()

PrivateInstanceAAMP::GetPeriodStartTimeValue ( void  )

GetPeriodStartTimeValue.

Returns
double

Definition at line 11728 of file priv_aamp.cpp.

◆ GetPeriodScaledPtoStartTime()

PrivateInstanceAAMP::GetPeriodScaledPtoStartTime ( void  )

GetPeriodScaledPtoStartTime.

Returns
double

Definition at line 11736 of file priv_aamp.cpp.

◆ LoadFogConfig()

PrivateInstanceAAMP::LoadFogConfig ( void  )

LoadFogConfig - Load needed player Config to Fog.

return long error code

Definition at line 11791 of file priv_aamp.cpp.

◆ LoadAampAbrConfig()

PrivateInstanceAAMP::LoadAampAbrConfig ( void  )

-To Load needed config from player to aampabr

To pass player config to aampabr.

return none

Definition at line 11969 of file priv_aamp.cpp.

◆ GetPlaybackStats()

std::string PrivateInstanceAAMP::GetPlaybackStats ( )

Get playback stats for the session so far.

Returns
the json string represenign the playback stats

Definition at line 11744 of file priv_aamp.cpp.

◆ GetCurrentAudioTrackId()

PrivateInstanceAAMP::GetCurrentAudioTrackId ( void  )

Get the Current Audio Track Id Currently it is implimented for AC4 track selection only.

Returns
int return the index number of current audio track selected

Definition at line 2810 of file priv_aamp.cpp.

◆ HandleSSLWriteCallback()

size_t PrivateInstanceAAMP::HandleSSLWriteCallback ( char *  ptr,
size_t  size,
size_t  nmemb,
void *  userdata 
)

HandleSSLWriteCallback - Handle write callback from CURL.

Parameters
ptrpointer to buffer containing the data
sizesize of the buffer
nmembnumber of bytes
userdataCurlCallbackContext pointer
Return values
sizeconsumed or 0 if interrupted

Definition at line 770 of file priv_aamp.cpp.

◆ HandleSSLProgressCallback()

int PrivateInstanceAAMP::HandleSSLProgressCallback ( void *  clientp,
double  dltotal,
double  dlnow,
double  ultotal,
double  ulnow 
)

HandleSSLProgressCallback - Process progress callback from CURL.

Parameters
clientpopaque context passed by caller
dltotaltotal number of bytes libcurl expects to download
dlnownumber of bytes downloaded so far
ultotaltotal number of bytes libcurl expects to upload
ulnownumber of bytes uploaded so far
Return values
-1to cancel in progress download
Parameters
clientpapp-specific as optionally set with CURLOPT_PROGRESSDATA
dltotaltotal bytes expected to download
dlnowdownloaded bytes so far
ultotaltotal bytes expected to upload
ulnowuploaded bytes so far
Return values
negativevalue to abort, zero otherwise

Definition at line 1116 of file priv_aamp.cpp.

◆ HandleSSLHeaderCallback()

size_t PrivateInstanceAAMP::HandleSSLHeaderCallback ( const char *  ptr,
size_t  size,
size_t  nmemb,
void *  userdata 
)

HandleSSLHeaderCallback - Hanlde header callback from SSL.

Parameters
ptrpointer to buffer containing the data
sizesize of the buffer
nmembnumber of bytes
user_dataCurlCallbackContext pointer
Return values
returnssize * nmemb

Definition at line 863 of file priv_aamp.cpp.

◆ IsWideVineKIDWorkaround()

PrivateInstanceAAMP::IsWideVineKIDWorkaround ( const std::string  url)
private

get the SkyDE Store workaround

Parameters
[in]url- url info
Returns
true/false

Definition at line 11403 of file priv_aamp.cpp.

◆ LazilyLoadConfigIfNeeded()

void PrivateInstanceAAMP::LazilyLoadConfigIfNeeded ( void  )
private

Load the configuration lazily.

Returns
void

◆ ExtractServiceZone()

PrivateInstanceAAMP::ExtractServiceZone ( std::string  url)
private

updates mServiceZone (service zone) member with string extracted from locator &sz URI parameter

Parameters
url- stream url with vss service zone info as query string
Returns
std::string

Definition at line 5992 of file priv_aamp.cpp.

◆ ScheduleEvent()

void PrivateInstanceAAMP::ScheduleEvent ( struct AsyncEventDescriptor e)
private

Schedule Event.

Parameters
[in]e- Pointer to the event descriptor
Returns
void

◆ DeliverAdEvents()

PrivateInstanceAAMP::DeliverAdEvents ( bool  immediate = false)
private

Deliver all pending Ad events to JSPP.

Returns
void

Definition at line 8897 of file priv_aamp.cpp.

◆ GetContentTypString()

PrivateInstanceAAMP::GetContentTypString ( )
private

Set Content Type.

Returns
string

Definition at line 6022 of file priv_aamp.cpp.

◆ NotifySinkBufferFull()

PrivateInstanceAAMP::NotifySinkBufferFull ( MediaType  type)
private

Notify about sink buffer full.

Returns
void

Definition at line 6105 of file priv_aamp.cpp.

◆ ExtractDrmInitData()

PrivateInstanceAAMP::ExtractDrmInitData ( const char *  url)
private

Extract DRM init data from the provided URL If present, the init data will be removed from the returned URL and provided as a separate string.

Returns
tuple containing the modified URL and DRM init data

Definition at line 6204 of file priv_aamp.cpp.

◆ ConfigureWithLocalOptions()

void PrivateInstanceAAMP::ConfigureWithLocalOptions ( )
private

Set local configurations to variables.

Returns
void

◆ DiscontinuitySeenInAllTracks()

bool PrivateInstanceAAMP::DiscontinuitySeenInAllTracks ( )
private

Check if discontinuity processed in all tracks.

Returns
true if discontinuity processed in all track

Definition at line 10706 of file priv_aamp.cpp.

◆ DiscontinuitySeenInAnyTracks()

PrivateInstanceAAMP::DiscontinuitySeenInAnyTracks ( )
private

Check if discontinuity processed in any track.

Returns
true if discontinuity processed in any track

Definition at line 10720 of file priv_aamp.cpp.

◆ ResetDiscontinuityInTracks()

PrivateInstanceAAMP::ResetDiscontinuityInTracks ( )
private

Reset discontinuity flag for all tracks.

Returns
void

Definition at line 10734 of file priv_aamp.cpp.

◆ HasSidecarData()

PrivateInstanceAAMP::HasSidecarData ( )
private

check if sidecar data available

Returns
true if sidecar data available

Definition at line 12004 of file priv_aamp.cpp.

Field Documentation

◆ mLock

pthread_mutex_t PrivateInstanceAAMP::mLock

= PTHREAD_MUTEX_INITIALIZER;

Definition at line 803 of file priv_aamp.h.

◆ mParallelPlaylistFetchLock

pthread_mutex_t PrivateInstanceAAMP::mParallelPlaylistFetchLock

mutex lock for parallel fetch

Definition at line 805 of file priv_aamp.h.

◆ mpStreamAbstractionAAMP

class StreamAbstractionAAMP* PrivateInstanceAAMP::mpStreamAbstractionAAMP

HLS or MPD collector

Definition at line 807 of file priv_aamp.h.

◆ mCdaiObject

class CDAIObject* PrivateInstanceAAMP::mCdaiObject

Client Side DAI Object

Definition at line 808 of file priv_aamp.h.

◆ mAdEventsQ

std::queue<AAMPEventPtr> PrivateInstanceAAMP::mAdEventsQ

A Queue of Ad events

Definition at line 809 of file priv_aamp.h.

◆ mAdEventQMtx

std::mutex PrivateInstanceAAMP::mAdEventQMtx

Add events' queue protector

Definition at line 810 of file priv_aamp.h.

◆ mInitSuccess

bool PrivateInstanceAAMP::mInitSuccess

TODO: Need to replace with player state

Definition at line 811 of file priv_aamp.h.

◆ mPreviousAudioType

StreamOutputFormat PrivateInstanceAAMP::mPreviousAudioType

Used to maintain previous audio type of HLS playback

Definition at line 814 of file priv_aamp.h.

◆ mhAbrManager

HybridABRManager PrivateInstanceAAMP::mhAbrManager

Pointer to Hybrid abr manager

Definition at line 820 of file priv_aamp.h.

◆ previousAudioType

AudioType PrivateInstanceAAMP::previousAudioType

Used to maintain previous audio type

Definition at line 823 of file priv_aamp.h.

◆ mOrigManifestUrl

AampURLInfoStruct PrivateInstanceAAMP::mOrigManifestUrl

Original Manifest URl

Definition at line 836 of file priv_aamp.h.

◆ mIsWVKIDWorkaround

bool PrivateInstanceAAMP::mIsWVKIDWorkaround

Widevine KID workaround flag

Definition at line 839 of file priv_aamp.h.

◆ mPreCacheDnldTimeWindow

int PrivateInstanceAAMP::mPreCacheDnldTimeWindow

Stores PreCaching timewindow

Definition at line 840 of file priv_aamp.h.

◆ mCMCDNextObjectRequest

std::string PrivateInstanceAAMP::mCMCDNextObjectRequest

store the next next fragment url

Definition at line 847 of file priv_aamp.h.

◆ mCMCDBandwidth

long PrivateInstanceAAMP::mCMCDBandwidth

store the audio bandwidth

Definition at line 848 of file priv_aamp.h.

◆ mPausePositionMilliseconds

volatile std::atomic<long long> PrivateInstanceAAMP::mPausePositionMilliseconds

Requested pause position, can be 0 or more, or AAMP_PAUSE_POSITION_INVALID_POSITION

Definition at line 952 of file priv_aamp.h.

◆ seek_pos_seconds

double PrivateInstanceAAMP::seek_pos_seconds

indicates the playback position at which most recent playback activity began

Definition at line 954 of file priv_aamp.h.

◆ rate

float PrivateInstanceAAMP::rate

most recent (non-zero) play rate for non-paused content

Definition at line 955 of file priv_aamp.h.

◆ pipeline_paused

bool PrivateInstanceAAMP::pipeline_paused

true if pipeline is paused

Definition at line 958 of file priv_aamp.h.

◆ mLanguageList

char PrivateInstanceAAMP::mLanguageList[16][42]

list of languages in stream

Definition at line 961 of file priv_aamp.h.

◆ mCurrentLanguageIndex

int PrivateInstanceAAMP::mCurrentLanguageIndex

Index of current selected lang in mLanguageList, this is used for VideoStat event data collection

Definition at line 962 of file priv_aamp.h.

◆ preferredLanguagesString

std::string PrivateInstanceAAMP::preferredLanguagesString

unparsed string with preferred languages in format "lang1,lang2,.."

Definition at line 964 of file priv_aamp.h.

◆ preferredLanguagesList

std::vector<std::string> PrivateInstanceAAMP::preferredLanguagesList

list of preferred languages from most-preferred to the least

Definition at line 965 of file priv_aamp.h.

◆ preferredRenditionString

std::string PrivateInstanceAAMP::preferredRenditionString

unparsed string with preferred renditions in format "rendition1,rendition2,.."

Definition at line 966 of file priv_aamp.h.

◆ preferredRenditionList

std::vector<std::string> PrivateInstanceAAMP::preferredRenditionList

list of preferred rendition from most-preferred to the least

Definition at line 967 of file priv_aamp.h.

◆ preferredLabelsString

std::string PrivateInstanceAAMP::preferredLabelsString

unparsed string with preferred labels in format "lang1,lang2,.."

Definition at line 968 of file priv_aamp.h.

◆ preferredLabelList

std::vector<std::string> PrivateInstanceAAMP::preferredLabelList

list of preferred labels from most-preferred to the least

Definition at line 969 of file priv_aamp.h.

◆ preferredTypeString

std::string PrivateInstanceAAMP::preferredTypeString

unparsed string with preferred accessibility type

Definition at line 970 of file priv_aamp.h.

◆ preferredCodecString

std::string PrivateInstanceAAMP::preferredCodecString

unparsed string with preferred codecs in format "codec1,codec2,.."

Definition at line 971 of file priv_aamp.h.

◆ preferredCodecList

std::vector<std::string> PrivateInstanceAAMP::preferredCodecList

String array to store codec preference

Definition at line 972 of file priv_aamp.h.

◆ preferredTextLanguagesString

std::string PrivateInstanceAAMP::preferredTextLanguagesString

unparsed string with preferred languages in format "lang1,lang2,.."

Definition at line 973 of file priv_aamp.h.

◆ preferredTextLanguagesList

std::vector<std::string> PrivateInstanceAAMP::preferredTextLanguagesList

list of preferred text languages from most-preferred to the least

Definition at line 974 of file priv_aamp.h.

◆ preferredTextRenditionString

std::string PrivateInstanceAAMP::preferredTextRenditionString

String value for rendition

Definition at line 975 of file priv_aamp.h.

◆ preferredTextTypeString

std::string PrivateInstanceAAMP::preferredTextTypeString

String value for text type

Definition at line 976 of file priv_aamp.h.

◆ preferredTextLabelString

std::string PrivateInstanceAAMP::preferredTextLabelString

String value for text type

Definition at line 977 of file priv_aamp.h.

◆ preferredTextAccessibilityNode

Accessibility PrivateInstanceAAMP::preferredTextAccessibilityNode

Preferred Accessibility Node for Text

Definition at line 979 of file priv_aamp.h.

◆ preferredAudioAccessibilityNode

Accessibility PrivateInstanceAAMP::preferredAudioAccessibilityNode

Preferred Accessibility Node for Audio

Definition at line 980 of file priv_aamp.h.

◆ mAudioTuple

AudioTrackTuple PrivateInstanceAAMP::mAudioTuple

Depricated

Definition at line 981 of file priv_aamp.h.

◆ mIsIframeTrackPresent

bool PrivateInstanceAAMP::mIsIframeTrackPresent

flag to check iframe track availability

Definition at line 993 of file priv_aamp.h.

◆ IsTuneTypeNew

bool PrivateInstanceAAMP::IsTuneTypeNew

Flag for the eTUNETYPE_NEW_NORMAL

Definition at line 996 of file priv_aamp.h.

◆ mLogTimetoTopProfile

bool PrivateInstanceAAMP::mLogTimetoTopProfile

Flag for logging time to top profile ,only one time after tune .

Definition at line 998 of file priv_aamp.h.

◆ waitforplaystart

pthread_cond_t PrivateInstanceAAMP::waitforplaystart

Signaled after playback starts

Definition at line 999 of file priv_aamp.h.

◆ mMutexPlaystart

pthread_mutex_t PrivateInstanceAAMP::mMutexPlaystart

Mutex associated with playstart

Definition at line 1000 of file priv_aamp.h.

◆ mAdCurOffset

uint32_t PrivateInstanceAAMP::mAdCurOffset

Start position in percentage

Definition at line 1014 of file priv_aamp.h.

◆ mIsVSS

bool PrivateInstanceAAMP::mIsVSS

Indicates if stream is VSS, updated during Tune

Definition at line 1021 of file priv_aamp.h.

◆ curlDLTimeout

long PrivateInstanceAAMP::curlDLTimeout[eCURLINSTANCE_MAX]

To store donwload timeout of each curl instance

Definition at line 1022 of file priv_aamp.h.

◆ mPlayerPreBuffered

bool PrivateInstanceAAMP::mPlayerPreBuffered

Player changed from BG to FG

Definition at line 1024 of file priv_aamp.h.

◆ mDrmDecryptFailCount

int PrivateInstanceAAMP::mDrmDecryptFailCount

Sets retry count for DRM decryption failure

Definition at line 1026 of file priv_aamp.h.

◆ mCurrentAudioTrackId

int PrivateInstanceAAMP::mCurrentAudioTrackId

Current audio track id read from trak box of init fragment

Definition at line 1028 of file priv_aamp.h.

◆ mCurrentVideoTrackId

int PrivateInstanceAAMP::mCurrentVideoTrackId

Current video track id read from trak box of init fragment

Definition at line 1029 of file priv_aamp.h.

◆ mIsTrackIdMismatch

bool PrivateInstanceAAMP::mIsTrackIdMismatch

Indicate track_id mismatch in the trak box between periods

Definition at line 1030 of file priv_aamp.h.

◆ mIsDefaultOffset

bool PrivateInstanceAAMP::mIsDefaultOffset

Playback offset is not specified and we are using the default value/behaviour

Definition at line 1032 of file priv_aamp.h.

◆ mEncryptedPeriodFound

bool PrivateInstanceAAMP::mEncryptedPeriodFound

Will be set if an encrypted pipeline is found while pipeline is clear

Definition at line 1033 of file priv_aamp.h.

◆ mPipelineIsClear

bool PrivateInstanceAAMP::mPipelineIsClear

To keep the status of pipeline (whether configured for clear or not)

Definition at line 1034 of file priv_aamp.h.

◆ mbPlayEnabled

bool PrivateInstanceAAMP::mbPlayEnabled

Send buffer to pipeline or just cache them

Definition at line 1043 of file priv_aamp.h.

◆ mPlaylistFetchFailError

long PrivateInstanceAAMP::mPlaylistFetchFailError

To store HTTP error code when playlist download fails

Definition at line 1049 of file priv_aamp.h.

◆ mAudioDecoderStreamSync

bool PrivateInstanceAAMP::mAudioDecoderStreamSync

BCOM-4203: Flag to set or clear 'stream_sync_mode' property in gst brcmaudiodecoder, default: True

Definition at line 1050 of file priv_aamp.h.

◆ mSessionToken

std::string PrivateInstanceAAMP::mSessionToken

Field to set session token for player

Definition at line 1052 of file priv_aamp.h.

◆ midFragmentSeekCache

bool PrivateInstanceAAMP::midFragmentSeekCache

RDK-26957: To find if cache is updated when seeked to mid fragment boundary

Definition at line 1053 of file priv_aamp.h.

◆ mTsbRecordingId

std::string PrivateInstanceAAMP::mTsbRecordingId

Recording ID of current TSB

Definition at line 1056 of file priv_aamp.h.

◆ mPausedBehavior

PausedBehavior PrivateInstanceAAMP::mPausedBehavior

Player paused state behavior for linear

Definition at line 1059 of file priv_aamp.h.

◆ mJumpToLiveFromPause

bool PrivateInstanceAAMP::mJumpToLiveFromPause

Flag used to jump to live position from paused position

Definition at line 1060 of file priv_aamp.h.

◆ mSeekFromPausedState

bool PrivateInstanceAAMP::mSeekFromPausedState

Flag used to seek to live/culled position from SetRate()

Definition at line 1061 of file priv_aamp.h.

◆ mDisplayWidth

int PrivateInstanceAAMP::mDisplayWidth

Display resolution width

Definition at line 1062 of file priv_aamp.h.

◆ mDisplayHeight

int PrivateInstanceAAMP::mDisplayHeight

Display resolution height

Definition at line 1063 of file priv_aamp.h.

◆ mProfileCappedStatus

bool PrivateInstanceAAMP::mProfileCappedStatus

Profile capped status by resolution or bitrate

Definition at line 1064 of file priv_aamp.h.

◆ mProgressReportOffset

double PrivateInstanceAAMP::mProgressReportOffset

Offset time for progress reporting

Definition at line 1065 of file priv_aamp.h.

◆ mAbsoluteEndPosition

double PrivateInstanceAAMP::mAbsoluteEndPosition

Live Edge position for absolute reporting

Definition at line 1066 of file priv_aamp.h.

◆ mbUsingExternalPlayer

bool PrivateInstanceAAMP::mbUsingExternalPlayer

Playback using external players eg:OTA, HDMIIN,Composite

Definition at line 1069 of file priv_aamp.h.

◆ lastId3DataLen

int32_t PrivateInstanceAAMP::lastId3DataLen[eMEDIATYPE_DEFAULT]

last sent ID3 data length

Definition at line 1070 of file priv_aamp.h.

◆ lastId3Data

uint8_t* PrivateInstanceAAMP::lastId3Data[eMEDIATYPE_DEFAULT]

ptr with last sent ID3 data

Definition at line 1071 of file priv_aamp.h.

◆ mbDetached

bool PrivateInstanceAAMP::mbDetached

Flag to denote setRate call if that called after detach

Definition at line 1073 of file priv_aamp.h.

◆ mbSeeked

bool PrivateInstanceAAMP::mbSeeked

Flag to inidicate play after seek

Definition at line 1074 of file priv_aamp.h.

◆ mNextPeriodDuration

double PrivateInstanceAAMP::mNextPeriodDuration

Keep Next Period duration

Definition at line 1076 of file priv_aamp.h.

◆ mNextPeriodStartTime

double PrivateInstanceAAMP::mNextPeriodStartTime

Keep Next Period Start Time

Definition at line 1077 of file priv_aamp.h.

◆ mNextPeriodScaledPtoStartTime

double PrivateInstanceAAMP::mNextPeriodScaledPtoStartTime

Keep Next Period Start Time as per PTO

Definition at line 1078 of file priv_aamp.h.

◆ mDiscoCompleteLock

pthread_mutex_t PrivateInstanceAAMP::mDiscoCompleteLock

Lock the period jump if discontinuity already in progress

Definition at line 1080 of file priv_aamp.h.

◆ mWaitForDiscoToComplete

pthread_cond_t PrivateInstanceAAMP::mWaitForDiscoToComplete

Conditional wait for period jump

Definition at line 1081 of file priv_aamp.h.

◆ mIsPeriodChangeMarked

bool PrivateInstanceAAMP::mIsPeriodChangeMarked

Mark if a period change occurred

Definition at line 1082 of file priv_aamp.h.

◆ mOffsetFromTunetimeForSAPWorkaround

double PrivateInstanceAAMP::mOffsetFromTunetimeForSAPWorkaround

current playback position in epoch

Definition at line 1086 of file priv_aamp.h.

◆ mSupportedTLSVersion

long PrivateInstanceAAMP::mSupportedTLSVersion

ssl/TLS default version

Definition at line 1088 of file priv_aamp.h.

◆ mFailureReason

std::string PrivateInstanceAAMP::mFailureReason

String to hold the tune failure reason

Definition at line 1089 of file priv_aamp.h.

◆ mTimedMetadataStartTime

long long PrivateInstanceAAMP::mTimedMetadataStartTime

Start time to report TimedMetadata

Definition at line 1090 of file priv_aamp.h.

◆ playerStartedWithTrickPlay

bool PrivateInstanceAAMP::playerStartedWithTrickPlay

To indicate player switch happened in trickplay rate

Definition at line 1092 of file priv_aamp.h.

◆ userProfileStatus

bool PrivateInstanceAAMP::userProfileStatus

Select profile based on user list

Definition at line 1093 of file priv_aamp.h.

◆ mApplyCachedVideoMute

bool PrivateInstanceAAMP::mApplyCachedVideoMute

To apply vidoeMute() operations if it has been cached due to tune in progress

Definition at line 1094 of file priv_aamp.h.

◆ mcurrent_keyIdArray

std::vector<uint8_t> PrivateInstanceAAMP::mcurrent_keyIdArray

Current KeyID for DRM license

Definition at line 1095 of file priv_aamp.h.

◆ mDynamicDrmDefaultconfig

DynamicDrmInfo PrivateInstanceAAMP::mDynamicDrmDefaultconfig

Init drmConfig stored as default config

Definition at line 1096 of file priv_aamp.h.

◆ mAudioOnlyPb

bool PrivateInstanceAAMP::mAudioOnlyPb

To indicate Audio Only Playback

Definition at line 1102 of file priv_aamp.h.

◆ mVideoOnlyPb

bool PrivateInstanceAAMP::mVideoOnlyPb

To indicate Video Only Playback

Definition at line 1103 of file priv_aamp.h.

◆ mCurrentAudioTrackIndex

int PrivateInstanceAAMP::mCurrentAudioTrackIndex

Keep current selected audio track index

Definition at line 1104 of file priv_aamp.h.

◆ mCurrentTextTrackIndex

int PrivateInstanceAAMP::mCurrentTextTrackIndex

Keep current selected text track index

Definition at line 1105 of file priv_aamp.h.

◆ mLLActualOffset

double PrivateInstanceAAMP::mLLActualOffset

Actual Offset After Seeking in LL Mode

Definition at line 1106 of file priv_aamp.h.

◆ mIsStream4K

bool PrivateInstanceAAMP::mIsStream4K

Identify whether live playing stream is 4K or not; reset on every retune

Definition at line 1107 of file priv_aamp.h.

◆ seiTimecode

std::string PrivateInstanceAAMP::seiTimecode

SEI Timestamp information from Westeros

Definition at line 1127 of file priv_aamp.h.

◆ mServiceZone

std::string PrivateInstanceAAMP::mServiceZone
private

part of url

Definition at line 4037 of file priv_aamp.h.

◆ mVssVirtualStreamId

std::string PrivateInstanceAAMP::mVssVirtualStreamId
private

part of manifest file

Definition at line 4038 of file priv_aamp.h.

◆ mPlaybackMode

std::string PrivateInstanceAAMP::mPlaybackMode
private

linear or VOD or any other type

Definition at line 4039 of file priv_aamp.h.

◆ mTraceUUID

std::string PrivateInstanceAAMP::mTraceUUID
private

Trace ID unique to tune

Definition at line 4042 of file priv_aamp.h.

◆ mPlaybackDuration

double PrivateInstanceAAMP::mPlaybackDuration
private

Stores Total of duration of VideoDownloaded, it is not accurate playback duration but best way to find playback duration

Definition at line 4046 of file priv_aamp.h.

◆ mEventManager

AampEventManager* PrivateInstanceAAMP::mEventManager
private

flag dentoes if progress reporting is in execution from ProcessPendingDiscontinuity

Definition at line 4051 of file priv_aamp.h.

◆ mMinInitialCacheSeconds

int PrivateInstanceAAMP::mMinInitialCacheSeconds
private

Minimum cached duration before playing in seconds

Definition at line 4053 of file priv_aamp.h.

◆ mDrmInitData

std::string PrivateInstanceAAMP::mDrmInitData
private

DRM init data from main manifest URL (if present)

Definition at line 4054 of file priv_aamp.h.

◆ mFragmentCachingRequired

bool PrivateInstanceAAMP::mFragmentCachingRequired
private

True if fragment caching is required or ongoing

Definition at line 4055 of file priv_aamp.h.

◆ mFragmentCachingLock

pthread_mutex_t PrivateInstanceAAMP::mFragmentCachingLock
private

To sync fragment initial caching operations

Definition at line 4056 of file priv_aamp.h.

◆ mPauseOnFirstVideoFrameDisp

bool PrivateInstanceAAMP::mPauseOnFirstVideoFrameDisp
private

True if pause AAMP after displaying first video frame

Definition at line 4057 of file priv_aamp.h.

◆ mPreferredTextTrack

TextTrackInfo PrivateInstanceAAMP::mPreferredTextTrack
private

Preferred text track from available tracks in asset

Definition at line 4059 of file priv_aamp.h.

◆ mFirstVideoFrameDisplayedEnabled

bool PrivateInstanceAAMP::mFirstVideoFrameDisplayedEnabled
private

Set True to enable call to NotifyFirstVideoFrameDisplayed() from Sink

Definition at line 4060 of file priv_aamp.h.

◆ mManifestRefreshCount

unsigned int PrivateInstanceAAMP::mManifestRefreshCount
private

counter which keeps the count of manifest/Playlist success refresh

Definition at line 4061 of file priv_aamp.h.

◆ mAutoResumeTaskId

guint PrivateInstanceAAMP::mAutoResumeTaskId
private

handler id for auto resume idle callback

Definition at line 4063 of file priv_aamp.h.

◆ mScheduler

AampScheduler* PrivateInstanceAAMP::mScheduler
private

instance to schedule async tasks

Definition at line 4064 of file priv_aamp.h.

◆ mEventLock

pthread_mutex_t PrivateInstanceAAMP::mEventLock
private

lock for operation on mPendingAsyncEvents

Definition at line 4065 of file priv_aamp.h.

◆ mEventPriority

int PrivateInstanceAAMP::mEventPriority
private

priority for async events

Definition at line 4066 of file priv_aamp.h.

◆ mStreamLock

pthread_mutex_t PrivateInstanceAAMP::mStreamLock
private

Mutex for accessing mpStreamAbstractionAAMP

Definition at line 4067 of file priv_aamp.h.

◆ mHarvestCountLimit

int PrivateInstanceAAMP::mHarvestCountLimit
private

Harvest count

Definition at line 4068 of file priv_aamp.h.

◆ mHarvestConfig

int PrivateInstanceAAMP::mHarvestConfig
private

Harvest config

Definition at line 4069 of file priv_aamp.h.

◆ mAuxAudioLanguage

std::string PrivateInstanceAAMP::mAuxAudioLanguage
private

auxiliary audio language

Definition at line 4070 of file priv_aamp.h.

◆ mAampLLDashServiceData

AampLLDashServiceData PrivateInstanceAAMP::mAampLLDashServiceData
private

Low Latency Service Configuration Data

Definition at line 4072 of file priv_aamp.h.

◆ mLLDashCurrentPlayRate

double PrivateInstanceAAMP::mLLDashCurrentPlayRate
private

Low Latency Current play Rate

Definition at line 4075 of file priv_aamp.h.

◆ mApplyVideoRect

bool PrivateInstanceAAMP::mApplyVideoRect
private

Status to apply stored video rectagle

Definition at line 4084 of file priv_aamp.h.


The documentation for this class was generated from the following files: