RDK Documentation (Open Sourced RDK Components)
|
Fragment collector for MPEG DASH. More...
#include <fragmentcollector_mpd.h>
Public Member Functions | |
StreamAbstractionAAMP_MPD (AampLogManager *logObj, class PrivateInstanceAAMP *aamp, double seekpos, float rate) | |
StreamAbstractionAAMP_MPD Constructor. | |
~StreamAbstractionAAMP_MPD () | |
StreamAbstractionAAMP_MPD Destructor. | |
StreamAbstractionAAMP_MPD (const StreamAbstractionAAMP_MPD &)=delete | |
StreamAbstractionAAMP_MPD & | operator= (const StreamAbstractionAAMP_MPD &)=delete |
void | DumpProfiles (void) override |
Stub implementation. | |
void | Start () override |
Starts streaming. More... | |
void | Stop (bool clearChannelData) override |
Stops streaming. More... | |
AAMPStatusType | Init (TuneType tuneType) override |
Initialize a newly created object. More... | |
void | GetStreamFormat (StreamOutputFormat &primaryOutputFormat, StreamOutputFormat &audioOutputFormat, StreamOutputFormat &auxOutputFormat, StreamOutputFormat &subtitleOutputFormat) override |
Get output format of stream. More... | |
double | GetStreamPosition () override |
Get current stream position. More... | |
MediaTrack * | GetMediaTrack (TrackType type) override |
Return MediaTrack of requested type. More... | |
double | GetFirstPTS () override |
Get PTS of first sample. More... | |
double | GetStartTimeOfFirstPTS () override |
Get Start time PTS of first sample. More... | |
int | GetBWIndex (long bitrate) override |
Get index of profile corresponds to bandwidth. More... | |
std::vector< long > | GetVideoBitrates (void) override |
To get the available video bitrates. @ret available video bitrates. | |
std::vector< long > | GetAudioBitrates (void) override |
To get the available audio bitrates. @ret available audio bitrates. | |
long | GetMaxBitrate (void) override |
Gets Max bitrate supported. More... | |
void | StopInjection (void) override |
Stops injecting fragments to StreamSink. More... | |
void | StartInjection (void) override |
Start injecting fragments to StreamSink. More... | |
double | GetBufferedDuration () |
Function to get the buffer duration of stream. More... | |
void | SeekPosUpdate (double secondsRelativeToTuneTime) |
Update seek position when player is initialized. More... | |
virtual void | SetCDAIObject (CDAIObject *cdaiObj) override |
Set Client Side DAI object instance. More... | |
virtual std::vector< AudioTrackInfo > & | GetAvailableAudioTracks (bool allTrack=false) override |
To set the audio tracks of current period. More... | |
virtual std::vector< TextTrackInfo > & | GetAvailableTextTracks (bool allTrack=false) override |
Gets all/current available text tracks. More... | |
virtual bool | Is4KStream (int &height, long &bandwidth) override |
check if current stream have 4K content More... | |
int | GetProfileCount () |
Gets number of profiles. More... | |
int | GetProfileIndexForBandwidth (long mTsbBandwidth) |
Get profile index for TsbBandwidth. More... | |
std::vector< StreamInfo * > | GetAvailableThumbnailTracks (void) override |
To get the available thumbnail tracks. @ret available thumbnail tracks. | |
std::vector< StreamInfo * > | GetAvailableVideoTracks (void) override |
bool | SetThumbnailTrack (int) override |
std::vector< ThumbnailData > | GetThumbnailRangeData (double, double, std::string *, int *, int *, int *, int *) override |
const IAdaptationSet * | GetAdaptationSetAtIndex (int idx) |
Get Adaptation Set at given index for the current period. More... | |
struct ProfileInfo | GetAdaptationSetAndRepresetationIndicesForProfile (int profileIndex) |
Get Adaptation Set and Representation Index for given profile. More... | |
int64_t | GetMinUpdateDuration () |
bool | FetchFragment (class MediaStreamContext *pMediaStreamContext, std::string media, double fragmentDuration, bool isInitializationSegment, unsigned int curlInstance, bool discontinuity=false, double pto=0, uint32_t scale=0) |
Fetch and cache a fragment. More... | |
bool | PushNextFragment (class MediaStreamContext *pMediaStreamContext, unsigned int curlInstance) |
Fetch and push next fragment. More... | |
double | GetFirstPeriodStartTime (void) |
Get Period Start Time. More... | |
void | MonitorLatency () |
Monitor Live End Latency and Encoder Display Latency. | |
void | StartSubtitleParser () override |
Kicks off subtitle display - sent at start of video presentation. More... | |
void | PauseSubtitleParser (bool pause) override |
Pause/unpause subtitles. More... | |
uint32_t | GetCurrPeriodTimeScale () |
Get timescale from current period. More... | |
dash::mpd::IMPD * | GetMPD (void) |
IPeriod * | GetPeriod (void) |
void | GetPreferredTextRepresentation (IAdaptationSet *adaptationSet, int &selectedRepIdx, uint32_t &selectedRepBandwidth, unsigned long long &score, std::string &name, std::string &codec) |
Get representation index from preferred codec list. More... | |
bool | GetBestTextTrackByLanguage (TextTrackInfo &selectedTextTrack) |
void | ParseTrackInformation (IAdaptationSet *adaptationSet, uint32_t iAdaptationIndex, MediaType media, std::vector< AudioTrackInfo > &aTracks, std::vector< TextTrackInfo > &tTracks) |
void | InitSubtitleParser (char *data) override |
Init webvtt subtitle parser for sidecar caption support. More... | |
void | ResetSubtitle () override |
Reset subtitle parser created for sidecar caption support. More... | |
void | MuteSubtitleOnPause () override |
Mute subtitles on puase. More... | |
void | ResumeSubtitleOnPlay (bool mute, char *data) override |
Resume subtitle on play. More... | |
void | MuteSidecarSubtitles (bool mute) override |
Mute/unmute subtitles. More... | |
void | ResumeSubtitleAfterSeek (bool mute, char *data) override |
Resume subtitle after seek. More... | |
bool | SetTextStyle (const std::string &options) override |
Set the text style of the subtitle to the options passed. More... | |
Public Member Functions inherited from StreamAbstractionAAMP | |
StreamAbstractionAAMP (AampLogManager *logObj, PrivateInstanceAAMP *aamp) | |
StreamAbstractionAAMP constructor. | |
virtual | ~StreamAbstractionAAMP () |
StreamAbstractionAAMP destructor. | |
StreamAbstractionAAMP (const StreamAbstractionAAMP &)=delete | |
StreamAbstractionAAMP Copy Constructor. | |
StreamAbstractionAAMP & | operator= (const StreamAbstractionAAMP &)=delete |
StreamAbstractionAAMP assignment operator overloading. | |
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... | |
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 | 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 | GetFirstPeriodDynamicStartTime () |
bool | CheckForRampDownLimitReached () |
Check for ramp down limit reached by player. More... | |
int | GetMaxBWProfile () |
Get profile index of highest bandwidth. More... | |
ABRManager & | GetABRManager () |
Get the ABRManager reference. More... | |
long | GetCurProfIdxBW () |
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... | |
bool | IsStreamerStalled (void) |
Check if playback stalled in fragment collector side. More... | |
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... | |
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 bool | IsEOSReached () |
Checks if streamer reached end of stream. 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 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... | |
Static Public Member Functions | |
static Accessibility | getAccessibilityNode (void *adaptationSet) |
static Accessibility | getAccessibilityNode (AampJsonObject &accessNode) |
Private Member Functions | |
void | printSelectedTrack (const std::string &trackIndex, MediaType media) |
Print the current the track information. More... | |
void | AdvanceTrack (int trackIdx, bool trickPlay, double delta, bool *waitForFreeFrag, bool *exitFetchLoop, bool *bCacheFullState) |
Fetches and caches audio fragment parallelly for video fragment. More... | |
void | FetcherLoop () |
Fetches and caches fragments in a loop. More... | |
StreamInfo * | GetStreamInfo (int idx) override |
Get stream information of a profile from subclass. More... | |
bool | CheckLLProfileAvailable (IMPD *mpd) |
Check if LLProfile is Available in MPD. More... | |
AAMPStatusType | EnableAndSetLiveOffsetForLLDashPlayback (const MPD *mpd) |
EnableAndSetLiveOffsetForLLDashPlayback based on playerconfig/LL-dash profile/availabilityTimeOffset and set the LiveOffset. More... | |
bool | GetLowLatencyParams (const MPD *mpd, AampLLDashServiceData &LLDashData) |
get Low Latency Parameters from segement template and timeline More... | |
bool | ParseMPDLLData (MPD *mpd, AampLLDashServiceData &stAampLLDashServiceData) |
Parse MPD LL elements. More... | |
AAMPStatusType | UpdateMPD (bool init=false) |
Update MPD manifest. More... | |
bool | FindServerUTCTime (Node *root) |
Read UTCTiming element. More... | |
void | FindTimedMetadata (MPD *mpd, Node *root, bool init=false, bool reportBulkMet=false) |
Find timed metadata from mainifest. More... | |
void | ProcessPeriodSupplementalProperty (Node *node, std::string &AdID, uint64_t startMS, uint64_t durationMS, bool isInit, bool reportBulkMeta=false) |
Process supplemental property of a period. More... | |
void | ProcessPeriodAssetIdentifier (Node *node, uint64_t startMS, uint64_t durationMS, std::string &assetID, std::string &providerID, bool isInit, bool reportBulkMeta=false) |
Process Period AssetIdentifier. More... | |
bool | ProcessEventStream (uint64_t startMS, int64_t startOffsetMS, IPeriod *period, bool reportBulkMeta) |
Process event stream. More... | |
void | ProcessStreamRestrictionList (Node *node, const std::string &AdID, uint64_t startMS, bool isInit, bool reportBulkMeta) |
Process Stream restriction list. More... | |
void | ProcessStreamRestriction (Node *node, const std::string &AdID, uint64_t startMS, bool isInit, bool reportBulkMeta) |
Process stream restriction. More... | |
void | ProcessStreamRestrictionExt (Node *node, const std::string &AdID, uint64_t startMS, bool isInit, bool reportBulkMeta) |
Process stream restriction extension. More... | |
void | ProcessTrickModeRestriction (Node *node, const std::string &AdID, uint64_t startMS, bool isInit, bool reportBulkMeta) |
Process trick mode restriction. More... | |
void | FetchAndInjectInitFragments (bool discontinuity=false) |
Fetch and inject initialization fragment for all available tracks. More... | |
void | FetchAndInjectInitialization (int trackIdx, bool discontinuity=false) |
Fetch and inject initialization fragment for media type. More... | |
void | StreamSelection (bool newTune=false, bool forceSpeedsChangedEvent=false) |
Does stream selection. More... | |
bool | CheckForInitalClearPeriod () |
Check if current period is clear. More... | |
bool | PushEncryptedHeaders () |
Push encrypted headers if available return true for a successful encypted init fragment push. More... | |
int | GetProfileIdxForBandwidthNotification (uint32_t bandwidth) |
Get profile index for bandwidth notification. More... | |
std::string | GetCurrentMimeType (MediaType mediaType) |
GetCurrentMimeType. More... | |
AAMPStatusType | UpdateTrackInfo (bool modifyDefaultBW, bool periodChanged, bool resetTimeLineIndex=false) |
Updates track information based on current state. | |
double | SkipFragments (class MediaStreamContext *pMediaStreamContext, double skipTime, bool updateFirstPTS=false, bool skipToEnd=false) |
Skip fragments by given time. More... | |
void | SkipToEnd (class MediaStreamContext *pMediaStreamContext) |
Skip to end of track. More... | |
void | ProcessContentProtection (IAdaptationSet *adaptationSet, MediaType mediaType, std::shared_ptr< AampDrmHelper > drmHelper=nullptr) |
Process content protection of adaptation. More... | |
void | SeekInPeriod (double seekPositionSeconds, bool skipToEnd=false) |
Seek current period by a given time. More... | |
void | ApplyLiveOffsetWorkaroundForSAP (double seekPositionSeconds) |
Find the fragment based on the system clock after the SAP. More... | |
double | GetCulledSeconds () |
Update culling state for live manifests. | |
void | UpdateCulledAndDurationFromPeriodInfo () |
Update culled and duration value from periodinfo. | |
void | UpdateLanguageList () |
Update language list state variables. More... | |
int | GetBestAudioTrackByLanguage (int &desiredRepIdx, AudioType &selectedCodecType, std::vector< AudioTrackInfo > &ac4Tracks, std::string &audioTrackIndex) |
Get the best Audio track by Language, role, and/or codec type. More... | |
int | GetPreferredAudioTrackByLanguage () |
bool | CheckProducerReferenceTimeUTCTimeMatch (IProducerReferenceTime *pRT) |
Check if ProducerReferenceTime UTCTime type Matches with Other UTCtime type declaration. More... | |
void | PrintProducerReferenceTimeAtrributes (IProducerReferenceTime *pRT) |
Print ProducerReferenceTime parsed data. More... | |
IProducerReferenceTime * | GetProducerReferenceTimeForAdaptationSet (IAdaptationSet *adaptationSet) |
Check if ProducerReferenceTime available in AdaptationSet. More... | |
std::string | GetLanguageForAdaptationSet (IAdaptationSet *adaptationSet) |
Get the language for an adaptation set. More... | |
AAMPStatusType | GetMpdFromManfiest (const GrowableBuffer &manifest, MPD *&mpd, std::string manifestUrl, bool init=false) |
Get mpd object of manifest. More... | |
int | GetDrmPrefs (const std::string &uuid) |
std::string | GetPreferredDrmUUID () |
bool | IsEmptyPeriod (IPeriod *period, bool isFogPeriod=false) |
Check if Period is empty or not. More... | |
bool | IsEmptyAdaptation (IAdaptationSet *adaptationSet, bool isFogPeriod) |
Check if Period is empty or not. More... | |
void | GetAvailableVSSPeriods (std::vector< IPeriod * > &PeriodIds) |
Check new early available periods. More... | |
bool | CheckForVssTags () |
Check for VSS tags. More... | |
std::string | GetVssVirtualStreamID () |
GetVssVirtualStreamID from manifest. More... | |
bool | IsMatchingLanguageAndMimeType (MediaType type, std::string lang, IAdaptationSet *adaptationSet, int &representationIndex) |
To check if the adaptation set is having matching language and supported mime type. More... | |
void | GetFragmentUrl (std::string &fragmentUrl, const FragmentDescriptor *fragmentDescriptor, std::string media) |
Generates fragment url from media information. More... | |
double | GetEncoderDisplayLatency () |
void | StartLatencyMonitorThread () |
Starts Latency monitor loop. More... | |
LatencyStatus | GetLatencyStatus () |
vector< IDescriptor * > | GetContentProtection (const IAdaptationSet *adaptationSet, MediaType mediaType) |
Get content protection from represetation/adaptation field. More... | |
bool | GetPreferredCodecIndex (IAdaptationSet *adaptationSet, int &selectedRepIdx, AudioType &selectedCodecType, uint32_t &selectedRepBandwidth, uint32_t &bestScore, bool disableEC3, bool disableATMOS, bool disableAC4, bool disableAC3, bool &disabled) |
Get representation index from preferred codec list. More... | |
void | PopulateAudioTracks (void) |
Get the audio track information from all period updated member variable mAudioTracksAll. More... | |
void | ParseAvailablePreselections (IMPDElement *period, std::vector< AudioTrackInfo > &audioAC4Tracks) |
Get the audio track information from all preselection node of the period. More... | |
void | PopulateTrackInfo (MediaType media, bool reset=false) |
Get the audio track information from all period updated member variable mAudioTracksAll. More... | |
bool | IsPeriodEncrypted (IPeriod *period) |
check if current period is encrypted More... | |
double | GetPeriodStartTime (IMPD *mpd, int periodIndex) |
Get start time of current period. More... | |
double | GetPeriodDuration (IMPD *mpd, int periodIndex) |
Get duration of current period. More... | |
double | GetPeriodEndTime (IMPD *mpd, int periodIndex, uint64_t mpdRefreshTime) |
Get end time of current period. More... | |
bool | isAdbreakStart (IPeriod *period, uint64_t &startMS, std::vector< EventBreakInfo > &eventBreakVec) |
Check whether the period has any valid ad. More... | |
bool | onAdEvent (AdEvent evt) |
Handlig Ad event. | |
bool | onAdEvent (AdEvent evt, double &adOffset) |
void | SetAudioTrackInfo (const std::vector< AudioTrackInfo > &tracks, const std::string &trackIndex) |
To set the audio tracks of current period. More... | |
void | SetTextTrackInfo (const std::vector< TextTrackInfo > &tracks, const std::string &trackIndex) |
void | FindPeriodGapsAndReport () |
Check if Period is empty or not. More... | |
Private Attributes | |
std::mutex | mStreamLock |
CMCDHeaders * | pCMCDMetrics |
bool | fragmentCollectorThreadStarted |
std::set< std::string > | mLangList |
double | seekPosition |
float | rate |
std::thread * | fragmentCollectorThreadID |
pthread_t | createDRMSessionThreadID |
std::thread * | deferredDRMRequestThread |
bool | deferredDRMRequestThreadStarted |
bool | mAbortDeferredLicenseLoop |
bool | drmSessionThreadStarted |
dash::mpd::IMPD * | mpd |
class MediaStreamContext * | mMediaStreamContext [4] |
int | mNumberOfTracks |
int | mCurrentPeriodIdx |
double | mEndPosition |
bool | mIsLiveStream |
bool | mIsLiveManifest |
StreamInfo * | mStreamInfo |
bool | mUpdateStreamInfo |
double | mPrevStartTimeSeconds |
std::string | mPrevLastSegurlMedia |
long | mPrevLastSegurlOffset |
double | mPeriodEndTime |
double | mPeriodStartTime |
double | mPeriodDuration |
uint64_t | mMinUpdateDurationMs |
double | mTSBDepth |
double | mPresentationOffsetDelay |
uint64_t | mLastPlaylistDownloadTimeMs |
double | mFirstPTS |
double | mStartTimeOfFirstPTS |
double | mVideoPosRemainder |
double | mFirstFragPTS [4] |
AudioType | mAudioType |
int | mPrevAdaptationSetCount |
std::vector< long > | mBitrateIndexVector |
std::map< int, struct ProfileInfo > | mProfileMaps |
bool | mIsFogTSB |
IPeriod * | mCurrentPeriod |
std::string | mBasePeriodId |
double | mBasePeriodOffset |
class PrivateCDAIObjectMPD * | mCdaiObject |
std::shared_ptr< AampDrmHelper > | mLastDrmHelper |
std::vector< std::string > | mEarlyAvailablePeriodIds |
std::map< std::string, struct EarlyAvailablePeriodInfo > | mEarlyAvailableKeyIDMap |
std::queue< std::string > | mPendingKeyIDs |
int | mCommonKeyDuration |
long | mMaxTSBBandwidth |
double | mLiveEndPosition |
double | mCulledSeconds |
bool | mAdPlayingFromCDN |
double | mAvailabilityStartTime |
std::map< std::string, int > | mDrmPrefs |
int | mMaxTracks |
double | mServerUtcTime |
double | mDeltaTime |
double | mHasServerUtcTime |
std::vector< StreamInfo * > | thumbnailtrack |
std::vector< TileInfo > | indexedTileInfo |
double | mFirstPeriodStartTime |
LatencyStatus | latencyStatus |
LatencyStatus | prevLatencyStatus |
bool | latencyMonitorThreadStarted |
pthread_t | latencyMonitorThreadID |
int | mProfileCount |
std::unique_ptr< SubtitleParser > | mSubtitleParser |
Additional Inherited Members | |
Data Fields inherited from StreamAbstractionAAMP | |
PrivateInstanceAAMP * | aamp |
AampLogManager * | mLogObj |
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 Attributes inherited from StreamAbstractionAAMP | |
std::vector< AudioTrackInfo > | mAudioTracks |
std::vector< AudioTrackInfo > | mAudioTracksAll |
std::vector< TextTrackInfo > | mTextTracksAll |
std::vector< TextTrackInfo > | mTextTracks |
MediaTrackDiscontinuityState | mTrackState |
std::string | mAudioTrackIndex |
std::string | mTextTrackIndex |
bool | mFwdAudioToAux |
Fragment collector for MPEG DASH.
Definition at line 175 of file fragmentcollector_mpd.h.
|
overridevirtual |
Starts streaming.
Implements StreamAbstractionAAMP.
Definition at line 9867 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Stops streaming.
clearChannelData | - ignored. |
Implements StreamAbstractionAAMP.
Definition at line 9897 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Initialize a newly created object.
true | on success |
false | on failure |
tuneType | to set type of object. |
Implements StreamAbstractionAAMP.
Definition at line 4162 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Get output format of stream.
[out] | primaryOutputFormat | - format of primary track |
[out] | audioOutputFormat | - format of audio track |
[out] | auxOutputFormat | - format of aux audio track |
[out] | subtitleOutputFormat | - format of sutbtile track |
Implements StreamAbstractionAAMP.
Definition at line 10029 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Get current stream position.
current | position of stream. |
Implements StreamAbstractionAAMP.
Definition at line 10107 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Return MediaTrack of requested type.
MediaTrack | pointer. |
[in] | type | - track type |
Implements StreamAbstractionAAMP.
Definition at line 10083 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Get PTS of first sample.
PTS | of first sample |
Implements StreamAbstractionAAMP.
Definition at line 10204 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Get Start time PTS of first sample.
start | time of first sample |
Implements StreamAbstractionAAMP.
Definition at line 10215 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Get index of profile corresponds to bandwidth.
profile | index |
[in] | bitrate | Bitrate to lookup profile |
Implements StreamAbstractionAAMP.
Definition at line 10224 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Gets Max bitrate supported.
Reimplemented from StreamAbstractionAAMP.
Definition at line 10271 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Stops injecting fragments to StreamSink.
Implements StreamAbstractionAAMP.
Definition at line 10616 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Start injecting fragments to StreamSink.
Implements StreamAbstractionAAMP.
Definition at line 10641 of file fragmentcollector_mpd.cpp.
|
virtual |
Function to get the buffer duration of stream.
Implements StreamAbstractionAAMP.
Definition at line 10089 of file fragmentcollector_mpd.cpp.
|
inlinevirtual |
Update seek position when player is initialized.
[in] | secondsRelativeToTuneTime | seekposition time. |
Implements StreamAbstractionAAMP.
Definition at line 271 of file fragmentcollector_mpd.h.
|
overridevirtual |
Set Client Side DAI object instance.
[in] | cdaiObj | - Pointer to Client Side DAI object. |
Reimplemented from StreamAbstractionAAMP.
Definition at line 10662 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
To set the audio tracks of current period.
[in] | tracks | - available audio tracks in period |
[in] | trackIndex | - index of current audio track |
Reimplemented from StreamAbstractionAAMP.
Definition at line 11445 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Gets all/current available text tracks.
To set the text tracks of current period.
vector | of tracks |
[in] | tracks | - available text tracks in period |
[in] | trackIndex | - index of current text track |
Reimplemented from StreamAbstractionAAMP.
Definition at line 11468 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
check if current stream have 4K content
height | - resolution of 4K stream if found |
bandwidth | - bandwidth of 4K stream if foudd |
Implements StreamAbstractionAAMP.
Definition at line 4980 of file fragmentcollector_mpd.cpp.
|
virtual |
Gets number of profiles.
number | of profiles |
Reimplemented from StreamAbstractionAAMP.
Definition at line 10127 of file fragmentcollector_mpd.cpp.
|
virtual |
Get profile index for TsbBandwidth.
profile | index of the current bandwidth |
mTsbBandwidth | - bandwidth to identify profile index from list |
Reimplemented from StreamAbstractionAAMP.
Definition at line 10149 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
thumbnail | index value indicating the track to select |
Implements StreamAbstractionAAMP.
Definition at line 10494 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
tStart | start duration of thumbnail data. |
tEnd | end duration of thumbnail data. |
*baseurl | base url of thumbnail images. |
*raw_w | absolute width of the thumbnail spritesheet. |
*raw_h | absolute height of the thumbnail spritesheet. |
*width | width of each thumbnail tile. |
*height | height of each thumbnail tile. |
Implements StreamAbstractionAAMP.
Definition at line 10524 of file fragmentcollector_mpd.cpp.
StreamAbstractionAAMP_MPD::GetAdaptationSetAtIndex | ( | int | idx | ) |
StreamAbstractionAAMP_MPD::GetAdaptationSetAndRepresetationIndicesForProfile | ( | int | profileIndex | ) |
Get Adaptation Set and Representation Index for given profile.
Adaptation | Set and Representation Index pair for given profile |
[in] | idx | - Profile Index |
Definition at line 6234 of file fragmentcollector_mpd.cpp.
StreamAbstractionAAMP_MPD::FetchFragment | ( | class MediaStreamContext * | pMediaStreamContext, |
std::string | media, | ||
double | fragmentDuration, | ||
bool | isInitializationSegment, | ||
unsigned int | curlInstance, | ||
bool | discontinuity = false , |
||
double | pto = 0 , |
||
uint32_t | scale = 0 |
||
) |
Fetch and cache a fragment.
true | on fetch success |
pMediaStreamContext | Track object pointer |
media | media descriptor string |
fragmentDuration | duration of fragment in seconds |
isInitializationSegment | true if fragment is init fragment |
curlInstance | curl instance to be used to fetch |
discontinuity | true if fragment is discontinuous |
pto | unscaled pto value from mpd |
scale | timeScale value from mpd |
Definition at line 1138 of file fragmentcollector_mpd.cpp.
StreamAbstractionAAMP_MPD::PushNextFragment | ( | class MediaStreamContext * | pMediaStreamContext, |
unsigned int | curlInstance | ||
) |
Fetch and push next fragment.
true | if push is done successfully |
pMediaStreamContext | Track object |
curlInstance | instance of curl to be used to fetch |
Definition at line 1223 of file fragmentcollector_mpd.cpp.
|
virtual |
Get Period Start Time.
Period | Start Time. |
Reimplemented from StreamAbstractionAAMP.
Definition at line 10118 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Kicks off subtitle display - sent at start of video presentation.
Reimplemented from StreamAbstractionAAMP.
Definition at line 6749 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Pause/unpause subtitles.
pause | - enable or disable pause |
Reimplemented from StreamAbstractionAAMP.
Definition at line 6765 of file fragmentcollector_mpd.cpp.
|
virtual |
Get timescale from current period.
timescale |
Reimplemented from StreamAbstractionAAMP.
Definition at line 8014 of file fragmentcollector_mpd.cpp.
StreamAbstractionAAMP_MPD::GetPreferredTextRepresentation | ( | IAdaptationSet * | adaptationSet, |
int & | selectedRepIdx, | ||
uint32_t & | selectedRepBandwidth, | ||
unsigned long long & | score, | ||
std::string & | name, | ||
std::string & | codec | ||
) |
Get representation index from preferred codec list.
whether | track selected or not |
[in] | adaptationSet | Adaptation set object |
[out] | selectedRepIdx | - Selected representation index |
[out] | selectedRepBandwidth | - selected audio track bandwidth |
Definition at line 604 of file fragmentcollector_mpd.cpp.
|
static |
Static function Do not use aamp log function
Definition at line 6797 of file fragmentcollector_mpd.cpp.
|
static |
Static function Do not use aamp log function
Definition at line 6776 of file fragmentcollector_mpd.cpp.
StreamAbstractionAAMP_MPD::GetBestTextTrackByLanguage | ( | TextTrackInfo & | selectedTextTrack | ) |
[out] | selectedTextTrack | selected representation Index |
Definition at line 6613 of file fragmentcollector_mpd.cpp.
StreamAbstractionAAMP_MPD::ParseTrackInformation | ( | IAdaptationSet * | adaptationSet, |
uint32_t | iAdaptationIndex, | ||
MediaType | media, | ||
std::vector< AudioTrackInfo > & | aTracks, | ||
std::vector< TextTrackInfo > & | tTracks | ||
) |
adaptationSet | Adaptation Node | |
MediaType | type of media | |
[out] | aTracks | audio tracks |
[out] | tTracks | text tracks |
Definition at line 6823 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Init webvtt subtitle parser for sidecar caption support.
webvtt | data | |
[in] | data | - subtitle data from application |
Reimplemented from StreamAbstractionAAMP.
Definition at line 9741 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Reset subtitle parser created for sidecar caption support.
Reimplemented from StreamAbstractionAAMP.
Definition at line 9760 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Mute subtitles on puase.
Reimplemented from StreamAbstractionAAMP.
Definition at line 9772 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Resume subtitle on play.
mute | status | |
webvtt | data | |
[in] | mute | - mute status |
[in] | data | - subtitle data from application |
Reimplemented from StreamAbstractionAAMP.
Definition at line 9786 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Mute/unmute subtitles.
mute/unmute | ||
[in] | mute | - mute/unmute |
Reimplemented from StreamAbstractionAAMP.
Definition at line 9801 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Resume subtitle after seek.
mute | status | |
webvtt | data | |
[in] | mute | - mute status |
[in] | data | - subtitle data from application |
Reimplemented from StreamAbstractionAAMP.
Definition at line 9812 of file fragmentcollector_mpd.cpp.
|
overridevirtual |
Set the text style of the subtitle to the options passed.
[in] | options | - reference to the Json string that contains the information |
Reimplemented from StreamAbstractionAAMP.
Definition at line 12606 of file fragmentcollector_mpd.cpp.
|
private |
Print the current the track information.
[in] | trackIndex | - selected track index |
[in] | media | - Media type |
Definition at line 11203 of file fragmentcollector_mpd.cpp.
|
private |
Fetches and caches audio fragment parallelly for video fragment.
Definition at line 8751 of file fragmentcollector_mpd.cpp.
|
private |
Fetches and caches fragments in a loop.
Definition at line 8866 of file fragmentcollector_mpd.cpp.
|
overrideprivatevirtual |
Get stream information of a profile from subclass.
stream | information corresponding to index. |
[in] | idx | - profile index. |
Implements StreamAbstractionAAMP.
Definition at line 10177 of file fragmentcollector_mpd.cpp.
|
private |
Check if LLProfile is Available in MPD.
bool | true if LL profile. Else false |
mpd | Pointer to manifest |
Definition at line 12021 of file fragmentcollector_mpd.cpp.
|
private |
EnableAndSetLiveOffsetForLLDashPlayback based on playerconfig/LL-dash profile/availabilityTimeOffset and set the LiveOffset.
[In] | const mpd Pointer to FragmentCollector |
AAMPStatusType |
Definition at line 12135 of file fragmentcollector_mpd.cpp.
|
private |
get Low Latency Parameters from segement template and timeline
[In] | const mpd Pointer to FragmentCollector |
[Out] | LLDashData Reference to LowLatency element parsed data |
bool | true if successfully Parsed Low Latency elements. Else false |
Definition at line 12326 of file fragmentcollector_mpd.cpp.
|
private |
Parse MPD LL elements.
[In] | mpd Pointer to FragmentCollector |
[Out] | stAampLLDashServiceData Reference to LowLatency element parsed data |
bool | true if successfully Parsed Low Latency elements. Else false |
Definition at line 12422 of file fragmentcollector_mpd.cpp.
|
private |
Update MPD manifest.
true | on success |
init | retrievePlaylistFromCache true to try to get from cache |
Definition at line 5074 of file fragmentcollector_mpd.cpp.
|
private |
Read UTCTiming element.
Return | true if UTCTiming element is available in the manifest |
mpd | MPD top level element |
root | XML root node |
Definition at line 5355 of file fragmentcollector_mpd.cpp.
|
private |
Find timed metadata from mainifest.
mpd | MPD top level element |
root | XML root node |
init | true if this is the first playlist download for a tune/seek/trickplay |
reportBulkMeta | true if bulkTimedMetadata feature is enabled |
Definition at line 5409 of file fragmentcollector_mpd.cpp.
|
private |
Process supplemental property of a period.
node | SupplementalProperty node | |
[out] | AdID | AD Id |
startMS | start time in MS | |
durationMS | duration in MS | |
isInit | true if its the first playlist download | |
reportBulkMeta | true if bulk metadata is enabled |
Definition at line 5665 of file fragmentcollector_mpd.cpp.
|
private |
Process Period AssetIdentifier.
node | AssetIdentifier node |
startMS | start time MS |
durationMS | duration MS |
AssetID | Asset Id |
ProviderID | Provider Id |
isInit | true if its the first playlist download |
reportBulkMeta | true if bulk metadata is enabled |
Definition at line 5747 of file fragmentcollector_mpd.cpp.
|
private |
Process event stream.
startMS | the start time of the event derived from the (previous) period info (ms) | |
startOffsetMS | the start time of the stream derived from the first segment | |
[in] | period | instance. |
reportBulkMeta | true if bulk metadata is enabled |
Definition at line 5842 of file fragmentcollector_mpd.cpp.
|
private |
Process Stream restriction list.
node | StreamRestrictionListType node |
AdID | Ad Id |
startMS | start time MS |
isInit | true if its the first playlist download |
reportBulkMeta | true if bulk metadata is enabled |
Definition at line 5936 of file fragmentcollector_mpd.cpp.
|
private |
Process stream restriction.
node | StreamRestriction xml node |
AdID | Ad ID |
startMS | Start time in MS |
isInit | true if its the first playlist download |
reportBulkMeta | true if bulk metadata is enabled |
Definition at line 5963 of file fragmentcollector_mpd.cpp.
|
private |
Process stream restriction extension.
node | Ext child of StreamRestriction xml node |
AdID | Ad ID |
startMS | start time in ms |
isInit | true if its the first playlist download |
reportBulkMeta | true if bulk metadata is enabled |
Definition at line 5990 of file fragmentcollector_mpd.cpp.
|
private |
Process trick mode restriction.
node | TrickModeRestriction xml node |
AdID | Ad ID |
startMS | start time in ms |
isInit | true if its the first playlist download |
reportBulkMeta | true if bulk metadata is enabled |
Definition at line 6010 of file fragmentcollector_mpd.cpp.
|
private |
Fetch and inject initialization fragment for all available tracks.
discontinuity | number of tracks and discontinuity true if discontinuous fragment |
Definition at line 8344 of file fragmentcollector_mpd.cpp.
|
private |
Fetch and inject initialization fragment for media type.
trackIdx,discontinuity | number of tracks and discontinuity true if discontinuous fragment |
Definition at line 8355 of file fragmentcollector_mpd.cpp.
|
private |
Does stream selection.
newTune | true if this is a new tune |
Definition at line 7003 of file fragmentcollector_mpd.cpp.
|
private |
Check if current period is clear.
true | if clear period |
Definition at line 8606 of file fragmentcollector_mpd.cpp.
|
private |
Push encrypted headers if available return true for a successful encypted init fragment push.
Definition at line 8630 of file fragmentcollector_mpd.cpp.
|
private |
Get profile index for bandwidth notification.
profile | index of the current bandwidth |
bandwidth | - bandwidth to identify profile index from list |
Definition at line 7418 of file fragmentcollector_mpd.cpp.
|
private |
GetCurrentMimeType.
MediaType | type of media |
mimeType |
Definition at line 7439 of file fragmentcollector_mpd.cpp.
|
private |
Skip fragments by given time.
pMediaStreamContext | Media track object |
skipTime | time to skip in seconds |
updateFirstPTS | true to update first pts state variable |
Definition at line 2347 of file fragmentcollector_mpd.cpp.
|
private |
Skip to end of track.
pMediaStreamContext | Track object pointer |
Definition at line 2287 of file fragmentcollector_mpd.cpp.
|
private |
Process content protection of adaptation.
adaptationSet | Adaptation set object |
mediaType | type of track |
Definition at line 3485 of file fragmentcollector_mpd.cpp.
|
private |
Seek current period by a given time.
seekPositionSeconds | seek positon in seconds |
Definition at line 2222 of file fragmentcollector_mpd.cpp.
|
private |
Find the fragment based on the system clock after the SAP.
seekPositionSeconds | seek positon in seconds. |
Definition at line 2243 of file fragmentcollector_mpd.cpp.
|
private |
Update language list state variables.
Definition at line 6244 of file fragmentcollector_mpd.cpp.
|
private |
Get the best Audio track by Language, role, and/or codec type.
desiredRepIdx | [out] selected representation Index |
CodecType | [out] selected codec type |
ac4Tracks | parsed track from preselection node |
audioTrackIndex | selected audio track index |
Definition at line 6381 of file fragmentcollector_mpd.cpp.
|
private |
Check if ProducerReferenceTime UTCTime type Matches with Other UTCtime type declaration.
bool | true if Match exist. Else false |
pRT | Pointer to ProducerReferenceTime |
Definition at line 12041 of file fragmentcollector_mpd.cpp.
|
private |
Print ProducerReferenceTime parsed data.
void |
pRT | Pointer to ProducerReferenceTime |
Definition at line 12098 of file fragmentcollector_mpd.cpp.
|
private |
Check if ProducerReferenceTime available in AdaptationSet.
IProducerReferenceTime* | Porinter to parsed ProducerReferenceTime data |
adaptationSet | Pointer to AdaptationSet |
Definition at line 12111 of file fragmentcollector_mpd.cpp.
|
private |
Get the language for an adaptation set.
adaptationSet | Pointer to adaptation set |
language | of adaptation set |
Definition at line 6182 of file fragmentcollector_mpd.cpp.
|
private |
Get mpd object of manifest.
AAMPStatusType | indicates if success or fail |
manifest | buffer pointer |
mpd | MPD object of manifest |
manifestUrl | manifest url |
init | true if this is the first playlist download for a tune/seek/trickplay |
Definition at line 2841 of file fragmentcollector_mpd.cpp.
|
private |
The | UUID for the DRM type |
|
private |
Check if Period is empty or not.
Return | true on empty Period |
period | period to check whether it is empty |
isFogPeriod | true if it is fog period |
Return | true on empty Period |
Definition at line 5218 of file fragmentcollector_mpd.cpp.
|
private |
Check if Period is empty or not.
Return | true on empty Period |
Adaptation | Adaptationto check whether it is empty |
isFogPeriod | true if it is fog period |
Definition at line 5255 of file fragmentcollector_mpd.cpp.
|
private |
Check new early available periods.
PeriodIds | vector of new Early Available Periods |
Definition at line 9624 of file fragmentcollector_mpd.cpp.
|
private |
Check for VSS tags.
bool | true if found, false otherwise |
Definition at line 9647 of file fragmentcollector_mpd.cpp.
|
private |
GetVssVirtualStreamID from manifest.
return | Virtual stream ID string |
Definition at line 9694 of file fragmentcollector_mpd.cpp.
|
private |
To check if the adaptation set is having matching language and supported mime type.
[in] | type | - media type |
[in] | lang | - language to be matched |
[in] | adaptationSet | - adaptation to be checked for |
[out] | representionIndex | - represention within adaptation with matching params |
Definition at line 11521 of file fragmentcollector_mpd.cpp.
|
private |
Generates fragment url from media information.
[out] | fragmentUrl | fragment url |
fragmentDescriptor | descriptor | |
media | media information string |
Definition at line 1031 of file fragmentcollector_mpd.cpp.
|
private |
Starts Latency monitor loop.
Definition at line 11801 of file fragmentcollector_mpd.cpp.
|
private |
Get content protection from represetation/adaptation field.
content | protections if present. Else NULL. |
[In] | adaptation set and media type |
Definition at line 12572 of file fragmentcollector_mpd.cpp.
|
private |
Get representation index from preferred codec list.
whether | track selected or not |
adaptationSet | Adaptation set object | |
[out] | selectedRepIdx | - Selected representation index |
[out] | selectedCodecType | type of desired representation |
[out] | selectedRepBandwidth | - selected audio track bandwidth |
disableEC3 | whether EC3 deabled by config | |
disableATMOS | whether ATMOS audio deabled by config |
Definition at line 531 of file fragmentcollector_mpd.cpp.
|
private |
Get the audio track information from all period updated member variable mAudioTracksAll.
|
private |
Get the audio track information from all preselection node of the period.
period | Node ans IMPDElement |
Definition at line 11336 of file fragmentcollector_mpd.cpp.
|
private |
Get the audio track information from all period updated member variable mAudioTracksAll.
media | - Media type |
- | Do need to reset vector? @retun none |
Definition at line 11392 of file fragmentcollector_mpd.cpp.
|
private |
check if current period is encrypted
[in] | period | - current period |
true | on success |
Definition at line 5044 of file fragmentcollector_mpd.cpp.
|
private |
Get start time of current period.
current | period's start time |
mpd | : pointer manifest |
periodIndex |
Definition at line 3760 of file fragmentcollector_mpd.cpp.
|
private |
Get duration of current period.
current | period's duration |
mpd | : pointer manifest |
periodIndex | Index of the current period |
Definition at line 3820 of file fragmentcollector_mpd.cpp.
|
private |
Get end time of current period.
current | period's end time |
mpd | : pointer manifest |
periodIndex | Index of the current period |
mpdRefreshTime | : time when manifest was downloade |
Definition at line 3903 of file fragmentcollector_mpd.cpp.
|
private |
Check whether the period has any valid ad.
[in] | period | instance. |
[in] | startMS | start time in milli seconds. |
[in] | eventBreakVec | vector of EventBreakInfo structure. |
Definition at line 10675 of file fragmentcollector_mpd.cpp.
|
private |
To set the audio tracks of current period.
[in] | tracks | - available audio tracks in period |
[in] | trackIndex | - index of current audio track |
Definition at line 11242 of file fragmentcollector_mpd.cpp.
|
private |
Check if Period is empty or not.
Return | true on empty Period |
Definition at line 5309 of file fragmentcollector_mpd.cpp.
|
private |
pointer object to class CMCDHeaders
Definition at line 802 of file fragmentcollector_mpd.h.
|
private |
Stream is live or not; won't change during runtime.
Definition at line 818 of file fragmentcollector_mpd.h.
|
private |
Current manifest is dynamic or static; may change during runtime. eg: Hot DVR.
Definition at line 819 of file fragmentcollector_mpd.h.
|
private |
Indicates mStreamInfo needs to be updated
Definition at line 821 of file fragmentcollector_mpd.h.
|
private |
duration offset from beginning of TSB
Definition at line 824 of file fragmentcollector_mpd.h.
|
private |
Latency status of the playback
Definition at line 940 of file fragmentcollector_mpd.h.
|
private |
Previous latency status of the playback
Definition at line 941 of file fragmentcollector_mpd.h.
|
private |
Monitor latency thread status
Definition at line 942 of file fragmentcollector_mpd.h.
|
private |
Fragment injector thread id
Definition at line 943 of file fragmentcollector_mpd.h.
|
private |
Total video profile count
Definition at line 944 of file fragmentcollector_mpd.h.
|
private |
Parser for subtitle data
Definition at line 945 of file fragmentcollector_mpd.h.