GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
|
Data Structures | |
struct | Stream |
struct | Playlist |
struct | PlaylistElement |
struct | Program |
struct | VariantPlaylist |
union | PlaylistElement.element |
Macros | |
#define | M3U8_UNKOWN_MIME_TYPE "unknown" |
Enumerations | |
enum | PlaylistElementType { TYPE_PLAYLIST, TYPE_STREAM, TYPE_UNKNOWN } |
Functions | |
GF_Err | playlist_element_del (PlaylistElement *) |
Program * | program_new (int programId) |
GF_Err | program_del (Program *program) |
PlaylistElement * | playlist_element_new (PlaylistElementType elementType, const char *url, const char *title, const char *codecs, int durationInfo, u64 byteRangeStart, u64 byteRangeEnd) |
VariantPlaylist * | variant_playlist_new () |
GF_Err | variant_playlist_del (VariantPlaylist *) |
GF_Err | playlist_element_dump (const PlaylistElement *e, int indent) |
GF_Err | variant_playlist_dump (const VariantPlaylist *) |
Program * | variant_playlist_find_matching_program (const VariantPlaylist *, const u32 programId) |
Program * | variant_playlist_get_current_program (const VariantPlaylist *) |
GF_Err | parse_root_playlist (const char *file, VariantPlaylist **playlist, const char *baseURL) |
GF_Err | parse_sub_playlist (const char *file, VariantPlaylist **playlist, const char *baseURL, Program *in_program, PlaylistElement *sub_playlist) |
struct Playlist |
struct PlaylistElement |
The Structure containing the playlist element
Data Fields | ||
---|---|---|
int | durationInfo | |
u64 | byteRangeStart | |
u64 | byteRangeEnd | |
int | bandwidth | |
int | width | |
int | height | |
char * | title | |
char * | codecs | |
char * | url | |
PlaylistElementType | elementType | |
union PlaylistElement | element |
struct Program |
struct VariantPlaylist |
The root playlist, can contains several PlaylistElements structures
Data Fields | ||
---|---|---|
GF_List * | programs | |
int | currentProgram | |
Bool | playlistNeedsRefresh |
union PlaylistElement.element |
#define M3U8_UNKOWN_MIME_TYPE "unknown" |
GPAC - Multimedia Framework C SDK Authors: Pierre Souchay - Jean Le Feuvre Copyright (c) Telecom ParisTech 2010-2012 All rights reserved
This file is part of GPAC
GPAC is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
GPAC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. Global Structure
For a stream with multiple bandwidths and multiple programs
VariantPlayList | |_ program id 1 | | | |_ bandwidth X : playlistElement1 | |- bandwidth Y : playlistElement2 | |- program id 2 | |_ bandwidth Z : playlistElement
For a "normal" playlist
VariantPlayList | |_ program id 1 | |_ bandwidth 0 : playlistElement1
Where PlaylistElement can be :
enum PlaylistElementType |
GF_Err playlist_element_del | ( | PlaylistElement * | ) |
Program* program_new | ( | int | programId | ) |
Creates a new program properly initialized
Deletes the specified program
PlaylistElement* playlist_element_new | ( | PlaylistElementType | elementType, |
const char * | url, | ||
const char * | title, | ||
const char * | codecs, | ||
int | durationInfo, | ||
u64 | byteRangeStart, | ||
u64 | byteRangeEnd | ||
) |
Creates an Playlist element. This element can be either a playlist of a stream according to first parameter.
VariantPlaylist* variant_playlist_new | ( | ) |
Creates a new VariantPlaylist
GF_Err variant_playlist_del | ( | VariantPlaylist * | ) |
Deletes the given VariantPlaylist and all of its sub elements
GF_Err playlist_element_dump | ( | const PlaylistElement * | e, |
int | indent | ||
) |
GF_Err variant_playlist_dump | ( | const VariantPlaylist * | ) |
Program* variant_playlist_find_matching_program | ( | const VariantPlaylist * | , |
const u32 | programId | ||
) |
Program* variant_playlist_get_current_program | ( | const VariantPlaylist * | ) |
GF_Err parse_root_playlist | ( | const char * | file, |
VariantPlaylist ** | playlist, | ||
const char * | baseURL | ||
) |
Parse the given playlist file
file | The file from cache to parse |
playlist | The playlist to fill. If argument is null, and file is valid, playlist will be allocated |
baseURL | The base URL of the playlist |
GF_Err parse_sub_playlist | ( | const char * | file, |
VariantPlaylist ** | playlist, | ||
const char * | baseURL, | ||
Program * | in_program, | ||
PlaylistElement * | sub_playlist | ||
) |
Parse the given playlist file as a subplaylist of an existing playlist
file | The file from cache to parse |
playlist | The playlist to fill. |
baseURL | base URL of the playlist |
in_program | in which the playlist is parsed |
sub_playlist | existing subplaylist element in the playlist in which the playlist is parsed |