RDK Documentation (Open Sourced RDK Components)
|
This file handles HLS Streaming functionality for AAMP player
More...
#include <memory>
#include "StreamAbstractionAAMP.h"
#include "mediaprocessor.h"
#include <sys/time.h>
#include "HlsDrmBase.h"
Go to the source code of this file.
Data Structures | |
struct | HlsProtectionInfo |
HlsStreamInfo structure for stream related information. More... | |
struct | HlsStreamInfo |
HlsStreamInfo structure for stream related information. More... | |
struct | MediaInfo |
MediaInfo structure for Media related information. More... | |
struct | IndexNode |
IndexNode structure for Node/DRM Index. More... | |
struct | KeyTagStruct |
KeyTagStruct structure to store all Keytags with Hash. More... | |
struct | DiscontinuityIndexNode |
Index Node structure for Discontinuity Index. More... | |
class | TrackState |
State Machine for each Media Track. More... | |
class | StreamAbstractionAAMP_HLS |
HLS Stream handler class. More... | |
Macros | |
#define | MAX_PROFILE 128 |
#define | FOG_FRAG_BW_IDENTIFIER "bandwidth-" |
#define | FOG_FRAG_BW_IDENTIFIER_LEN 10 |
#define | FOG_FRAG_BW_DELIMITER "-" |
#define | CHAR_CR 0x0d |
#define | CHAR_LF 0x0a |
#define | BOOLSTR(boolValue) (boolValue?"true":"false") |
#define | PLAYLIST_TIME_DIFF_THRESHOLD_SECONDS (0.1f) |
#define | MAX_MANIFEST_DOWNLOAD_RETRY 3 |
#define | MAX_DELAY_BETWEEN_PLAYLIST_UPDATE_MS (6*1000) |
#define | MIN_DELAY_BETWEEN_PLAYLIST_UPDATE_MS (500) |
#define | DRM_IV_LEN 16 |
#define | MAX_SEQ_NUMBER_LAG_COUNT 50 |
#define | MAX_SEQ_NUMBER_DIFF_FOR_SEQ_NUM_BASED_SYNC 2 |
#define | MAX_PLAYLIST_REFRESH_FOR_DISCONTINUITY_CHECK_EVENT 5 |
#define | MAX_PLAYLIST_REFRESH_FOR_DISCONTINUITY_CHECK_LIVE 3 |
#define | MAX_PDT_DISCONTINUITIY_DELTA_LIMIT 1.0f |
Typedefs | |
typedef struct HlsProtectionInfo | HlsProtectionInfo |
typedef HlsStreamInfo | HlsStreamInfo |
typedef struct MediaInfo | MediaInfo |
Enumerations | |
enum | DrmKeyMethod |
Enum for various EXT-X-KEY:METHOD= values. More... | |
This file handles HLS Streaming functionality for AAMP player
This file handles HLS Streaming functionality for AAMP player. Class/structures required for hls fragment collector is defined here.
Major functionalities include a) Manifest / fragment collector and trick play handling b) DRM Initialization / Key acquisition c) Decrypt and inject fragments for playback d) Synchronize audio/video tracks .
Definition in file fragmentcollector_hls.h.
struct HlsProtectionInfo |
HlsStreamInfo structure for stream related information.
Definition at line 69 of file fragmentcollector_hls.h.
Data Fields | ||
---|---|---|
struct DrmSessionParams * | drmData |
Session data |
HlsProtectionInfo * | next |
pointer to access next element of Queue |
struct MediaInfo |
MediaInfo structure for Media related information.
Definition at line 97 of file fragmentcollector_hls.h.
Data Fields | ||
---|---|---|
MediaType | type |
Media Type |
const char * | group_id |
Group ID |
const char * | name |
Name of Media |
const char * | language | |
bool | autoselect |
AutoSelect |
bool | isDefault |
IsDefault |
const char * | uri |
URI Information |
StreamOutputFormat | audioFormat |
Audio codec format |
int | channels |
Channel |
const char * | instreamID |
StreamID |
bool | forced |
Forced Flag |
const char * | characteristics |
Characteristics |
bool | isCC |
True if the text track is closed-captions |
struct IndexNode |
IndexNode structure for Node/DRM Index.
Definition at line 119 of file fragmentcollector_hls.h.
struct DiscontinuityIndexNode |
Index Node structure for Discontinuity Index.
Definition at line 145 of file fragmentcollector_hls.h.
#define MAX_SEQ_NUMBER_LAG_COUNT 50 |
Configured sequence number max count to avoid continuous looping for an edge case scenario, which leads crash due to hung
Definition at line 57 of file fragmentcollector_hls.h.
#define MAX_SEQ_NUMBER_DIFF_FOR_SEQ_NUM_BASED_SYNC 2 |
Maximum difference in sequence number to sync tracks using sequence number.
Definition at line 58 of file fragmentcollector_hls.h.
#define MAX_PLAYLIST_REFRESH_FOR_DISCONTINUITY_CHECK_EVENT 5 |
Maximum playlist refresh count for discontinuity check for TSB/cDvr
Definition at line 59 of file fragmentcollector_hls.h.
#define MAX_PLAYLIST_REFRESH_FOR_DISCONTINUITY_CHECK_LIVE 3 |
Maximum playlist refresh count for discontinuity check for live without TSB
Definition at line 60 of file fragmentcollector_hls.h.
#define MAX_PDT_DISCONTINUITIY_DELTA_LIMIT 1.0f |
maximum audio/video track PDT delta to determine discontiuity using PDT
Definition at line 61 of file fragmentcollector_hls.h.
enum DrmKeyMethod |
Enum for various EXT-X-KEY:METHOD= values.
Definition at line 157 of file fragmentcollector_hls.h.