RDK Documentation (Open Sourced RDK Components)
|
Cache handler for AAMP. More...
Go to the source code of this file.
Data Structures | |
struct | playlistcacheddata |
PlayListCachedData structure to store playlist data. More... | |
struct | initfragtrackstruct |
initfragtrackstruct to store init fragment url per media track in FIFO Queue. More... | |
class | AampCacheHandler |
Handles Aamp Cahe operations. More... | |
Macros | |
#define | PLAYLIST_CACHE_SIZE_UNLIMITED -1 |
Typedefs | |
typedef struct playlistcacheddata | PlayListCachedData |
PlayListCachedData structure to store playlist data. | |
typedef struct playlistcacheddata | InitFragCacheStruct |
InitFragCacheStruct to store Init Fragment data Init fragment cache mechanism All types (VID/AUD/SUB/AUX) of Init Fragment maintained in a single Cache Table, and these fragment's url are stored in a Track Queue corrsponding to file type. This queue will be used to count fragments inserted, to remove entry in FIFO order upon exceeding limit with respect to file type. Eg: TrackQ[VID]={"http://sample_domain/vid_qual1.init"} umCacheTable={{"http://sample_domain/vid_qual1.init"}, VidUrlData1} {"http://sample_domain/vid_qual2.init"} {{"http://sample_domain/vid_qual1.init_redirect"}, VidUrlData1} {"http://sample_domain/vid_qual3.init"} {{"http://sample_domain/aud_qual1.init"}, AudUrlData1} TrackQ[AUD]={"http://sample_domain/aud_qual1.init"} {{"http://sample_domain/vid_qual2.init"}, VidUrlData2} {"http://sample_domain/aud_qual2.init"} {{"http://sample_domain/aud_qual1.init_redirect"}, AudUrlData1} {"http://sample_domain/aud_qual3.init"} {{"http://sample_domain/aud_qual3.init"}, AudUrlData3} {{"http://sample_domain/aud_qual2.init"}, AudUrlData2} {{"http://sample_domain/vid_qual2.init_redirect"}, VidUrlData2} {{"http://sample_domain/vid_qual3.init"}, VidUrlData3} {{"http://sample_domain/aud_qual2.init_redirect"}, AudUrlData2} Track queue will not maintain duplicate entry of cache table, so we can have maximum of different init fragments in cache table. As per above eg, TrackQ[VID] size is 3, but cache table has 5 including effective url entry. If we maintain effective url entry in cache queue, we will have only 3 init fragments in diff quality. If cache table reaches max no of cache per track, we remove both main entry and dup entry if present, in FIFO order. More... | |
typedef struct initfragtrackstruct | InitFragTrackStruct |
initfragtrackstruct to store init fragment url per media track in FIFO Queue. | |
Cache handler for AAMP.
Definition in file AampCacheHandler.h.
typedef struct playlistcacheddata InitFragCacheStruct |
InitFragCacheStruct to store Init Fragment data Init fragment cache mechanism All types (VID/AUD/SUB/AUX) of Init Fragment maintained in a single Cache Table, and these fragment's url are stored in a Track Queue corrsponding to file type. This queue will be used to count fragments inserted, to remove entry in FIFO order upon exceeding limit with respect to file type. Eg: TrackQ[VID]={"http://sample_domain/vid_qual1.init"} umCacheTable={{"http://sample_domain/vid_qual1.init"}, VidUrlData1} {"http://sample_domain/vid_qual2.init"} {{"http://sample_domain/vid_qual1.init_redirect"}, VidUrlData1} {"http://sample_domain/vid_qual3.init"} {{"http://sample_domain/aud_qual1.init"}, AudUrlData1} TrackQ[AUD]={"http://sample_domain/aud_qual1.init"} {{"http://sample_domain/vid_qual2.init"}, VidUrlData2} {"http://sample_domain/aud_qual2.init"} {{"http://sample_domain/aud_qual1.init_redirect"}, AudUrlData1} {"http://sample_domain/aud_qual3.init"} {{"http://sample_domain/aud_qual3.init"}, AudUrlData3} {{"http://sample_domain/aud_qual2.init"}, AudUrlData2} {{"http://sample_domain/vid_qual2.init_redirect"}, VidUrlData2} {{"http://sample_domain/vid_qual3.init"}, VidUrlData3} {{"http://sample_domain/aud_qual2.init_redirect"}, AudUrlData2} Track queue will not maintain duplicate entry of cache table, so we can have maximum of different init fragments in cache table. As per above eg, TrackQ[VID] size is 3, but cache table has 5 including effective url entry. If we maintain effective url entry in cache queue, we will have only 3 init fragments in diff quality. If cache table reaches max no of cache per track, we remove both main entry and dup entry if present, in FIFO order.
Fragment cache & track queue will be cleared upon exiting from aamp player or from async clear thread.
Definition at line 91 of file AampCacheHandler.h.