RDK Documentation (Open Sourced RDK Components)
MediaTrack Class Referenceabstract

Base Class for Media Track. More...

#include <StreamAbstractionAAMP.h>

Inheritance diagram for MediaTrack:
Inheritance graph
Collaboration diagram for MediaTrack:
Collaboration graph

Public Member Functions

 MediaTrack (AampLogManager *logObj, TrackType type, PrivateInstanceAAMP *aamp, const char *name)
 MediaTrack Constructor.
 
virtual ~MediaTrack ()
 MediaTrack Destructor.
 
 MediaTrack (const MediaTrack &)=delete
 MediaTrack Copy Constructor.
 
MediaTrackoperator= (const MediaTrack &)=delete
 MediaTrack assignment operator overloading.
 
void StartInjectLoop ()
 Start fragment injector loop. More...
 
void StartInjectChunkLoop ()
 Start fragment Chunk injector loop. More...
 
void StopInjectLoop ()
 Stop fragment injector loop. More...
 
void StopInjectChunkLoop ()
 Stop fragment chunk injector loop of track. More...
 
bool Enabled ()
 Check if a track is enabled. More...
 
bool InjectFragment ()
 Inject fragment into the gstreamer. More...
 
bool ProcessFragmentChunk ()
 Process next cached fragment chunk.
 
bool InjectFragmentChunk ()
 Inject fragment Chunk into the gstreamer. More...
 
double GetTotalInjectedDuration ()
 Get total fragment injected duration. More...
 
double GetTotalInjectedChunkDuration ()
 Get total fragment chunk injected duration. More...
 
void RunInjectLoop ()
 Injection loop - use internally by injection logic. More...
 
void RunInjectChunkLoop ()
 Run fragment injector loop. Injection loop - use internally by injection logic. More...
 
void UpdateTSAfterFetch ()
 Updates internal state after a fragment fetch. More...
 
void UpdateTSAfterChunkFetch ()
 Updates internal state after a fragment fetch. More...
 
bool WaitForFreeFragmentAvailable (int timeoutMs=-1)
 Wait until a free fragment is available. More...
 
void AbortWaitForCachedAndFreeFragment (bool immediate)
 Abort the waiting for cached fragments and free fragment slot. More...
 
virtual void ABRProfileChanged (void)=0
 Notifies profile changes to subclasses. More...
 
virtual double GetBufferedDuration (void)=0
 
int GetTotalFragmentsFetched ()
 Get number of fragments dpownloaded. More...
 
CachedFragmentGetFetchBuffer (bool initialize)
 Get buffer to store the downloaded fragment content to cache next fragment. More...
 
CachedFragmentChunkGetFetchChunkBuffer (bool initialize)
 Get buffer to fetch and cache next fragment chunk. More...
 
void SetCurrentBandWidth (int bandwidthBps)
 Set current bandwidth of track. More...
 
int GetProfileIndexForBW (long mTsbBandwidth)
 Get profile index for TsbBandwidth. More...
 
int GetCurrentBandWidth ()
 Get current bandwidth in bps. More...
 
double GetTotalFetchedDuration ()
 Get total duration of fetched fragments. More...
 
double GetTotalInjectedChunksDuration ()
 Get total duration of fetched fragments. More...
 
bool IsDiscontinuityProcessed ()
 Check if discontinuity is being processed. More...
 
bool isFragmentInjectorThreadStarted ()
 
void MonitorBufferHealth ()
 
void ScheduleBufferHealthMonitor ()
 
BufferHealthStatus GetBufferStatus ()
 Get buffer Status of track. More...
 
BufferHealthStatus GetBufferHealthStatus ()
 Get buffer health status. More...
 
void AbortWaitForCachedFragment ()
 Abort the waiting for cached fragments immediately. More...
 
bool IsInjectionAborted ()
 Check whether track data injection is aborted. More...
 
virtual bool IsAtEndOfTrack ()
 Returns if the end of track reached.
 
bool CheckForFutureDiscontinuity (double &cacheDuration)
 To check for discontinuity in future fragments. More...
 
void OnSinkBufferFull ()
 Called if sink buffer is full. More...
 
void FlushFragments ()
 Flushes all cached fragments Flushes all media fragments and resets all relevant counters Only intended for use on subtitle streams. More...
 
void FlushFragmentChunks ()
 Flushes all cached fragment Chunks. More...
 

Data Fields

bool eosReached
 
bool enabled
 
int numberOfFragmentsCached
 
int numberOfFragmentChunksCached
 
const char * name
 
double fragmentDurationSeconds
 
int segDLFailCount
 
int segDrmDecryptFailCount
 
int mSegInjectFailCount
 
TrackType type
 
std::unique_ptr< SubtitleParsermSubtitleParser
 
bool refreshSubtitles
 
int maxCachedFragmentsPerTrack
 
int maxCachedFragmentChunksPerTrack
 
pthread_cond_t fragmentChunkFetched
 
uint32_t totalMdatCount
 
int noMDATCount
 

Protected Member Functions

void UpdateTSAfterInject ()
 Update segment cache and inject buffer to gstreamer. More...
 
void UpdateTSAfterChunkInject ()
 Update segment cache and inject buffer to gstreamer. More...
 
bool WaitForCachedFragmentAvailable ()
 Wait till cached fragment available. More...
 
bool WaitForCachedFragmentChunkInjected (int timeoutMs=-1)
 Wait until a cached fragment chunk is Injected. More...
 
bool WaitForCachedFragmentChunkAvailable ()
 Wait till cached fragment chunk available. More...
 
virtual class StreamAbstractionAAMPGetContext ()=0
 Get the context of media track. To be implemented by subclasses. More...
 
virtual void InjectFragmentInternal (CachedFragment *cachedFragment, bool &fragmentDiscarded)=0
 To be implemented by derived classes to receive cached fragment. More...
 
void InjectFragmentChunkInternal (MediaType mediaType, GrowableBuffer *buffer, double fpts, double fdts, double fDuration)
 To be implemented by derived classes to receive cached fragment Chunk Receives cached fragment and injects to sink. More...
 
virtual void SignalTrickModeDiscontinuity ()
 To be implemented by derived classes if discontinuity on trick-play is to be notified. More...
 

Static Protected Member Functions

static int GetDeferTimeMs (long maxTimeSeconds)
 

Protected Attributes

AampLogManagermLogObj
 
PrivateInstanceAAMPaamp
 
CachedFragmentcachedFragment
 
CachedFragmentChunk cachedFragmentChunks [20]
 
GrowableBuffer unparsedBufferChunk
 
GrowableBuffer parsedBufferChunk
 
bool abort
 
pthread_mutex_t mutex
 
bool ptsError
 
bool abortInject
 
bool abortInjectChunk
 

Static Private Member Functions

static const char * GetBufferHealthStatusString (BufferHealthStatus status)
 Get string corresponding to buffer status. More...
 

Private Attributes

pthread_cond_t fragmentFetched
 
pthread_cond_t fragmentInjected
 
pthread_t fragmentInjectorThreadID
 
pthread_cond_t fragmentChunkInjected
 
pthread_t fragmentChunkInjectorThreadID
 
pthread_t bufferMonitorThreadID
 
int totalFragmentsDownloaded
 
int totalFragmentChunksDownloaded
 
bool fragmentInjectorThreadStarted
 
bool fragmentChunkInjectorThreadStarted
 
bool bufferMonitorThreadStarted
 
double totalInjectedDuration
 
double totalInjectedChunksDuration
 
int currentInitialCacheDurationSeconds
 
bool sinkBufferIsFull
 
bool cachingCompleted
 
int fragmentIdxToInject
 
int fragmentChunkIdxToInject
 
int fragmentIdxToFetch
 
int fragmentChunkIdxToFetch
 
int bandwidthBitsPerSecond
 
double totalFetchedDuration
 
bool discontinuityProcessed
 
BufferHealthStatus bufferStatus
 
BufferHealthStatus prevBufferStatus
 
long long prevDownloadStartTime
 

yes

Base Class for Media Track.

Definition at line 159 of file StreamAbstractionAAMP.h.

Member Function Documentation

◆ StartInjectLoop()

MediaTrack::StartInjectLoop ( )

Start fragment injector loop.

Returns
void

Definition at line 1136 of file streamabstraction.cpp.

◆ StartInjectChunkLoop()

MediaTrack::StartInjectChunkLoop ( )

Start fragment Chunk injector loop.

Returns
void

Definition at line 1155 of file streamabstraction.cpp.

◆ StopInjectLoop()

MediaTrack::StopInjectLoop ( )

Stop fragment injector loop.

Returns
void

Definition at line 1263 of file streamabstraction.cpp.

◆ StopInjectChunkLoop()

MediaTrack::StopInjectChunkLoop ( )

Stop fragment chunk injector loop of track.

Returns
void

Definition at line 1285 of file streamabstraction.cpp.

◆ Enabled()

MediaTrack::Enabled ( )

Check if a track is enabled.

Return values
trueif enabled, false if disabled

Definition at line 1307 of file streamabstraction.cpp.

◆ InjectFragment()

MediaTrack::InjectFragment ( )

Inject fragment into the gstreamer.

Returns
Success/Failure

Definition at line 895 of file streamabstraction.cpp.

◆ InjectFragmentChunk()

MediaTrack::InjectFragmentChunk ( )

Inject fragment Chunk into the gstreamer.

Returns
Success/Failure

Definition at line 873 of file streamabstraction.cpp.

◆ GetTotalInjectedDuration()

double MediaTrack::GetTotalInjectedDuration ( )
inline

Get total fragment injected duration.

Returns
Total duration in seconds

Definition at line 245 of file StreamAbstractionAAMP.h.

◆ GetTotalInjectedChunkDuration()

double MediaTrack::GetTotalInjectedChunkDuration ( )
inline

Get total fragment chunk injected duration.

Returns
Total duration in seconds

Definition at line 252 of file StreamAbstractionAAMP.h.

◆ RunInjectLoop()

MediaTrack::RunInjectLoop ( )

Injection loop - use internally by injection logic.

Returns
void

Definition at line 1174 of file streamabstraction.cpp.

◆ RunInjectChunkLoop()

MediaTrack::RunInjectChunkLoop ( )

Run fragment injector loop. Injection loop - use internally by injection logic.

Returns
void

Definition at line 1242 of file streamabstraction.cpp.

◆ UpdateTSAfterFetch()

MediaTrack::UpdateTSAfterFetch ( )

Updates internal state after a fragment fetch.

Returns
void

Definition at line 248 of file streamabstraction.cpp.

◆ UpdateTSAfterChunkFetch()

MediaTrack::UpdateTSAfterChunkFetch ( )

Updates internal state after a fragment fetch.

Returns
void

Definition at line 324 of file streamabstraction.cpp.

◆ WaitForFreeFragmentAvailable()

MediaTrack::WaitForFreeFragmentAvailable ( int  timeoutMs = -1)

Wait until a free fragment is available.

Note
To be called before fragment fetch by subclasses
Parameters
timeoutMs- timeout in milliseconds. -1 for infinite wait
Return values
trueif fragment available, false on abort.

Definition at line 351 of file streamabstraction.cpp.

◆ AbortWaitForCachedAndFreeFragment()

MediaTrack::AbortWaitForCachedAndFreeFragment ( bool  immediate)

Abort the waiting for cached fragments and free fragment slot.

Parameters
[in]immediate- Forced or lazy abort as in a seek/ stop
Returns
void

Definition at line 579 of file streamabstraction.cpp.

◆ ABRProfileChanged()

virtual void MediaTrack::ABRProfileChanged ( void  )
pure virtual

Notifies profile changes to subclasses.

Returns
void

Implemented in TrackState, and MediaStreamContext.

◆ GetTotalFragmentsFetched()

int MediaTrack::GetTotalFragmentsFetched ( )
inline

Get number of fragments dpownloaded.

Returns
Number of downloaded fragments

Definition at line 310 of file StreamAbstractionAAMP.h.

◆ GetFetchBuffer()

MediaTrack::GetFetchBuffer ( bool  initialize)

Get buffer to store the downloaded fragment content to cache next fragment.

Parameters
[in]initialize- Buffer to to initialized or not
Returns
Fragment cache buffer

Definition at line 1316 of file streamabstraction.cpp.

◆ GetFetchChunkBuffer()

MediaTrack::GetFetchChunkBuffer ( bool  initialize)

Get buffer to fetch and cache next fragment chunk.

Parameters
[in]initializetrue to initialize the fragment chunk
Return values
Pointerto fragment chunk buffer.

Definition at line 1334 of file streamabstraction.cpp.

◆ SetCurrentBandWidth()

MediaTrack::SetCurrentBandWidth ( int  bandwidthBps)

Set current bandwidth of track.

Parameters
[in]bandwidthBps- Bandwidth in bps
Returns
void

Definition at line 1361 of file streamabstraction.cpp.

◆ GetProfileIndexForBW()

MediaTrack::GetProfileIndexForBW ( long  mTsbBandwidth)

Get profile index for TsbBandwidth.

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

Definition at line 1369 of file streamabstraction.cpp.

◆ GetCurrentBandWidth()

MediaTrack::GetCurrentBandWidth ( )

Get current bandwidth in bps.

Returns
Bandwidth in bps

Definition at line 1377 of file streamabstraction.cpp.

◆ GetTotalFetchedDuration()

double MediaTrack::GetTotalFetchedDuration ( )
inline

Get total duration of fetched fragments.

Returns
Total duration in seconds

Definition at line 354 of file StreamAbstractionAAMP.h.

◆ GetTotalInjectedChunksDuration()

double MediaTrack::GetTotalInjectedChunksDuration ( )
inline

Get total duration of fetched fragments.

Returns
Total duration in seconds

Definition at line 361 of file StreamAbstractionAAMP.h.

◆ IsDiscontinuityProcessed()

bool MediaTrack::IsDiscontinuityProcessed ( )
inline

Check if discontinuity is being processed.

Returns
true if discontinuity is being processed

Definition at line 368 of file StreamAbstractionAAMP.h.

◆ GetBufferStatus()

BufferHealthStatus MediaTrack::GetBufferStatus ( )

Get buffer Status of track.

Returns
BufferHealthStatus

Definition at line 83 of file streamabstraction.cpp.

◆ GetBufferHealthStatus()

BufferHealthStatus MediaTrack::GetBufferHealthStatus ( )
inline

Get buffer health status.

Returns
current buffer health status

Definition at line 386 of file StreamAbstractionAAMP.h.

◆ AbortWaitForCachedFragment()

MediaTrack::AbortWaitForCachedFragment ( )

Abort the waiting for cached fragments immediately.

Returns
void

Definition at line 614 of file streamabstraction.cpp.

◆ IsInjectionAborted()

bool MediaTrack::IsInjectionAborted ( )
inline

Check whether track data injection is aborted.

Returns
true if injection is aborted, false otherwise

Definition at line 400 of file StreamAbstractionAAMP.h.

◆ CheckForFutureDiscontinuity()

MediaTrack::CheckForFutureDiscontinuity ( double &  cacheDuration)

To check for discontinuity in future fragments.

Parameters
[out]cacheDuration- cached fragment duration in seconds
Returns
bool - true if discontinuity present, false otherwise

Definition at line 2640 of file streamabstraction.cpp.

◆ OnSinkBufferFull()

void MediaTrack::OnSinkBufferFull ( )

Called if sink buffer is full.

Returns
void

Definition at line 2674 of file streamabstraction.cpp.

◆ FlushFragments()

MediaTrack::FlushFragments ( )

Flushes all cached fragments Flushes all media fragments and resets all relevant counters Only intended for use on subtitle streams.

Returns
void

Definition at line 1387 of file streamabstraction.cpp.

◆ FlushFragmentChunks()

MediaTrack::FlushFragmentChunks ( )

Flushes all cached fragment Chunks.

Returns
void

Definition at line 1405 of file streamabstraction.cpp.

◆ UpdateTSAfterInject()

MediaTrack::UpdateTSAfterInject ( )
protected

Update segment cache and inject buffer to gstreamer.

Returns
void

Definition at line 185 of file streamabstraction.cpp.

◆ UpdateTSAfterChunkInject()

void MediaTrack::UpdateTSAfterChunkInject ( )
protected

Update segment cache and inject buffer to gstreamer.

Returns
void

Definition at line 212 of file streamabstraction.cpp.

◆ WaitForCachedFragmentAvailable()

MediaTrack::WaitForCachedFragmentAvailable ( )
protected

Wait till cached fragment available.

Returns
TRUE if fragment available, FALSE if aborted/fragment not available.

Definition at line 458 of file streamabstraction.cpp.

◆ WaitForCachedFragmentChunkInjected()

MediaTrack::WaitForCachedFragmentChunkInjected ( int  timeoutMs = -1)
protected

Wait until a cached fragment chunk is Injected.

Return values
trueif fragment chunk injected , false on abort.

Definition at line 490 of file streamabstraction.cpp.

◆ WaitForCachedFragmentChunkAvailable()

MediaTrack::WaitForCachedFragmentChunkAvailable ( )
protected

Wait till cached fragment chunk available.

Returns
TRUE if fragment chunk available, FALSE if aborted/fragment chunk not available.

Definition at line 543 of file streamabstraction.cpp.

◆ GetContext()

virtual class StreamAbstractionAAMP* MediaTrack::GetContext ( )
protectedpure virtual

Get the context of media track. To be implemented by subclasses.

Returns
Pointer to StreamAbstractionAAMP object

Implemented in TrackState, and MediaStreamContext.

◆ InjectFragmentInternal()

virtual void MediaTrack::InjectFragmentInternal ( CachedFragment cachedFragment,
bool &  fragmentDiscarded 
)
protectedpure virtual

To be implemented by derived classes to receive cached fragment.

Parameters
[in]cachedFragment- contains fragment to be processed and injected
[out]fragmentDiscarded- true if fragment is discarded.
Returns
void

Implemented in TrackState, and MediaStreamContext.

◆ InjectFragmentChunkInternal()

MediaTrack::InjectFragmentChunkInternal ( MediaType  mediaType,
GrowableBuffer buffer,
double  fpts,
double  fdts,
double  fDuration 
)
protected

To be implemented by derived classes to receive cached fragment Chunk Receives cached fragment and injects to sink.

Parameters
[in]cachedFragmentChunk- contains fragment to be processed and injected
[out]fragmentChunkDiscarded- true if fragment is discarded.
Returns
void

Definition at line 238 of file streamabstraction.cpp.

◆ SignalTrickModeDiscontinuity()

virtual void MediaTrack::SignalTrickModeDiscontinuity ( )
inlineprotectedvirtual

To be implemented by derived classes if discontinuity on trick-play is to be notified.

Reimplemented in MediaStreamContext.

Definition at line 503 of file StreamAbstractionAAMP.h.

◆ GetBufferHealthStatusString()

MediaTrack::GetBufferHealthStatusString ( BufferHealthStatus  status)
staticprivate

Get string corresponding to buffer status.

Returns
string representation of buffer status

Definition at line 61 of file streamabstraction.cpp.

Field Documentation

◆ eosReached

bool MediaTrack::eosReached

set to true when a vod asset has been played to completion

Definition at line 514 of file StreamAbstractionAAMP.h.

◆ enabled

bool MediaTrack::enabled

set to true if track is enabled

Definition at line 515 of file StreamAbstractionAAMP.h.

◆ numberOfFragmentsCached

int MediaTrack::numberOfFragmentsCached

Number of fragments cached in this track

Definition at line 516 of file StreamAbstractionAAMP.h.

◆ numberOfFragmentChunksCached

int MediaTrack::numberOfFragmentChunksCached

Number of fragments cached in this track

Definition at line 517 of file StreamAbstractionAAMP.h.

◆ name

const char* MediaTrack::name

Track name used for debugging

Definition at line 518 of file StreamAbstractionAAMP.h.

◆ fragmentDurationSeconds

double MediaTrack::fragmentDurationSeconds

duration in seconds for current fragment-of-interest

Definition at line 519 of file StreamAbstractionAAMP.h.

◆ segDLFailCount

int MediaTrack::segDLFailCount

Segment download fail count

Definition at line 520 of file StreamAbstractionAAMP.h.

◆ segDrmDecryptFailCount

int MediaTrack::segDrmDecryptFailCount

Segment decryption failure count

Definition at line 521 of file StreamAbstractionAAMP.h.

◆ mSegInjectFailCount

int MediaTrack::mSegInjectFailCount

Segment Inject/Decode fail count

Definition at line 522 of file StreamAbstractionAAMP.h.

◆ type

TrackType MediaTrack::type

Media type of the track

Definition at line 523 of file StreamAbstractionAAMP.h.

◆ mSubtitleParser

std::unique_ptr<SubtitleParser> MediaTrack::mSubtitleParser

Parser for subtitle data

Definition at line 524 of file StreamAbstractionAAMP.h.

◆ refreshSubtitles

bool MediaTrack::refreshSubtitles

Switch subtitle track in the FetchLoop

Definition at line 525 of file StreamAbstractionAAMP.h.

◆ fragmentChunkFetched

pthread_cond_t MediaTrack::fragmentChunkFetched

Signaled after a fragment Chunk is fetched

Definition at line 528 of file StreamAbstractionAAMP.h.

◆ totalMdatCount

uint32_t MediaTrack::totalMdatCount

Total MDAT Chunk Found

Definition at line 529 of file StreamAbstractionAAMP.h.

◆ noMDATCount

int MediaTrack::noMDATCount

MDAT Chunk Not Found count continuously while chunk buffer processoing

Definition at line 530 of file StreamAbstractionAAMP.h.

◆ aamp

PrivateInstanceAAMP* MediaTrack::aamp
protected

Pointer to the PrivateInstanceAAMP

Definition at line 534 of file StreamAbstractionAAMP.h.

◆ cachedFragment

CachedFragment* MediaTrack::cachedFragment
protected

storage for currently-downloaded fragment

Definition at line 535 of file StreamAbstractionAAMP.h.

◆ unparsedBufferChunk

GrowableBuffer MediaTrack::unparsedBufferChunk
protected

Buffer to keep fragment content

Definition at line 537 of file StreamAbstractionAAMP.h.

◆ parsedBufferChunk

GrowableBuffer MediaTrack::parsedBufferChunk
protected

Buffer to keep fragment content

Definition at line 538 of file StreamAbstractionAAMP.h.

◆ abort

bool MediaTrack::abort
protected

Abort all operations if flag is set

Definition at line 539 of file StreamAbstractionAAMP.h.

◆ mutex

pthread_mutex_t MediaTrack::mutex
protected

protection of track variables accessed from multiple threads

Definition at line 540 of file StreamAbstractionAAMP.h.

◆ ptsError

bool MediaTrack::ptsError
protected

flag to indicate if last injected fragment has ptsError

Definition at line 541 of file StreamAbstractionAAMP.h.

◆ abortInject

bool MediaTrack::abortInject
protected

Abort inject operations if flag is set

Definition at line 542 of file StreamAbstractionAAMP.h.

◆ abortInjectChunk

bool MediaTrack::abortInjectChunk
protected

Abort inject operations if flag is set

Definition at line 543 of file StreamAbstractionAAMP.h.

◆ fragmentFetched

pthread_cond_t MediaTrack::fragmentFetched
private

Signaled after a fragment is fetched

Definition at line 546 of file StreamAbstractionAAMP.h.

◆ fragmentInjected

pthread_cond_t MediaTrack::fragmentInjected
private

Signaled after a fragment is injected

Definition at line 547 of file StreamAbstractionAAMP.h.

◆ fragmentInjectorThreadID

pthread_t MediaTrack::fragmentInjectorThreadID
private

Fragment injector thread id

Definition at line 548 of file StreamAbstractionAAMP.h.

◆ fragmentChunkInjected

pthread_cond_t MediaTrack::fragmentChunkInjected
private

Signaled after a fragment is injected

Definition at line 549 of file StreamAbstractionAAMP.h.

◆ fragmentChunkInjectorThreadID

pthread_t MediaTrack::fragmentChunkInjectorThreadID
private

Fragment injector thread id

Definition at line 550 of file StreamAbstractionAAMP.h.

◆ bufferMonitorThreadID

pthread_t MediaTrack::bufferMonitorThreadID
private

Buffer Monitor thread id

Definition at line 551 of file StreamAbstractionAAMP.h.

◆ totalFragmentsDownloaded

int MediaTrack::totalFragmentsDownloaded
private

Total fragments downloaded since start by track

Definition at line 552 of file StreamAbstractionAAMP.h.

◆ totalFragmentChunksDownloaded

int MediaTrack::totalFragmentChunksDownloaded
private

Total fragments downloaded since start by track

Definition at line 553 of file StreamAbstractionAAMP.h.

◆ fragmentInjectorThreadStarted

bool MediaTrack::fragmentInjectorThreadStarted
private

Fragment injector's thread started or not

Definition at line 554 of file StreamAbstractionAAMP.h.

◆ fragmentChunkInjectorThreadStarted

bool MediaTrack::fragmentChunkInjectorThreadStarted
private

Fragment Chunk injector's thread started or not

Definition at line 555 of file StreamAbstractionAAMP.h.

◆ bufferMonitorThreadStarted

bool MediaTrack::bufferMonitorThreadStarted
private

Buffer Monitor thread started or not

Definition at line 556 of file StreamAbstractionAAMP.h.

◆ totalInjectedDuration

double MediaTrack::totalInjectedDuration
private

Total fragment injected duration

Definition at line 557 of file StreamAbstractionAAMP.h.

◆ totalInjectedChunksDuration

double MediaTrack::totalInjectedChunksDuration
private

Total fragment injected chunk duration

Definition at line 558 of file StreamAbstractionAAMP.h.

◆ currentInitialCacheDurationSeconds

int MediaTrack::currentInitialCacheDurationSeconds
private

Current cached fragments duration before playing

Definition at line 559 of file StreamAbstractionAAMP.h.

◆ sinkBufferIsFull

bool MediaTrack::sinkBufferIsFull
private

True if sink buffer is full and do not want new fragments

Definition at line 560 of file StreamAbstractionAAMP.h.

◆ cachingCompleted

bool MediaTrack::cachingCompleted
private

Fragment caching completed or not

Definition at line 561 of file StreamAbstractionAAMP.h.

◆ fragmentIdxToInject

int MediaTrack::fragmentIdxToInject
private

Write position

Definition at line 562 of file StreamAbstractionAAMP.h.

◆ fragmentChunkIdxToInject

int MediaTrack::fragmentChunkIdxToInject
private

Write position

Definition at line 563 of file StreamAbstractionAAMP.h.

◆ fragmentIdxToFetch

int MediaTrack::fragmentIdxToFetch
private

Read position

Definition at line 564 of file StreamAbstractionAAMP.h.

◆ fragmentChunkIdxToFetch

int MediaTrack::fragmentChunkIdxToFetch
private

Read position

Definition at line 565 of file StreamAbstractionAAMP.h.

◆ bandwidthBitsPerSecond

int MediaTrack::bandwidthBitsPerSecond
private

Bandwidth of last selected profile

Definition at line 566 of file StreamAbstractionAAMP.h.

◆ totalFetchedDuration

double MediaTrack::totalFetchedDuration
private

Total fragment fetched duration

Definition at line 567 of file StreamAbstractionAAMP.h.

◆ bufferStatus

BufferHealthStatus MediaTrack::bufferStatus
private

Buffer status of the track

Definition at line 569 of file StreamAbstractionAAMP.h.

◆ prevBufferStatus

BufferHealthStatus MediaTrack::prevBufferStatus
private

Previous buffer status of the track

Definition at line 570 of file StreamAbstractionAAMP.h.

◆ prevDownloadStartTime

long long MediaTrack::prevDownloadStartTime
private

Previous file download Start time

Definition at line 571 of file StreamAbstractionAAMP.h.


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