RDK Documentation (Open Sourced RDK Components)
|
#include "iso639map.h"
#include "fragmentcollector_hls.h"
#include "_base64.h"
#include "base16.h"
#include <algorithm>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include "priv_aamp.h"
#include <pthread.h>
#include <signal.h>
#include <semaphore.h>
#include <math.h>
#include <stdarg.h>
#include <ctype.h>
#include <errno.h>
#include <openssl/sha.h>
#include <set>
#include <vector>
#include <string>
#include "HlsDrmBase.h"
#include "AampCacheHandler.h"
#include "webvttParser.h"
#include "SubtecFactory.hpp"
#include "tsprocessor.h"
#include "isobmffprocessor.h"
#include "AampUtils.h"
#include "AampVanillaDrmHelper.h"
Go to the source code of this file.
Data Structures | |
struct | DrmMetadata |
AVE drm metadata extracted from EXT-X-FAXS-CM. More... | |
struct | DrmMetadataNode |
Macros | |
#define | DRM_SHA1_HASH_LEN 40 |
#define | IS_FOR_IFRAME(rate, type) ((type == eTRACK_VIDEO) && (rate != AAMP_NORMAL_PLAY_RATE)) |
#define | UseProgramDateTimeIfAvailable() (ISCONFIGSET(eAAMPConfig_HLSAVTrackSyncUsingStartTime) || aamp->mIsVSS) |
Functions | |
static size_t | FindLineLength (const char *ptr) |
static bool | startswith (const char **pstring, const char *prefix) |
static bool | startswith (char **pstring, const char *prefix) |
static bool | AttributeNameMatch (const char *attrNamePtr, const char *targetAttrNameCString) |
static bool | SubStringMatch (const char *srcStart, const char *srcFin, const char *cstring) |
static const char * | GetAttributeValueString (char *valuePtr, char *fin) |
static void | ParseKeyAttributeCallback (char *attrName, char *delimEqual, char *fin, void *arg) |
static void | ParseTileInfCallback (char *attrName, char *delimEqual, char *fin, void *arg) |
static void | ParseXStartAttributeCallback (char *attrName, char *delimEqual, char *fin, void *arg) |
static void | ParseStreamInfCallback (char *attrName, char *delimEqual, char *fin, void *arg) |
static void | ParseMediaAttributeCallback (char *attrName, char *delimEqual, char *fin, void *arg) |
static char * | mystrpbrk (char *ptr) |
static void | ParseAttrList (char *attrName, void(*cb)(char *attrName, char *delim, char *fin, void *context), void *context) |
static double | ParseXStartTimeOffset (const char *ptr) |
static void * | TrackPLDownloader (void *arg) |
static void | InitiateDrmProcess (PrivateInstanceAAMP *aamp) |
static void | setupStreamInfo (struct HlsStreamInfo *streamInfo, int streamNo) |
static double | GetCompletionTimeForFragment (const TrackState *trackState, long long mediaSequenceNumber) |
static char * | GetNextLineStart (char *ptr) |
static StreamOutputFormat | GetFormatFromFragmentExtension (TrackState *trackState) |
static void * | CachePlaylistThreadFunction (void *This) |
static void * | FragmentCollector (void *arg) |
static bool | isThumbnailStream (const struct HlsStreamInfo *streamInfo) |
static std::vector< TileInfo > | IndexThumbnails (char *ptr) |
Variables | |
static const int | DEFAULT_STREAM_WIDTH = 720 |
static const int | DEFAULT_STREAM_HEIGHT = 576 |
static const double | DEFAULT_STREAM_FRAMERATE = 25.0 |
static const ProfilerBucketType | mediaTrackBucketTypes [4] |
Variable initialization for media profiler buckets. More... | |
static const ProfilerBucketType | mediaTrackDecryptBucketTypes [4] |
Variable initialization for media decrypt buckets. More... | |
Fragment Collect file includes class implementation for handling HLS streaming of AAMP player. Various functionality like manifest download , fragment collection, DRM initialization , synchronizing audio / video media of the stream, trick play handling etc are handled in this file .
Definition in file fragmentcollector_hls.cpp.
struct DrmMetadata |
AVE drm metadata extracted from EXT-X-FAXS-CM.
Definition at line 82 of file fragmentcollector_hls.cpp.
Data Fields | ||
---|---|---|
unsigned char * | metadataPtr | |
size_t | metadataSize |
struct DrmMetadataNode |
Definition at line 87 of file fragmentcollector_hls.cpp.
Data Fields | ||
---|---|---|
DrmMetadata | metaData | |
int | deferredInterval | |
long long | drmKeyReqTime | |
char * | sha1Hash |
|
static |
attrName | pointer to HLS Attribute List, as a NUL-terminated CString |
Definition at line 606 of file fragmentcollector_hls.cpp.
|
static |
Variable initialization for media profiler buckets.
Definition at line 112 of file fragmentcollector_hls.cpp.
|
static |
Variable initialization for media decrypt buckets.
Definition at line 115 of file fragmentcollector_hls.cpp.