RDK Documentation (Open Sourced RDK Components)
|
Private functions and types used internally by AAMP. More...
#include "AampMemoryUtils.h"
#include "AampProfiler.h"
#include "AampDrmHelper.h"
#include "AampDrmMediaFormat.h"
#include "AampDrmCallbacks.h"
#include "main_aamp.h"
#include <IPVideoStat.h>
#include <pthread.h>
#include <signal.h>
#include <semaphore.h>
#include <curl/curl.h>
#include <string.h>
#include <vector>
#include <unordered_map>
#include <map>
#include <set>
#include <list>
#include <sstream>
#include <mutex>
#include <queue>
#include <algorithm>
#include <glib.h>
#include <cjson/cJSON.h>
#include "AampConfig.h"
#include <atomic>
#include <memory>
#include <inttypes.h>
#include <type_traits>
#include "AampRfc.h"
#include "AampEventManager.h"
#include <HybridABRManager.h>
Go to the source code of this file.
Data Structures | |
struct | HLSXStart |
Structure of X-Start HLS Tag. More... | |
struct | AsyncEventDescriptor |
Used in asynchronous event notification logic. More... | |
struct | PeriodInfo |
Stores details about available periods in mpd. More... | |
struct | EventBreakInfo |
Stores the detail about the Event break info. More... | |
struct | DynamicDrmInfo |
class | TimedMetadata |
Class for Timed Metadata. More... | |
class | ContentGapInfo |
Class for Content gap information. More... | |
struct | httpRespHeaderData |
To store Set Cookie: headers and X-Reason headers in HTTP Response. More... | |
struct | ThumbnailData |
Holds the Thumbnail information. More... | |
struct | SpeedCache |
Stroes the information for cache speed. More... | |
struct | AampLLDashServiceData |
To store Low Latency Service configurtions. More... | |
struct | videoRect |
To store video rectangle properties. More... | |
class | AudioTrackTuple |
Class to hold audio information like lang, codec, bitrate,etc. More... | |
struct | eCurlHostMap |
To have hostname mapped curl handles. More... | |
struct | AampUrlInfo |
Struct to store parsed url hostname & its type. More... | |
class | PrivateInstanceAAMP |
Class representing the AAMP player's private instance, which is not exposed to outside world. More... | |
class | PrivateInstanceAAMP::PositionInfo< TPOSITION > |
A readonly, validatable position value. More... | |
class | PrivateInstanceAAMP::PositionCache< TPOSITIONCACHE > |
A standard way of storing positions with associated data for validation purposes. More... | |
class | Id3CallbackData |
Holds id3 metadata callback specific variables. More... | |
Macros | |
#define | aamp_pthread_setname(tid, name) pthread_setname_np(tid,name) |
#define | AAMP_TRACK_COUNT 4 |
#define | DEFAULT_CURL_INSTANCE_COUNT (AAMP_TRACK_COUNT + 1) |
#define | AAMP_DRM_CURL_COUNT 4 |
#define | DEFAULT_PLAYLIST_DL_TIMEOUT 10L |
#define | DEFAULT_CURL_TIMEOUT 5L |
#define | DEFAULT_CURL_CONNECTTIMEOUT 3L |
#define | EAS_CURL_TIMEOUT 3L |
#define | EAS_CURL_CONNECTTIMEOUT 2L |
#define | DEFAULT_INTERVAL_BETWEEN_PLAYLIST_UPDATES_MS (6*1000) |
#define | AAMP_SEEK_TO_LIVE_POSITION (-1) |
#define | MAX_SESSION_ID_LENGTH 128 |
#define | MANIFEST_TEMP_DATA_LENGTH 100 |
#define | AAMP_LOW_BUFFER_BEFORE_RAMPDOWN 10 |
#define | AAMP_HIGH_BUFFER_BEFORE_RAMPUP 15 |
#define | AAMP_USER_AGENT_MAX_CONFIG_LEN 512 |
#define | SERVER_UTCTIME_DIRECT "urn:mpeg:dash:utc:direct:2014" |
#define | SERVER_UTCTIME_HTTP "urn:mpeg:dash:utc:http-xsdate:2014" |
#define | VSS_MARKER "?sz=" |
#define | VSS_MARKER_LEN 4 |
#define | VSS_MARKER_FOG "%3Fsz%3D" |
#define | VSS_VIRTUAL_STREAM_ID_KEY_STR "content:xcal:virtualStreamId" |
#define | VSS_VIRTUAL_STREAM_ID_PREFIX "urn:merlin:linear:stream:" |
#define | VSS_SERVICE_ZONE_KEY_STR "device:xcal:serviceZone" |
#define | LL_DASH_SERVICE_PROFILE "http://www.dashif.org/guidelines/low-latency-live-v5" |
#define | URN_UTC_HTTP_XSDATE "urn:mpeg:dash:utc:http-xsdate:2014" |
#define | URN_UTC_HTTP_ISO "urn:mpeg:dash:utc:http-iso:2014" |
#define | URN_UTC_HTTP_NTP "urn:mpeg:dash:utc:http-ntp:2014" |
#define | URN_UTC_HTTP_HEAD "urn:mpeg:dash:utc:http-head:2014" |
#define | MAX_LOW_LATENCY_DASH_CORRECTION_ALLOWED 100 |
#define | MAX_LOW_LATENCY_DASH_RETUNE_ALLOWED 2 |
#define | MAX_LOW_LATENCY_DASH_ABR_SPEEDSTORE_SIZE 10 |
#define | MAX_DEBUG_LOG_BUFF_SIZE 1024 |
Max debug log buffer size. | |
#define | MAX_URL_LOG_SIZE 960 |
Max URL log size. More... | |
#define | CONVERT_SEC_TO_MS(_x_) (_x_ * 1000) |
#define | DEFAULT_PREBUFFER_COUNT (2) |
#define | DEFAULT_PRECACHE_WINDOW (10) |
#define | DEFAULT_DOWNLOAD_RETRY_COUNT (1) |
#define | PARTIAL_FILE_CONNECTIVITY_AAMP (130) |
#define | PARTIAL_FILE_DOWNLOAD_TIME_EXPIRED_AAMP (131) |
#define | OPERATION_TIMEOUT_CONNECTIVITY_AAMP (132) |
#define | PARTIAL_FILE_START_STALL_TIMEOUT_AAMP (133) |
#define | AAMP_MINIMUM_AUDIO_LEVEL (0) |
#define | AAMP_MAXIMUM_AUDIO_LEVEL (100) |
#define | STRBGPLAYER "BACKGROUND" |
#define | STRFGPLAYER "FOREGROUND" |
#define | MUTE_SUBTITLES_TRACKID (-1) |
#define | AAMP2ReceiverMsgHdrSz (sizeof(AAMP2ReceiverMsg)-1) |
Typedefs | |
typedef int(* | IdleTask) (void *arg) |
Function pointer for the idle task. More... | |
typedef void(* | DestroyTask) (void *arg) |
Function pointer for the destroy task. More... | |
typedef struct eCurlHostMap | eCurlHostMapStruct |
To have hostname mapped curl handles. | |
typedef struct AampUrlInfo | AampURLInfoStruct |
Struct to store parsed url hostname & its type. | |
Enumerations | |
enum | AampCurlInstance |
Enumeration for Curl Instances. More... | |
enum | PlaybackErrorType |
enum | TuneType |
Tune Typea. More... | |
enum | AAMPStatusType |
AAMP Function return values. More... | |
enum | HttpHeaderType |
Http Header Type. More... | |
enum | CurlAbortReason |
Http Header Type. | |
enum | BitrateChangeReason |
Different reasons for bitrate change. | |
enum | AudioType |
Type of audio ES for MPD. | |
enum | CurlRequest |
enum | UtcTiming |
Private functions and types used internally by AAMP.
Definition in file priv_aamp.h.
struct HLSXStart |
Structure of X-Start HLS Tag.
Definition at line 142 of file priv_aamp.h.
Data Fields | ||
---|---|---|
double | offset |
Time offset from XStart |
bool | precise |
Precise input |
#define AAMP_TRACK_COUNT 4 |
internal use - audio+video+sub+aux track
Definition at line 67 of file priv_aamp.h.
#define DEFAULT_CURL_INSTANCE_COUNT (AAMP_TRACK_COUNT + 1) |
One for Manifest/Playlist + Number of tracks
Definition at line 68 of file priv_aamp.h.
#define AAMP_DRM_CURL_COUNT 4 |
audio+video+sub+aux track DRMs
Definition at line 69 of file priv_aamp.h.
#define DEFAULT_PLAYLIST_DL_TIMEOUT 10L |
Curl timeout for playlist download
Definition at line 71 of file priv_aamp.h.
#define DEFAULT_CURL_TIMEOUT 5L |
Default timeout for Curl downloads
Definition at line 72 of file priv_aamp.h.
#define DEFAULT_CURL_CONNECTTIMEOUT 3L |
Curl socket connection timeout
Definition at line 73 of file priv_aamp.h.
#define EAS_CURL_TIMEOUT 3L |
Curl timeout for EAS manifest downloads
Definition at line 74 of file priv_aamp.h.
#define EAS_CURL_CONNECTTIMEOUT 2L |
Curl timeout for EAS connection
Definition at line 75 of file priv_aamp.h.
#define DEFAULT_INTERVAL_BETWEEN_PLAYLIST_UPDATES_MS (6*1000) |
Interval between playlist refreshes
Definition at line 76 of file priv_aamp.h.
#define MAX_SESSION_ID_LENGTH 128 |
session id string length
Definition at line 80 of file priv_aamp.h.
#define MANIFEST_TEMP_DATA_LENGTH 100 |
Manifest temp data length
Definition at line 81 of file priv_aamp.h.
#define AAMP_LOW_BUFFER_BEFORE_RAMPDOWN 10 |
10sec buffer before rampdown
Definition at line 82 of file priv_aamp.h.
#define AAMP_HIGH_BUFFER_BEFORE_RAMPUP 15 |
15sec buffer before rampup
Definition at line 83 of file priv_aamp.h.
#define AAMP_USER_AGENT_MAX_CONFIG_LEN 512 |
Max Chars allowed in aamp.cfg for user-agent
Definition at line 86 of file priv_aamp.h.
#define VSS_MARKER_FOG "%3Fsz%3D" |
URI-encoded ?sz=
Definition at line 92 of file priv_aamp.h.
#define MAX_URL_LOG_SIZE 960 |
Max URL log size.
Considering "aamp_tune" and [AAMP-PLAYER] pretext
Definition at line 119 of file priv_aamp.h.
#define CONVERT_SEC_TO_MS | ( | _x_ | ) | (_x_ * 1000) |
Convert value to sec to ms
Definition at line 121 of file priv_aamp.h.
#define DEFAULT_PRECACHE_WINDOW (10) |
10 mins for full precaching
Definition at line 123 of file priv_aamp.h.
#define DEFAULT_DOWNLOAD_RETRY_COUNT (1) |
max download failure retry attempt count
Definition at line 124 of file priv_aamp.h.
#define AAMP_MINIMUM_AUDIO_LEVEL (0) |
minimum value for audio level supported
Definition at line 130 of file priv_aamp.h.
#define AAMP_MAXIMUM_AUDIO_LEVEL (100) |
maximum value for audio level supported
Definition at line 131 of file priv_aamp.h.