RDK Documentation (Open Sourced RDK Components)
StreamAbstractionAAMP Class Referenceabstract

StreamAbstraction class of AAMP. More...

#include <StreamAbstractionAAMP.h>

Inheritance diagram for StreamAbstractionAAMP:
Inheritance graph
Collaboration diagram for StreamAbstractionAAMP:
Collaboration graph

Public Member Functions

 StreamAbstractionAAMP (AampLogManager *logObj, PrivateInstanceAAMP *aamp)
 StreamAbstractionAAMP constructor.
 
virtual ~StreamAbstractionAAMP ()
 StreamAbstractionAAMP destructor.
 
 StreamAbstractionAAMP (const StreamAbstractionAAMP &)=delete
 StreamAbstractionAAMP Copy Constructor.
 
StreamAbstractionAAMPoperator= (const StreamAbstractionAAMP &)=delete
 StreamAbstractionAAMP assignment operator overloading.
 
virtual void DumpProfiles (void)=0
 Dump profiles for debugging. To be implemented by sub classes. More...
 
virtual AAMPStatusType Init (TuneType tuneType)=0
 Initialize a newly created object. To be implemented by sub classes. More...
 
virtual void Start ()=0
 Start streaming. More...
 
virtual void Stop (bool clearChannelData)=0
 Stops streaming. More...
 
virtual void GetStreamFormat (StreamOutputFormat &primaryOutputFormat, StreamOutputFormat &audioOutputFormat, StreamOutputFormat &auxAudioOutputFormat, StreamOutputFormat &subtitleOutputFormat)=0
 Get output format of stream. More...
 
virtual double GetStreamPosition ()=0
 Get current stream position. More...
 
virtual double GetFirstPTS ()=0
 Get PTS of first sample. More...
 
virtual double GetStartTimeOfFirstPTS ()=0
 Get Start time PTS of first sample. More...
 
virtual MediaTrackGetMediaTrack (TrackType type)=0
 Return MediaTrack of requested type. More...
 
void WaitForVideoTrackCatchup ()
 Waits audio track injection until caught up with video track. Used internally by injection logic. More...
 
void ReassessAndResumeAudioTrack (bool abort)
 Unblock track if caught up with video or downloads are stopped. More...
 
void SetTsbBandwidth (long tsbBandwidth)
 When TSB is involved, use this to set bandwidth to be reported. More...
 
long GetTsbBandwidth ()
 When TSB is involved, use this to get bandwidth to be reported. More...
 
void SetESChangeStatus (void)
 Set elementary stream type change status for reconfigure the pipeline. More...
 
void ResetESChangeStatus (void)
 Reset elementary stream type change status once the pipeline reconfigured. More...
 
bool GetESChangeStatus (void)
 Get elementary stream type change status for reconfigure the pipeline.. More...
 
bool RampDownProfile (long http_error)
 Rampdown profile. More...
 
void GetDesiredProfileOnBuffer (int currProfileIndex, int &newProfileIndex)
 Get Desired Profile based on Buffer availability. More...
 
void GetDesiredProfileOnSteadyState (int currProfileIndex, int &newProfileIndex, long nwBandwidth)
 Get Desired Profile on steady state. More...
 
void ConfigureTimeoutOnBuffer ()
 Configure download timeouts based on buffer. More...
 
virtual double GetBufferedDuration (void)=0
 Function to get the buffer duration of stream. More...
 
bool IsLowestProfile (int currentProfileIndex)
 Check whether the current profile is lowest. More...
 
long getOriginalCurlError (long http_error)
 Convert custom curl errors to original. More...
 
bool CheckForRampDownProfile (long http_error)
 Check for ramdown profile. More...
 
void CheckForProfileChange (void)
 Checks and update profile based on bandwidth. More...
 
int GetIframeTrack ()
 Get iframe track index. This shall be called only after UpdateIframeTracks() is done. More...
 
void UpdateIframeTracks ()
 Update iframe tracks. Subclasses shall invoke this after StreamInfo is populated . More...
 
double LastVideoFragParsedTimeMS (void)
 Get the last video fragment parsed time. More...
 
int GetDesiredProfile (bool getMidProfile)
 Get the desired profile to start fetching. More...
 
void UpdateRampdownProfileReason (void)
 Update rampdown profile on network failure. More...
 
void NotifyBitRateUpdate (int profileIndex, const StreamInfo &cacheFragStreamInfo, double position)
 Notify bitrate updates to application. Used internally by injection logic. More...
 
virtual bool IsInitialCachingSupported ()
 Check if Initial Fragment Caching is supported. More...
 
bool IsStreamerAtLivePoint ()
 Whether we are playing at live point or not. More...
 
virtual bool Is4KStream (int &height, long &bandwidth)=0
 check if current stream have 4K content More...
 
virtual bool GetPreferredLiveOffsetFromConfig ()
 Set the offset value Live object. More...
 
virtual void NotifyPlaybackPaused (bool paused)
 Function called when playback is paused to update related flags. More...
 
bool CheckIfPlayerRunningDry (void)
 Check if player caches are running dry. More...
 
void CheckForPlaybackStall (bool fragmentParsed)
 Check if playback has stalled and update related flags. More...
 
void NotifyFirstFragmentInjected (void)
 MediaTracks shall call this to notify first fragment is injected. More...
 
double GetElapsedTime ()
 Get elapsed time of play-back. More...
 
virtual double GetFirstPeriodStartTime ()
 
virtual double GetFirstPeriodDynamicStartTime ()
 
virtual uint32_t GetCurrPeriodTimeScale ()
 
bool CheckForRampDownLimitReached ()
 Check for ramp down limit reached by player. More...
 
int GetMaxBWProfile ()
 Get profile index of highest bandwidth. More...
 
virtual int GetBWIndex (long bandwidth)=0
 Get profile index of given bandwidth. More...
 
ABRManager & GetABRManager ()
 Get the ABRManager reference. More...
 
virtual int GetProfileCount ()
 Get number of profiles/ representations from subclass. More...
 
virtual int GetProfileIndexForBandwidth (long mTsbBandwidth)
 Get profile index for TsbBandwidth. More...
 
long GetCurProfIdxBW ()
 
virtual long GetMaxBitrate ()
 Gets Max bitrate supported. More...
 
long GetVideoBitrate (void)
 Get the bitrate of current video profile selected. More...
 
long GetAudioBitrate (void)
 Get the bitrate of current audio profile selected. More...
 
void SetVideoBitrate (long bitrate)
 Set a preferred bitrate for video. More...
 
virtual std::vector< long > GetVideoBitrates (void)=0
 Get available video bitrates. More...
 
virtual std::vector< long > GetAudioBitrates (void)=0
 Get available audio bitrates. More...
 
bool IsStreamerStalled (void)
 Check if playback stalled in fragment collector side. More...
 
virtual void StopInjection (void)=0
 Stop injection of fragments.
 
virtual void StartInjection (void)=0
 Start injection of fragments.
 
bool IsMuxedStream ()
 Check if current stream is muxed. More...
 
virtual void NotifyFirstVideoPTS (unsigned long long pts, unsigned long timeScale)
 Receives first video PTS for the current playback. More...
 
virtual void StartSubtitleParser ()
 Kicks off subtitle display - sent at start of video presentation. More...
 
virtual void PauseSubtitleParser (bool pause)
 Pause/unpause subtitles. More...
 
void WaitForAudioTrackCatchup (void)
 Waits subtitle track injection until caught up with muxed/audio track. Used internally by injection logic. More...
 
void AbortWaitForAudioTrackCatchup (bool force)
 Unblock subtitle track injector if downloads are stopped. More...
 
virtual void SetCDAIObject (CDAIObject *cdaiObj)
 Set Client Side DAI object instance. More...
 
virtual bool IsEOSReached ()
 Checks if streamer reached end of stream. More...
 
virtual std::vector< AudioTrackInfo > & GetAvailableAudioTracks (bool allTrack=false)
 Get available audio tracks. More...
 
virtual std::vector< TextTrackInfo > & GetAvailableTextTracks (bool allTrack=false)
 Get available text tracks. More...
 
virtual void SeekPosUpdate (double secondsRelativeToTuneTime)=0
 Update seek position when player is initialized. More...
 
double GetLastInjectedFragmentPosition ()
 Function to returns last injected fragment position. More...
 
bool ProcessDiscontinuity (TrackType type)
 Function to process discontinuity. More...
 
void AbortWaitForDiscontinuity ()
 Function to abort any wait for discontinuity by injector theads. More...
 
void CheckForMediaTrackInjectionStall (TrackType type)
 Function to check if any media tracks are stalled on discontinuity. More...
 
double GetBufferedVideoDurationSec ()
 Get buffered video duration in seconds. More...
 
void UpdateStreamInfoBitrateData (int profileIndex, StreamInfo &cacheFragStreamInfo)
 Function to update stream info of current fetched fragment. More...
 
virtual int GetAudioTrack ()
 Get current audio track. More...
 
virtual bool GetCurrentAudioTrack (AudioTrackInfo &audioTrack)
 Get current audio track information. More...
 
virtual bool GetCurrentTextTrack (TextTrackInfo &textTrack)
 Get current text track. More...
 
int GetTextTrack ()
 Get current text track. More...
 
void RefreshSubtitles ()
 Refresh subtitle track. More...
 
virtual void SetVideoRectangle (int x, int y, int w, int h)
 setVideoRectangle sets the position coordinates (x,y) & size (w,h) for OTA streams only More...
 
virtual std::vector< StreamInfo * > GetAvailableVideoTracks (void)=0
 
virtual std::vector< StreamInfo * > GetAvailableThumbnailTracks (void)=0
 Get available thumbnail bitrates. More...
 
virtual bool SetThumbnailTrack (int)=0
 Set thumbnail bitrate. More...
 
virtual std::vector< ThumbnailDataGetThumbnailRangeData (double, double, std::string *, int *, int *, int *, int *)=0
 Get thumbnail data for duration value. More...
 
virtual void SetAudioTrack (int index)
 SetAudioTrack set the audio track using index value. [currently for OTA]. More...
 
virtual void SetAudioTrackByLanguage (const char *lang)
 SetAudioTrackByLanguage set the audio language. [currently for OTA]. More...
 
virtual void SetPreferredAudioLanguages ()
 SetPreferredAudioLanguages set the preferred audio languages and rendition. [currently for OTA]. More...
 
void MuteSubtitles (bool mute)
 Send a MUTE/UNMUTE packet to the subtitle renderer. More...
 
void WaitForVideoTrackCatchupForAux ()
 
virtual void ApplyContentRestrictions (std::vector< std::string > restrictions)
 Set Content Restrictions. More...
 
virtual void DisableContentRestrictions (long grace, long time, bool eventChange)
 Disable Content Restrictions - unlock. More...
 
virtual void EnableContentRestrictions ()
 Enable Content Restrictions - lock. More...
 
bool GetAudioFwdToAuxStatus ()
 Get audio forward to aux pipeline status. More...
 
void SetAudioFwdToAuxStatus (bool status)
 Set audio forward to aux pipeline status. More...
 
virtual void SetAudioTrackInfoFromMuxedStream (std::vector< AudioTrackInfo > &vector)
 Set AudioTrack info from Muxed stream. More...
 
void SetCurrentAudioTrackIndex (std::string &index)
 Set current audio track index. More...
 
virtual void ChangeMuxedAudioTrackIndex (std::string &index)
 Change muxed audio track index. More...
 
virtual void InitSubtitleParser (char *data)
 Initilaize subtitle parser for sidecar support. More...
 
virtual void ResetSubtitle ()
 reset subtitle parser created for sidecar support More...
 
virtual void MuteSubtitleOnPause ()
 mute subtitles on pause More...
 
virtual void ResumeSubtitleOnPlay (bool mute, char *data)
 resume subtitles on play More...
 
virtual void MuteSidecarSubtitles (bool mute)
 mute/unmute sidecar subtitles More...
 
virtual void ResumeSubtitleAfterSeek (bool mute, char *data)
 resume subtitles after trickplay More...
 
virtual bool SetTextStyle (const std::string &options)
 Set the text style of the subtitle to the options passed. More...
 

Data Fields

PrivateInstanceAAMPaamp
 
AampLogManagermLogObj
 
bool trickplayMode
 
int currentProfileIndex
 
int currentAudioProfileIndex
 
int currentTextTrackProfileIndex
 
int profileIdxForBandwidthNotification
 
bool hasDrm
 
bool mIsAtLivePoint
 
bool mIsPlaybackStalled
 
bool mNetworkDownDetected
 
bool mCheckForRampdown
 
TuneType mTuneType
 
int mRampDownCount
 
double mProgramStartTime
 
int mTsbMaxBitrateProfileIndex
 

Protected Member Functions

virtual StreamInfoGetStreamInfo (int idx)=0
 Get stream information of a profile from subclass. More...
 

Protected Attributes

std::vector< AudioTrackInfomAudioTracks
 
std::vector< AudioTrackInfomAudioTracksAll
 
std::vector< TextTrackInfomTextTracksAll
 
std::vector< TextTrackInfomTextTracks
 
MediaTrackDiscontinuityState mTrackState
 
std::string mAudioTrackIndex
 
std::string mTextTrackIndex
 
bool mFwdAudioToAux
 

Private Member Functions

int GetDesiredProfileBasedOnCache (void)
 Get desired profile based on cached duration. More...
 
void UpdateProfileBasedOnFragmentDownloaded (void)
 Update profile state based on bandwidth of fragments downloaded. More...
 
bool UpdateProfileBasedOnFragmentCache (void)
 Update profile based on fragment cache. More...
 

Private Attributes

pthread_mutex_t mLock
 
pthread_cond_t mCond
 
pthread_cond_t mSubCond
 
pthread_cond_t mAuxCond
 
long mCurrentBandwidth
 
int mLastVideoFragCheckedforABR
 
long mTsbBandwidth
 
long mNwConsistencyBypass
 
int mABRHighBufferCounter
 
int mABRLowBufferCounter
 
int mMaxBufferCountCheck
 
int mABRMaxBuffer
 
int mABRCacheLength
 
int mABRMinBuffer
 
int mABRNwConsistency
 
bool mESChangeStatus
 
unsigned int mAudiostateChangeCount
 
double mLastVideoFragParsedTimeMS
 
bool mIsPaused
 
long long mTotalPausedDurationMS
 
long long mStartTimeStamp
 
long long mLastPausedTimeStamp
 
pthread_mutex_t mStateLock
 
pthread_cond_t mStateCond
 
int mRampDownLimit
 
BitrateChangeReason mBitrateReason
 

yes

StreamAbstraction class of AAMP.

Definition at line 577 of file StreamAbstractionAAMP.h.

Member Function Documentation

◆ DumpProfiles()

virtual void StreamAbstractionAAMP::DumpProfiles ( void  )
pure virtual

Dump profiles for debugging. To be implemented by sub classes.

Returns
void

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, and StreamAbstractionAAMP_PROGRESSIVE.

◆ Init()

virtual AAMPStatusType StreamAbstractionAAMP::Init ( TuneType  tuneType)
pure virtual

Initialize a newly created object. To be implemented by sub classes.

Parameters
[in]tuneType- to set type of playback.
Returns
true on success, false failure

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, StreamAbstractionAAMP_PROGRESSIVE, StreamAbstractionAAMP_COMPOSITEIN, and StreamAbstractionAAMP_HDMIIN.

◆ Start()

◆ Stop()

virtual void StreamAbstractionAAMP::Stop ( bool  clearChannelData)
pure virtual

◆ GetStreamFormat()

virtual void StreamAbstractionAAMP::GetStreamFormat ( StreamOutputFormat primaryOutputFormat,
StreamOutputFormat audioOutputFormat,
StreamOutputFormat auxAudioOutputFormat,
StreamOutputFormat subtitleOutputFormat 
)
pure virtual

Get output format of stream.

Parameters
[out]primaryOutputFormat- format of primary track
[out]audioOutputFormat- format of audio track
[out]auxAudioOutputFormat- format of aux audio track
Returns
void

Implemented in StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, StreamAbstractionAAMP_PROGRESSIVE, and StreamAbstractionAAMP_HLS.

◆ GetStreamPosition()

virtual double StreamAbstractionAAMP::GetStreamPosition ( )
pure virtual

◆ GetFirstPTS()

virtual double StreamAbstractionAAMP::GetFirstPTS ( )
pure virtual

◆ GetStartTimeOfFirstPTS()

virtual double StreamAbstractionAAMP::GetStartTimeOfFirstPTS ( )
pure virtual

Get Start time PTS of first sample.

Return values
starttime of first sample

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, and StreamAbstractionAAMP_PROGRESSIVE.

◆ GetMediaTrack()

virtual MediaTrack* StreamAbstractionAAMP::GetMediaTrack ( TrackType  type)
pure virtual

Return MediaTrack of requested type.

Parameters
[in]type- track type
Returns
MediaTrack pointer.

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, and StreamAbstractionAAMP_PROGRESSIVE.

◆ WaitForVideoTrackCatchup()

void StreamAbstractionAAMP::WaitForVideoTrackCatchup ( )

Waits audio track injection until caught up with video track. Used internally by injection logic.

Blocks aux track injection until caught up with video track. Used internally by injection logic.

Parameters
None
Returns
void

Definition at line 1561 of file streamabstraction.cpp.

◆ ReassessAndResumeAudioTrack()

StreamAbstractionAAMP::ReassessAndResumeAudioTrack ( bool  abort)

Unblock track if caught up with video or downloads are stopped.

Returns
void

Definition at line 1522 of file streamabstraction.cpp.

◆ SetTsbBandwidth()

void StreamAbstractionAAMP::SetTsbBandwidth ( long  tsbBandwidth)
inline

When TSB is involved, use this to set bandwidth to be reported.

Parameters
[in]tsbBandwidth- Bandwidth of the track.
Returns
void

Definition at line 692 of file StreamAbstractionAAMP.h.

◆ GetTsbBandwidth()

long StreamAbstractionAAMP::GetTsbBandwidth ( )
inline

When TSB is involved, use this to get bandwidth to be reported.

Returns
Bandwidth of the track.

Definition at line 699 of file StreamAbstractionAAMP.h.

◆ SetESChangeStatus()

void StreamAbstractionAAMP::SetESChangeStatus ( void  )
inline

Set elementary stream type change status for reconfigure the pipeline.

Returns
void

Definition at line 706 of file StreamAbstractionAAMP.h.

◆ ResetESChangeStatus()

void StreamAbstractionAAMP::ResetESChangeStatus ( void  )
inline

Reset elementary stream type change status once the pipeline reconfigured.

Returns
void

Definition at line 713 of file StreamAbstractionAAMP.h.

◆ GetESChangeStatus()

bool StreamAbstractionAAMP::GetESChangeStatus ( void  )
inline

Get elementary stream type change status for reconfigure the pipeline..

Return values
mESChangeStatusflag value ( true or false )

Definition at line 725 of file StreamAbstractionAAMP.h.

◆ RampDownProfile()

StreamAbstractionAAMP::RampDownProfile ( long  http_error)

Rampdown profile.

Parameters
[in]http_error- Http error code
Returns
True, if ramp down successful. Else false

Definition at line 2019 of file streamabstraction.cpp.

◆ GetDesiredProfileOnBuffer()

StreamAbstractionAAMP::GetDesiredProfileOnBuffer ( int  currProfileIndex,
int &  newProfileIndex 
)

Get Desired Profile based on Buffer availability.

Parameters
[in]currProfileIndex
[in]newProfileIndex
Returns
None.

Definition at line 1844 of file streamabstraction.cpp.

◆ GetDesiredProfileOnSteadyState()

StreamAbstractionAAMP::GetDesiredProfileOnSteadyState ( int  currProfileIndex,
int &  newProfileIndex,
long  nwBandwidth 
)

Get Desired Profile on steady state.

Parameters
[in]currProfileIndex
[in]newProfileIndex
[in]nwBandwidth
Returns
None.

Definition at line 1856 of file streamabstraction.cpp.

◆ ConfigureTimeoutOnBuffer()

StreamAbstractionAAMP::ConfigureTimeoutOnBuffer ( )

Configure download timeouts based on buffer.

Returns
None.

Definition at line 1902 of file streamabstraction.cpp.

◆ GetBufferedDuration()

virtual double StreamAbstractionAAMP::GetBufferedDuration ( void  )
pure virtual

Function to get the buffer duration of stream.

Returns
buffer value

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, StreamAbstractionAAMP_PROGRESSIVE, and StreamAbstractionAAMP_MPD.

◆ IsLowestProfile()

StreamAbstractionAAMP::IsLowestProfile ( int  currentProfileIndex)

Check whether the current profile is lowest.

Parameters
currentProfileIndex- current profile index to be checked.
Returns
true if the given profile index is lowest.

Definition at line 2097 of file streamabstraction.cpp.

◆ getOriginalCurlError()

StreamAbstractionAAMP::getOriginalCurlError ( long  http_error)

Convert custom curl errors to original.

Parameters
[in]http_error- Error code
Returns
error code

Definition at line 2119 of file streamabstraction.cpp.

◆ CheckForRampDownProfile()

StreamAbstractionAAMP::CheckForRampDownProfile ( long  http_error)

Check for ramdown profile.

Parameters
http_error- Http error code
Returns
true if rampdown needed in the case of fragment not available in higher profile.

Definition at line 2143 of file streamabstraction.cpp.

◆ CheckForProfileChange()

StreamAbstractionAAMP::CheckForProfileChange ( void  )

Checks and update profile based on bandwidth.

Returns
void

Definition at line 2193 of file streamabstraction.cpp.

◆ GetIframeTrack()

StreamAbstractionAAMP::GetIframeTrack ( )

Get iframe track index. This shall be called only after UpdateIframeTracks() is done.

Returns
iframe track index.

Definition at line 2227 of file streamabstraction.cpp.

◆ UpdateIframeTracks()

StreamAbstractionAAMP::UpdateIframeTracks ( )

Update iframe tracks. Subclasses shall invoke this after StreamInfo is populated .

Returns
void

Definition at line 2236 of file streamabstraction.cpp.

◆ LastVideoFragParsedTimeMS()

StreamAbstractionAAMP::LastVideoFragParsedTimeMS ( void  )

Get the last video fragment parsed time.

Returns
Last video fragment parsed time.

Definition at line 1673 of file streamabstraction.cpp.

◆ GetDesiredProfile()

StreamAbstractionAAMP::GetDesiredProfile ( bool  getMidProfile)

Get the desired profile to start fetching.

Parameters
getMidProfile- Get the middle profile(True/False)
Returns
profile index to be used for the track.

Definition at line 1681 of file streamabstraction.cpp.

◆ UpdateRampdownProfileReason()

StreamAbstractionAAMP::UpdateRampdownProfileReason ( void  )

Update rampdown profile on network failure.

Returns
void

Definition at line 1836 of file streamabstraction.cpp.

◆ NotifyBitRateUpdate()

StreamAbstractionAAMP::NotifyBitRateUpdate ( int  profileIndex,
const StreamInfo cacheFragStreamInfo,
double  position 
)

Notify bitrate updates to application. Used internally by injection logic.

Used internally by injection logic

Parameters
[in]profileIndex- profile index of last injected fragment.
[in]cacheFragStreamInfo- stream info for the last injected fragment.
Returns
void

Definition at line 1740 of file streamabstraction.cpp.

◆ IsInitialCachingSupported()

bool StreamAbstractionAAMP::IsInitialCachingSupported ( )
virtual

Check if Initial Fragment Caching is supported.

Returns
true if is supported

Reimplemented in StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, and StreamAbstractionAAMP_PROGRESSIVE.

Definition at line 1777 of file streamabstraction.cpp.

◆ IsStreamerAtLivePoint()

bool StreamAbstractionAAMP::IsStreamerAtLivePoint ( )
inline

Whether we are playing at live point or not.

Returns
true if we are at live point.

Definition at line 856 of file StreamAbstractionAAMP.h.

◆ Is4KStream()

StreamAbstractionAAMP::Is4KStream ( int &  height,
long &  bandwidth 
)
pure virtual

check if current stream have 4K content

Parameters
height- resolution of 4K stream if found
bandwidth- bandwidth of 4K stream if foudd
Returns
true on success

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_PROGRESSIVE, and StreamAbstractionAAMP_VIDEOIN.

◆ GetPreferredLiveOffsetFromConfig()

bool StreamAbstractionAAMP::GetPreferredLiveOffsetFromConfig ( )
virtual

Set the offset value Live object.

Returns
none

Definition at line 3115 of file streamabstraction.cpp.

◆ NotifyPlaybackPaused()

void StreamAbstractionAAMP::NotifyPlaybackPaused ( bool  paused)
virtual

Function called when playback is paused to update related flags.

Parameters
[in]paused- true, if playback was paused
Returns
void

Definition at line 2245 of file streamabstraction.cpp.

◆ CheckIfPlayerRunningDry()

StreamAbstractionAAMP::CheckIfPlayerRunningDry ( void  )

Check if player caches are running dry.

Returns
true if player caches are dry, false otherwise.

Definition at line 2273 of file streamabstraction.cpp.

◆ CheckForPlaybackStall()

StreamAbstractionAAMP::CheckForPlaybackStall ( bool  fragmentParsed)

Check if playback has stalled and update related flags.

Parameters
[in]fragmentParsed- true if next fragment was parsed, otherwise false

Definition at line 2339 of file streamabstraction.cpp.

◆ NotifyFirstFragmentInjected()

StreamAbstractionAAMP::NotifyFirstFragmentInjected ( void  )

MediaTracks shall call this to notify first fragment is injected.

Returns
void

Definition at line 2386 of file streamabstraction.cpp.

◆ GetElapsedTime()

StreamAbstractionAAMP::GetElapsedTime ( )

Get elapsed time of play-back.

Returns
elapsed time.

Definition at line 2399 of file streamabstraction.cpp.

◆ CheckForRampDownLimitReached()

StreamAbstractionAAMP::CheckForRampDownLimitReached ( )

Check for ramp down limit reached by player.

Returns
true if limit reached, false otherwise

Definition at line 2943 of file streamabstraction.cpp.

◆ GetMaxBWProfile()

int StreamAbstractionAAMP::GetMaxBWProfile ( )

Get profile index of highest bandwidth.

Returns
Profile index
Profile highest BW profile index

Definition at line 1722 of file streamabstraction.cpp.

◆ GetBWIndex()

virtual int StreamAbstractionAAMP::GetBWIndex ( long  bandwidth)
pure virtual

Get profile index of given bandwidth.

Parameters
[in]bandwidth- Bandwidth
Returns
Profile index

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, and StreamAbstractionAAMP_PROGRESSIVE.

◆ GetABRManager()

ABRManager& StreamAbstractionAAMP::GetABRManager ( )
inline

Get the ABRManager reference.

Returns
The ABRManager reference.

Definition at line 955 of file StreamAbstractionAAMP.h.

◆ GetProfileCount()

virtual int StreamAbstractionAAMP::GetProfileCount ( )
inlinevirtual

Get number of profiles/ representations from subclass.

Returns
number of profiles.

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 964 of file StreamAbstractionAAMP.h.

◆ GetProfileIndexForBandwidth()

virtual int StreamAbstractionAAMP::GetProfileIndexForBandwidth ( long  mTsbBandwidth)
inlinevirtual

Get profile index for TsbBandwidth.

Parameters
mTsbBandwidth- bandwidth to identify profile index from list
Return values
profileindex of the current bandwidth

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 973 of file StreamAbstractionAAMP.h.

◆ GetMaxBitrate()

virtual long StreamAbstractionAAMP::GetMaxBitrate ( )
inlinevirtual

Gets Max bitrate supported.

Returns
max bandwidth

Reimplemented in StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, and StreamAbstractionAAMP_PROGRESSIVE.

Definition at line 987 of file StreamAbstractionAAMP.h.

◆ GetVideoBitrate()

long StreamAbstractionAAMP::GetVideoBitrate ( void  )

Get the bitrate of current video profile selected.

Returns
bitrate of current video profile.

Definition at line 2419 of file streamabstraction.cpp.

◆ GetAudioBitrate()

long StreamAbstractionAAMP::GetAudioBitrate ( void  )

Get the bitrate of current audio profile selected.

Returns
bitrate of current audio profile.

Definition at line 2428 of file streamabstraction.cpp.

◆ SetVideoBitrate()

void StreamAbstractionAAMP::SetVideoBitrate ( long  bitrate)

Set a preferred bitrate for video.

Parameters
[in]bitratepreferred bitrate.

◆ GetVideoBitrates()

virtual std::vector<long> StreamAbstractionAAMP::GetVideoBitrates ( void  )
pure virtual

◆ GetAudioBitrates()

virtual std::vector<long> StreamAbstractionAAMP::GetAudioBitrates ( void  )
pure virtual

◆ IsStreamerStalled()

bool StreamAbstractionAAMP::IsStreamerStalled ( void  )
inline

Check if playback stalled in fragment collector side.

Returns
true if stalled, false otherwise.

Definition at line 1031 of file StreamAbstractionAAMP.h.

◆ IsMuxedStream()

bool StreamAbstractionAAMP::IsMuxedStream ( )

Check if current stream is muxed.

Returns
true if current stream is muxed

Definition at line 2438 of file streamabstraction.cpp.

◆ NotifyFirstVideoPTS()

virtual void StreamAbstractionAAMP::NotifyFirstVideoPTS ( unsigned long long  pts,
unsigned long  timeScale 
)
inlinevirtual

Receives first video PTS for the current playback.

Parameters
[in]pts- pts value
[in]timeScale- time scale value

Reimplemented in StreamAbstractionAAMP_HLS.

Definition at line 1056 of file StreamAbstractionAAMP.h.

◆ StartSubtitleParser()

virtual void StreamAbstractionAAMP::StartSubtitleParser ( )
inlinevirtual

Kicks off subtitle display - sent at start of video presentation.

Reimplemented in StreamAbstractionAAMP_HLS, and StreamAbstractionAAMP_MPD.

Definition at line 1062 of file StreamAbstractionAAMP.h.

◆ PauseSubtitleParser()

virtual void StreamAbstractionAAMP::PauseSubtitleParser ( bool  pause)
inlinevirtual

Pause/unpause subtitles.

Parameters
pause- enable or disable pause
Returns
void

Reimplemented in StreamAbstractionAAMP_HLS, and StreamAbstractionAAMP_MPD.

Definition at line 1070 of file StreamAbstractionAAMP.h.

◆ WaitForAudioTrackCatchup()

StreamAbstractionAAMP::WaitForAudioTrackCatchup ( void  )

Waits subtitle track injection until caught up with muxed/audio track. Used internally by injection logic.

Returns
void

Definition at line 2511 of file streamabstraction.cpp.

◆ AbortWaitForAudioTrackCatchup()

StreamAbstractionAAMP::AbortWaitForAudioTrackCatchup ( bool  force)

Unblock subtitle track injector if downloads are stopped.

Returns
void

Definition at line 2565 of file streamabstraction.cpp.

◆ SetCDAIObject()

virtual void StreamAbstractionAAMP::SetCDAIObject ( CDAIObject cdaiObj)
inlinevirtual

Set Client Side DAI object instance.

Parameters
[in]cdaiObj- Pointer to Client Side DAI object.

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 1091 of file StreamAbstractionAAMP.h.

◆ IsEOSReached()

bool StreamAbstractionAAMP::IsEOSReached ( )
virtual

Checks if streamer reached end of stream.

Returns
true if end of stream reached, false otherwise

Definition at line 2597 of file streamabstraction.cpp.

◆ GetAvailableAudioTracks()

virtual std::vector<AudioTrackInfo>& StreamAbstractionAAMP::GetAvailableAudioTracks ( bool  allTrack = false)
inlinevirtual

Get available audio tracks.

Returns
std::vector<AudioTrackInfo> list of audio tracks

Reimplemented in StreamAbstractionAAMP_MPD, and StreamAbstractionAAMP_OTA.

Definition at line 1105 of file StreamAbstractionAAMP.h.

◆ GetAvailableTextTracks()

virtual std::vector<TextTrackInfo>& StreamAbstractionAAMP::GetAvailableTextTracks ( bool  allTrack = false)
inlinevirtual

Get available text tracks.

Returns
std::vector<TextTrackInfo> list of text tracks

Reimplemented in StreamAbstractionAAMP_MPD, and StreamAbstractionAAMP_OTA.

Definition at line 1112 of file StreamAbstractionAAMP.h.

◆ SeekPosUpdate()

virtual void StreamAbstractionAAMP::SeekPosUpdate ( double  secondsRelativeToTuneTime)
pure virtual

Update seek position when player is initialized.

Parameters
[in]secondsRelativeToTuneTimeseekposition time.

Implemented in StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_VIDEOIN, StreamAbstractionAAMP_PROGRESSIVE, StreamAbstractionAAMP_HLS, and StreamAbstractionAAMP_MPD.

◆ GetLastInjectedFragmentPosition()

double StreamAbstractionAAMP::GetLastInjectedFragmentPosition ( )

Function to returns last injected fragment position.

Returns
double last injected fragment position in seconds

Definition at line 2624 of file streamabstraction.cpp.

◆ ProcessDiscontinuity()

StreamAbstractionAAMP::ProcessDiscontinuity ( TrackType  type)

Function to process discontinuity.

Parameters
[in]type- track type.

Definition at line 2708 of file streamabstraction.cpp.

◆ AbortWaitForDiscontinuity()

StreamAbstractionAAMP::AbortWaitForDiscontinuity ( )

Function to abort any wait for discontinuity by injector theads.

Returns
void

Definition at line 2817 of file streamabstraction.cpp.

◆ CheckForMediaTrackInjectionStall()

StreamAbstractionAAMP::CheckForMediaTrackInjectionStall ( TrackType  type)

Function to check if any media tracks are stalled on discontinuity.

Parameters
[in]type- track type.

Definition at line 2828 of file streamabstraction.cpp.

◆ GetBufferedVideoDurationSec()

double StreamAbstractionAAMP::GetBufferedVideoDurationSec ( )

Get buffered video duration in seconds.

Returns
duration of currently buffered video in seconds

Definition at line 2960 of file streamabstraction.cpp.

◆ UpdateStreamInfoBitrateData()

StreamAbstractionAAMP::UpdateStreamInfoBitrateData ( int  profileIndex,
StreamInfo cacheFragStreamInfo 
)

Function to update stream info of current fetched fragment.

Parameters
[in]profileIndex- profile index of current fetched fragment
[out]cacheFragStreamInfo- stream info of current fetched fragment

Definition at line 1786 of file streamabstraction.cpp.

◆ GetAudioTrack()

int StreamAbstractionAAMP::GetAudioTrack ( )
virtual

Get current audio track.

Returns
int - index of current audio track

Reimplemented in StreamAbstractionAAMP_OTA.

Definition at line 3017 of file streamabstraction.cpp.

◆ GetCurrentAudioTrack()

bool StreamAbstractionAAMP::GetCurrentAudioTrack ( AudioTrackInfo audioTrack)
virtual

Get current audio track information.

Parameters
[out]audioTrack- current audio track
Returns
found or not

Reimplemented in StreamAbstractionAAMP_OTA.

Definition at line 2974 of file streamabstraction.cpp.

◆ GetCurrentTextTrack()

bool StreamAbstractionAAMP::GetCurrentTextTrack ( TextTrackInfo textTrack)
virtual

Get current text track.

Parameters
[out]TextTrack- current text track
Returns
found or not

Definition at line 2996 of file streamabstraction.cpp.

◆ GetTextTrack()

int StreamAbstractionAAMP::GetTextTrack ( )

Get current text track.

Returns
int - index of current text track

Definition at line 3036 of file streamabstraction.cpp.

◆ RefreshSubtitles()

void StreamAbstractionAAMP::RefreshSubtitles ( )

Refresh subtitle track.

Returns
void

Definition at line 3055 of file streamabstraction.cpp.

◆ SetVideoRectangle()

virtual void StreamAbstractionAAMP::SetVideoRectangle ( int  x,
int  y,
int  w,
int  h 
)
inlinevirtual

setVideoRectangle sets the position coordinates (x,y) & size (w,h) for OTA streams only

Parameters
[in]x,y- position coordinates of video rectangle
[in]w,h- width & height of video rectangle

Reimplemented in StreamAbstractionAAMP_OTA, and StreamAbstractionAAMP_VIDEOIN.

Definition at line 1206 of file StreamAbstractionAAMP.h.

◆ GetAvailableThumbnailTracks()

virtual std::vector<StreamInfo*> StreamAbstractionAAMP::GetAvailableThumbnailTracks ( void  )
pure virtual

◆ SetThumbnailTrack()

virtual bool StreamAbstractionAAMP::SetThumbnailTrack ( int  )
pure virtual

◆ GetThumbnailRangeData()

virtual std::vector<ThumbnailData> StreamAbstractionAAMP::GetThumbnailRangeData ( double  ,
double  ,
std::string *  ,
int *  ,
int *  ,
int *  ,
int *   
)
pure virtual

◆ SetAudioTrack()

virtual void StreamAbstractionAAMP::SetAudioTrack ( int  index)
inlinevirtual

SetAudioTrack set the audio track using index value. [currently for OTA].

Parameters
[in]index- Index of audio track
Returns
void

Reimplemented in StreamAbstractionAAMP_OTA.

Definition at line 1237 of file StreamAbstractionAAMP.h.

◆ SetAudioTrackByLanguage()

virtual void StreamAbstractionAAMP::SetAudioTrackByLanguage ( const char *  lang)
inlinevirtual

SetAudioTrackByLanguage set the audio language. [currently for OTA].

Parameters
[in]langLanguage to be set
[in]

Reimplemented in StreamAbstractionAAMP_OTA.

Definition at line 1245 of file StreamAbstractionAAMP.h.

◆ SetPreferredAudioLanguages()

virtual void StreamAbstractionAAMP::SetPreferredAudioLanguages ( )
inlinevirtual

SetPreferredAudioLanguages set the preferred audio languages and rendition. [currently for OTA].

Parameters
[in]

Reimplemented in StreamAbstractionAAMP_OTA.

Definition at line 1253 of file StreamAbstractionAAMP.h.

◆ MuteSubtitles()

void StreamAbstractionAAMP::MuteSubtitles ( bool  mute)

Send a MUTE/UNMUTE packet to the subtitle renderer.

Parameters
[in]mutemute/unmute

Definition at line 2585 of file streamabstraction.cpp.

◆ WaitForVideoTrackCatchupForAux()

StreamAbstractionAAMP::WaitForVideoTrackCatchupForAux ( )
Returns
void

Definition at line 3067 of file streamabstraction.cpp.

◆ ApplyContentRestrictions()

virtual void StreamAbstractionAAMP::ApplyContentRestrictions ( std::vector< std::string >  restrictions)
inlinevirtual

Set Content Restrictions.

Parameters
[in]restrictions- restrictions to be applied
Returns
void

Definition at line 1275 of file StreamAbstractionAAMP.h.

◆ DisableContentRestrictions()

virtual void StreamAbstractionAAMP::DisableContentRestrictions ( long  grace,
long  time,
bool  eventChange 
)
inlinevirtual

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

Reimplemented in StreamAbstractionAAMP_OTA.

Definition at line 1285 of file StreamAbstractionAAMP.h.

◆ EnableContentRestrictions()

virtual void StreamAbstractionAAMP::EnableContentRestrictions ( )
inlinevirtual

Enable Content Restrictions - lock.

Returns
void

Reimplemented in StreamAbstractionAAMP_OTA.

Definition at line 1291 of file StreamAbstractionAAMP.h.

◆ GetAudioFwdToAuxStatus()

bool StreamAbstractionAAMP::GetAudioFwdToAuxStatus ( )
inline

Get audio forward to aux pipeline status.

Returns
bool true if audio buffers are to be forwarded

Definition at line 1298 of file StreamAbstractionAAMP.h.

◆ SetAudioFwdToAuxStatus()

void StreamAbstractionAAMP::SetAudioFwdToAuxStatus ( bool  status)
inline

Set audio forward to aux pipeline status.

Parameters
[in]status- enabled/disabled
Returns
void

Definition at line 1306 of file StreamAbstractionAAMP.h.

◆ SetAudioTrackInfoFromMuxedStream()

void StreamAbstractionAAMP::SetAudioTrackInfoFromMuxedStream ( std::vector< AudioTrackInfo > &  vector)
virtual

Set AudioTrack info from Muxed stream.

Parameters
[in]stringindex
Returns
void
Parameters
[in]vectorAudioTrack info
Returns
void

Definition at line 2460 of file streamabstraction.cpp.

◆ SetCurrentAudioTrackIndex()

void StreamAbstractionAAMP::SetCurrentAudioTrackIndex ( std::string &  index)
inline

Set current audio track index.

Parameters
[in]stringindex
Returns
void

Definition at line 1322 of file StreamAbstractionAAMP.h.

◆ ChangeMuxedAudioTrackIndex()

virtual void StreamAbstractionAAMP::ChangeMuxedAudioTrackIndex ( std::string &  index)
inlinevirtual

Change muxed audio track index.

Parameters
[in]stringindex
Returns
void

Reimplemented in StreamAbstractionAAMP_HLS.

Definition at line 1330 of file StreamAbstractionAAMP.h.

◆ InitSubtitleParser()

virtual void StreamAbstractionAAMP::InitSubtitleParser ( char *  data)
inlinevirtual

Initilaize subtitle parser for sidecar support.

Parameters
data- subtitle data received from application
Returns
void

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 1340 of file StreamAbstractionAAMP.h.

◆ ResetSubtitle()

virtual void StreamAbstractionAAMP::ResetSubtitle ( )
inlinevirtual

reset subtitle parser created for sidecar support

Returns
void

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 1347 of file StreamAbstractionAAMP.h.

◆ MuteSubtitleOnPause()

virtual void StreamAbstractionAAMP::MuteSubtitleOnPause ( )
inlinevirtual

mute subtitles on pause

Returns
void

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 1354 of file StreamAbstractionAAMP.h.

◆ ResumeSubtitleOnPlay()

virtual void StreamAbstractionAAMP::ResumeSubtitleOnPlay ( bool  mute,
char *  data 
)
inlinevirtual

resume subtitles on play

Parameters
mute- mute status
data- subtitle data received from application
Returns
void

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 1363 of file StreamAbstractionAAMP.h.

◆ MuteSidecarSubtitles()

virtual void StreamAbstractionAAMP::MuteSidecarSubtitles ( bool  mute)
inlinevirtual

mute/unmute sidecar subtitles

Parameters
mute- mute/unmute
Returns
void

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 1371 of file StreamAbstractionAAMP.h.

◆ ResumeSubtitleAfterSeek()

virtual void StreamAbstractionAAMP::ResumeSubtitleAfterSeek ( bool  mute,
char *  data 
)
inlinevirtual

resume subtitles after trickplay

Parameters
mute- mute status
data- subtitle data received from application
Returns
void

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 1380 of file StreamAbstractionAAMP.h.

◆ SetTextStyle()

bool StreamAbstractionAAMP::SetTextStyle ( const std::string &  options)
virtual

Set the text style of the subtitle to the options passed.

Parameters
[in]-options - reference to the Json string that contains the information
Returns
- true indicating successful operation in passing options to the parser
Parameters
[in]options- reference to the Json string that contains the information
Returns
- true indicating successful operation in passing options to the parser

Reimplemented in StreamAbstractionAAMP_MPD.

Definition at line 3192 of file streamabstraction.cpp.

◆ GetStreamInfo()

virtual StreamInfo* StreamAbstractionAAMP::GetStreamInfo ( int  idx)
protectedpure virtual

Get stream information of a profile from subclass.

Parameters
[in]idx- profile index.
Returns
stream information corresponding to index.

Implemented in StreamAbstractionAAMP_HLS, StreamAbstractionAAMP_MPD, StreamAbstractionAAMP_OTA, StreamAbstractionAAMP_PROGRESSIVE, and StreamAbstractionAAMP_VIDEOIN.

◆ GetDesiredProfileBasedOnCache()

StreamAbstractionAAMP::GetDesiredProfileBasedOnCache ( void  )
private

Get desired profile based on cached duration.

Returns
Profile index based on cached duration

Definition at line 1954 of file streamabstraction.cpp.

◆ UpdateProfileBasedOnFragmentDownloaded()

StreamAbstractionAAMP::UpdateProfileBasedOnFragmentDownloaded ( void  )
private

Update profile state based on bandwidth of fragments downloaded.

Returns
void

Definition at line 1805 of file streamabstraction.cpp.

◆ UpdateProfileBasedOnFragmentCache()

StreamAbstractionAAMP::UpdateProfileBasedOnFragmentCache ( void  )
private

Update profile based on fragment cache.

Returns
true if profile was changed, false otherwise

Definition at line 2295 of file streamabstraction.cpp.

Field Documentation

◆ aamp

PrivateInstanceAAMP* StreamAbstractionAAMP::aamp

Pointer to PrivateInstanceAAMP object associated with stream

Definition at line 727 of file StreamAbstractionAAMP.h.

◆ trickplayMode

bool StreamAbstractionAAMP::trickplayMode

trick play flag to be updated by subclasses

Definition at line 917 of file StreamAbstractionAAMP.h.

◆ currentProfileIndex

int StreamAbstractionAAMP::currentProfileIndex

current Video profile index of the track

Definition at line 918 of file StreamAbstractionAAMP.h.

◆ currentAudioProfileIndex

int StreamAbstractionAAMP::currentAudioProfileIndex

current Audio profile index of the track

Definition at line 919 of file StreamAbstractionAAMP.h.

◆ currentTextTrackProfileIndex

int StreamAbstractionAAMP::currentTextTrackProfileIndex

current SubTitle profile index of the track

Definition at line 920 of file StreamAbstractionAAMP.h.

◆ profileIdxForBandwidthNotification

int StreamAbstractionAAMP::profileIdxForBandwidthNotification

internal - profile index for bandwidth change notification

Definition at line 921 of file StreamAbstractionAAMP.h.

◆ hasDrm

bool StreamAbstractionAAMP::hasDrm

denotes if the current asset is DRM protected

Definition at line 922 of file StreamAbstractionAAMP.h.

◆ mIsAtLivePoint

bool StreamAbstractionAAMP::mIsAtLivePoint

flag that denotes if playback is at live point

Definition at line 924 of file StreamAbstractionAAMP.h.

◆ mIsPlaybackStalled

bool StreamAbstractionAAMP::mIsPlaybackStalled

flag that denotes if playback was stalled or not

Definition at line 926 of file StreamAbstractionAAMP.h.

◆ mNetworkDownDetected

bool StreamAbstractionAAMP::mNetworkDownDetected

Network down status indicator

Definition at line 927 of file StreamAbstractionAAMP.h.

◆ mCheckForRampdown

bool StreamAbstractionAAMP::mCheckForRampdown

flag to indicate if rampdown is attempted or not

Definition at line 928 of file StreamAbstractionAAMP.h.

◆ mTuneType

TuneType StreamAbstractionAAMP::mTuneType

Tune type of current playback, initialize by derived classes on Init()

Definition at line 929 of file StreamAbstractionAAMP.h.

◆ mRampDownCount

int StreamAbstractionAAMP::mRampDownCount

Total number of rampdowns

Definition at line 930 of file StreamAbstractionAAMP.h.

◆ mProgramStartTime

double StreamAbstractionAAMP::mProgramStartTime

Indicate program start time or availability start time

Definition at line 931 of file StreamAbstractionAAMP.h.

◆ mTsbMaxBitrateProfileIndex

int StreamAbstractionAAMP::mTsbMaxBitrateProfileIndex

Indicates the index of highest profile in the saved stream info

Definition at line 932 of file StreamAbstractionAAMP.h.

◆ mLock

pthread_mutex_t StreamAbstractionAAMP::mLock
private

lock for A/V track catchup logic

Definition at line 1422 of file StreamAbstractionAAMP.h.

◆ mCond

pthread_cond_t StreamAbstractionAAMP::mCond
private

condition for A/V track catchup logic

Definition at line 1423 of file StreamAbstractionAAMP.h.

◆ mSubCond

pthread_cond_t StreamAbstractionAAMP::mSubCond
private

condition for Audio/Subtitle track catchup logic

Definition at line 1424 of file StreamAbstractionAAMP.h.

◆ mAuxCond

pthread_cond_t StreamAbstractionAAMP::mAuxCond
private

condition for Aux and video track catchup logic

Definition at line 1425 of file StreamAbstractionAAMP.h.

◆ mCurrentBandwidth

long StreamAbstractionAAMP::mCurrentBandwidth
private

stores current bandwidth

Definition at line 1428 of file StreamAbstractionAAMP.h.

◆ mLastVideoFragCheckedforABR

int StreamAbstractionAAMP::mLastVideoFragCheckedforABR
private

Last video fragment for which ABR is checked

Definition at line 1429 of file StreamAbstractionAAMP.h.

◆ mTsbBandwidth

long StreamAbstractionAAMP::mTsbBandwidth
private

stores bandwidth when TSB is involved

Definition at line 1430 of file StreamAbstractionAAMP.h.

◆ mNwConsistencyBypass

long StreamAbstractionAAMP::mNwConsistencyBypass
private

Network consistency bypass

Definition at line 1431 of file StreamAbstractionAAMP.h.

◆ mABRHighBufferCounter

int StreamAbstractionAAMP::mABRHighBufferCounter
private

ABR High buffer counter

Definition at line 1432 of file StreamAbstractionAAMP.h.

◆ mABRLowBufferCounter

int StreamAbstractionAAMP::mABRLowBufferCounter
private

ABR Low Buffer counter

Definition at line 1433 of file StreamAbstractionAAMP.h.

◆ mABRMaxBuffer

int StreamAbstractionAAMP::mABRMaxBuffer
private

ABR ramp up buffer

Definition at line 1435 of file StreamAbstractionAAMP.h.

◆ mABRCacheLength

int StreamAbstractionAAMP::mABRCacheLength
private

ABR cache length

Definition at line 1436 of file StreamAbstractionAAMP.h.

◆ mABRMinBuffer

int StreamAbstractionAAMP::mABRMinBuffer
private

ABR ramp down buffer

Definition at line 1437 of file StreamAbstractionAAMP.h.

◆ mABRNwConsistency

int StreamAbstractionAAMP::mABRNwConsistency
private

ABR Network consistency

Definition at line 1438 of file StreamAbstractionAAMP.h.

◆ mESChangeStatus

bool StreamAbstractionAAMP::mESChangeStatus
private

flag value which is used to call pipeline configuration if the audio type changed in mid stream

Definition at line 1439 of file StreamAbstractionAAMP.h.

◆ mAudiostateChangeCount

unsigned int StreamAbstractionAAMP::mAudiostateChangeCount
private

variable to know how many times player need to reconfigure the pipeline for audio type change

Definition at line 1440 of file StreamAbstractionAAMP.h.

◆ mLastVideoFragParsedTimeMS

double StreamAbstractionAAMP::mLastVideoFragParsedTimeMS
private

timestamp when last video fragment was parsed

Definition at line 1441 of file StreamAbstractionAAMP.h.

◆ mIsPaused

bool StreamAbstractionAAMP::mIsPaused
private

paused state or not

Definition at line 1443 of file StreamAbstractionAAMP.h.

◆ mTotalPausedDurationMS

long long StreamAbstractionAAMP::mTotalPausedDurationMS
private

Total duration for which stream is paused

Definition at line 1444 of file StreamAbstractionAAMP.h.

◆ mStartTimeStamp

long long StreamAbstractionAAMP::mStartTimeStamp
private

stores timestamp at which injection starts

Definition at line 1445 of file StreamAbstractionAAMP.h.

◆ mLastPausedTimeStamp

long long StreamAbstractionAAMP::mLastPausedTimeStamp
private

stores timestamp of last pause operation

Definition at line 1446 of file StreamAbstractionAAMP.h.

◆ mStateLock

pthread_mutex_t StreamAbstractionAAMP::mStateLock
private

lock for A/V track discontinuity injection

Definition at line 1447 of file StreamAbstractionAAMP.h.

◆ mStateCond

pthread_cond_t StreamAbstractionAAMP::mStateCond
private

condition for A/V track discontinuity injection

Definition at line 1448 of file StreamAbstractionAAMP.h.

◆ mRampDownLimit

int StreamAbstractionAAMP::mRampDownLimit
private

stores ramp down limit value

Definition at line 1449 of file StreamAbstractionAAMP.h.

◆ mBitrateReason

BitrateChangeReason StreamAbstractionAAMP::mBitrateReason
private

holds the reason for last bitrate change

Definition at line 1450 of file StreamAbstractionAAMP.h.

◆ mAudioTracks

std::vector<AudioTrackInfo> StreamAbstractionAAMP::mAudioTracks
protected

Available audio tracks

Definition at line 1452 of file StreamAbstractionAAMP.h.

◆ mAudioTracksAll

std::vector<AudioTrackInfo> StreamAbstractionAAMP::mAudioTracksAll
protected

Alternative variable to store audio track information from all period

Definition at line 1453 of file StreamAbstractionAAMP.h.

◆ mTextTracksAll

std::vector<TextTrackInfo> StreamAbstractionAAMP::mTextTracksAll
protected

Alternative variable to store text track information from all period

Definition at line 1454 of file StreamAbstractionAAMP.h.

◆ mTextTracks

std::vector<TextTrackInfo> StreamAbstractionAAMP::mTextTracks
protected

Available text tracks

Definition at line 1455 of file StreamAbstractionAAMP.h.

◆ mTrackState

MediaTrackDiscontinuityState StreamAbstractionAAMP::mTrackState
protected

stores the discontinuity status of tracks

Definition at line 1456 of file StreamAbstractionAAMP.h.

◆ mAudioTrackIndex

std::string StreamAbstractionAAMP::mAudioTrackIndex
protected

Current audio track index in track list

Definition at line 1457 of file StreamAbstractionAAMP.h.

◆ mTextTrackIndex

std::string StreamAbstractionAAMP::mTextTrackIndex
protected

Current text track index in track list

Definition at line 1458 of file StreamAbstractionAAMP.h.

◆ mFwdAudioToAux

bool StreamAbstractionAAMP::mFwdAudioToAux
protected

If audio buffers are to be forwarded to auxiliary pipeline, happens if both are playing same language

Definition at line 1459 of file StreamAbstractionAAMP.h.


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