RDK Documentation (Open Sourced RDK Components)
StreamAbstractionAAMP.h File Reference

Base classes of HLS/MPD collectors. Implements common caching/injection logic. More...

#include "AampMemoryUtils.h"
#include "priv_aamp.h"
#include "AampJsonObject.h"
#include <map>
#include <iterator>
#include <vector>
#include <glib.h>
#include "subtitleParser.h"
#include <CMCDHeaders.h>
#include <AudioCMCDHeaders.h>
#include <VideoCMCDHeaders.h>
#include <ManifestCMCDHeaders.h>
#include <SubtitleCMCDHeaders.h>
Include dependency graph for StreamAbstractionAAMP.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  StreamResolution
 Structure holding the resolution of stream. More...
 
struct  StreamInfo
 Structure holding the information of a stream. More...
 
struct  TileInfo
 TileInfo structure for Thumbnail data. More...
 
struct  CachedFragment
 Structure of cached fragment data Holds information about a cached fragment. More...
 
struct  CachedFragmentChunk
 Structure of cached fragment data Holds information about a cached fragment. More...
 
class  MediaTrack
 Base Class for Media Track. More...
 
class  StreamAbstractionAAMP
 StreamAbstraction class of AAMP. More...
 

Enumerations

enum  TrackType
 Media Track Types. More...
 
enum  PlaylistType
 Playlist Types. More...
 
enum  BufferHealthStatus
 Buffer health status. More...
 
enum  MediaTrackDiscontinuityState
 Media Disconutinuity state. More...
 

yes

Base classes of HLS/MPD collectors. Implements common caching/injection logic.

Definition in file StreamAbstractionAAMP.h.


Data Structure Documentation

◆ StreamResolution

struct StreamResolution

Structure holding the resolution of stream.

Definition at line 59 of file StreamAbstractionAAMP.h.

Collaboration diagram for StreamResolution:
Collaboration graph
Data Fields
int width

Width in pixels

int height

Height in pixels

double framerate

Frame Rate

◆ TileInfo

struct TileInfo

TileInfo structure for Thumbnail data.

Definition at line 84 of file StreamAbstractionAAMP.h.

Collaboration diagram for TileInfo:
Collaboration graph
Data Fields
int numRows

Number of Rows from Tile Inf

int numCols

Number of Cols from Tile Inf

double posterDuration

Duration of each Tile in Spritesheet

double tileSetDuration

Duration of whole Tile set

double startTime
const char * url

◆ CachedFragment

struct CachedFragment

Structure of cached fragment data Holds information about a cached fragment.

Definition at line 99 of file StreamAbstractionAAMP.h.

Collaboration diagram for CachedFragment:
Collaboration graph
Data Fields
GrowableBuffer fragment

Buffer to keep fragment content

double position

Position in the playlist

double duration

Fragment duration

bool initFragment

Is init frgment

bool discontinuity

PTS discontinuity status

int profileIndex

Profile index; Updated internally

StreamInfo cacheFragStreamInfo

Bitrate info of the fragment

MediaType type

MediaType info of the fragment

◆ CachedFragmentChunk

struct CachedFragmentChunk

Structure of cached fragment data Holds information about a cached fragment.

Definition at line 118 of file StreamAbstractionAAMP.h.

Collaboration diagram for CachedFragmentChunk:
Collaboration graph
Data Fields
GrowableBuffer fragmentChunk

Buffer to keep fragment content

MediaType type

MediaType info of the fragment

long long downloadStartTime

The start time of file download

Enumeration Type Documentation

◆ TrackType

enum TrackType

Media Track Types.

Enumerator
eTRACK_VIDEO 

Video track

eTRACK_AUDIO 

Audio track

eTRACK_SUBTITLE 

Subtitle track

eTRACK_AUX_AUDIO 

Auxiliary audio track

Definition at line 48 of file StreamAbstractionAAMP.h.

◆ PlaylistType

Playlist Types.

Enumerator
ePLAYLISTTYPE_UNDEFINED 

Playlist type undefined

ePLAYLISTTYPE_EVENT 

Playlist may grow via appended lines, but otherwise won't change

ePLAYLISTTYPE_VOD 

Playlist will never change

Definition at line 128 of file StreamAbstractionAAMP.h.

◆ BufferHealthStatus

Buffer health status.

Enumerator
BUFFER_STATUS_GREEN 

Healthy state, where buffering is close to being maxed out

BUFFER_STATUS_YELLOW 

Danger state, where buffering is close to being exhausted

BUFFER_STATUS_RED 

Failed state, where buffers have run dry, and player experiences underrun/stalled video

Definition at line 138 of file StreamAbstractionAAMP.h.

◆ MediaTrackDiscontinuityState

Media Disconutinuity state.

Enumerator
eDISCONTIUITY_FREE 

No Discontinuity

eDISCONTINUIY_IN_VIDEO 

Discontinuity in Video

eDISCONTINUIY_IN_AUDIO 

Discontinuity in audio

eDISCONTINUIY_IN_BOTH 

Discontinuity in Both Audio and Video

Definition at line 148 of file StreamAbstractionAAMP.h.