html5_media.h File Reference

#include <gpac/internal/scenegraph_dev.h>
#include <gpac/nodes_svg.h>
#include <gpac/events.h>
#include <gpac/utf.h>
#include <gpac/download.h>
#include <gpac/network.h>
#include <gpac/modules/service.h>
#include <gpac/xml.h>
#include <gpac/internal/terminal_dev.h>
Include dependency graph for html5_media.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_HTML_MediaRuntime
struct  GF_HTML_MediaError
struct  GF_HTML_MediaTimeRanges
struct  GF_HTML_Track
struct  GF_HTML_TextTrack
struct  GF_HTML_TrackList
struct  GF_HTML_MediaController
struct  GF_HTML_MediaElement
struct  GF_HTML_ArrayBuffer

Defines

#define BASE_HTML_TRACK
#define BASE_HTML_TRACK_LIST

Enumerations

enum  GF_HTML_MediaErrorCode { MEDIA_ERR_ABORTED = 1, MEDIA_ERR_NETWORK = 2, MEDIA_ERR_DECODE = 3, MEDIA_ERR_SRC_NOT_SUPPORTED = 4 }
enum  GF_HTML_NetworkState { NETWORK_EMPTY = 0, NETWORK_IDLE = 1, NETWORK_LOADING = 2, NETWORK_NO_SOURCE = 3 }
enum  GF_HTML_MediaReadyState {
  HAVE_NOTHING = 0, HAVE_METADATA = 1, HAVE_CURRENT_DATA = 2, HAVE_FUTURE_DATA = 3,
  HAVE_ENOUGH_DATA = 4
}
enum  GF_HTML_TrackType { HTML_MEDIA_TRACK_TYPE_UNKNOWN = 0, HTML_MEDIA_TRACK_TYPE_AUDIO = 1, HTML_MEDIA_TRACK_TYPE_VIDEO = 2, HTML_MEDIA_TRACK_TYPE_TEXT = 3 }
enum  GF_HTML_MediaControllerPlaybackState { MEDIA_CONTROLLER_WAITING = 0, MEDIA_CONTROLLER_PLAYING = 1, MEDIA_CONTROLLER_ENDED = 2 }

Functions

GF_HTML_MediaTimeRangesgf_html_timeranges_new (u32 timescale)
GF_Err gf_html_timeranges_add_start (GF_HTML_MediaTimeRanges *timeranges, u64 start)
GF_Err gf_html_timeranges_add_end (GF_HTML_MediaTimeRanges *timeranges, u64 end)
void gf_html_timeranges_reset (GF_HTML_MediaTimeRanges *range)
void gf_html_timeranges_del (GF_HTML_MediaTimeRanges *range)
GF_HTML_MediaTimeRangesgf_html_timeranges_intersection (GF_HTML_MediaTimeRanges *a, GF_HTML_MediaTimeRanges *b)
GF_HTML_MediaTimeRangesgf_html_timeranges_union (GF_HTML_MediaTimeRanges *a, GF_HTML_MediaTimeRanges *b)
GF_HTML_Trackhtml_media_add_new_track_to_list (GF_HTML_TrackList *tracklist, GF_HTML_TrackType type, const char *mime, Bool enable_or_selected, const char *id, const char *kind, const char *label, const char *lang)
Bool html_media_tracklist_has_track (GF_HTML_TrackList *tracklist, const char *id)
GF_HTML_Trackhtml_media_tracklist_get_track (GF_HTML_TrackList *tracklist, const char *id)
void gf_html_tracklist_del (GF_HTML_TrackList *tlist)
GF_HTML_Trackgf_html_media_track_new (GF_HTML_TrackType type, const char *mime, Bool enable_or_selected, const char *id, const char *kind, const char *label, const char *lang)
void gf_html_track_del (GF_HTML_Track *track)
GF_HTML_MediaElementgf_html_media_element_new (GF_Node *media_node, GF_HTML_MediaController *mc)
void gf_html_media_element_del (GF_HTML_MediaElement *me)
void html_media_element_js_init (JSContext *c, JSObject *new_obj, GF_Node *n)
GF_HTML_MediaControllergf_html_media_controller_new ()
void gf_html_media_controller_del (GF_HTML_MediaController *mc)
GF_HTML_ArrayBuffergf_arraybuffer_new (char *data, u32 length)
JSObject * gf_arraybuffer_js_new (JSContext *c, char *data, u32 length, JSObject *parent)
void gf_arraybuffer_del (GF_HTML_ArrayBuffer *buffer, Bool del_js)

Define Documentation

#define BASE_HTML_TRACK
Value:
/* JavaScript context associated to this object */\
    JSContext               *c;\
    /* JavaScript counterpart */\
    JSObject                *_this;\
    /* GPAC-specific properties */\
    u32                     bin_id;    /* track id */\
    LPNETCHANNEL            channel;   /* channel object used by the terminal */\
    GF_ObjectDescriptor     *od;       /* MPEG-4 Object descriptor for this track */\
    GF_List                 *buffer;   /* List of MSE Packets */\
    u32                                         packet_index;   /* index of MSE Packets*/\
    GF_Mutex                *buffer_mutex;\
    Bool                    last_dts_set; \
    u64                                         last_dts; /* MSE  last decode timestamp (in timescale units)*/ \
    u32                                         last_dur; /* MSE  last frame duration (in timescale units)*/ \
    Bool                    highest_pts_set; \
    u64                                         highest_pts; /* MSE highest presentation timestamp (in timescale units)*/ \
    Bool                    needs_rap; /* MSE  need random access point flag */ \
    u32                     timescale; /* used by time stamps in MSE Packets */ \
    s64                     timestampOffset; /* MSE SourceBuffer value (in timescale units) */ \
    /* standard HTML properties */ \
    GF_HTML_TrackType        type;\
    char                    *id;\
    char                    *kind;\
    char                    *label;\
    char                    *language;\
    char                    *mime; \
    Bool                    enabled_or_selected;
#define BASE_HTML_TRACK_LIST
Value:
/* JavaScript context associated to this object */\
    JSContext               *c;\
    /* JavaScript counterpart */\
    JSObject                *_this;\
    GF_List                 *tracks; \
        jsval                                   onchange; \
        jsval                                   onaddtrack; \
        jsval                                   onremovetrack; \
    u32                     selected_index;

Enumeration Type Documentation

Enumerator:
MEDIA_ERR_ABORTED 
MEDIA_ERR_NETWORK 
MEDIA_ERR_DECODE 
MEDIA_ERR_SRC_NOT_SUPPORTED 
Enumerator:
NETWORK_EMPTY 
NETWORK_IDLE 
NETWORK_LOADING 
NETWORK_NO_SOURCE 
Enumerator:
HAVE_NOTHING 
HAVE_METADATA 
HAVE_CURRENT_DATA 
HAVE_FUTURE_DATA 
HAVE_ENOUGH_DATA 
Enumerator:
HTML_MEDIA_TRACK_TYPE_UNKNOWN 
HTML_MEDIA_TRACK_TYPE_AUDIO 
HTML_MEDIA_TRACK_TYPE_VIDEO 
HTML_MEDIA_TRACK_TYPE_TEXT 
Enumerator:
MEDIA_CONTROLLER_WAITING 
MEDIA_CONTROLLER_PLAYING 
MEDIA_CONTROLLER_ENDED 

Function Documentation

GF_HTML_MediaTimeRanges* gf_html_timeranges_new ( u32  timescale  ) 
GF_Err gf_html_timeranges_add_start ( GF_HTML_MediaTimeRanges timeranges,
u64  start 
)
GF_Err gf_html_timeranges_add_end ( GF_HTML_MediaTimeRanges timeranges,
u64  end 
)
void gf_html_timeranges_reset ( GF_HTML_MediaTimeRanges range  ) 
void gf_html_timeranges_del ( GF_HTML_MediaTimeRanges range  ) 
GF_HTML_MediaTimeRanges* gf_html_timeranges_intersection ( GF_HTML_MediaTimeRanges a,
GF_HTML_MediaTimeRanges b 
)
GF_HTML_MediaTimeRanges* gf_html_timeranges_union ( GF_HTML_MediaTimeRanges a,
GF_HTML_MediaTimeRanges b 
)
GF_HTML_Track* html_media_add_new_track_to_list ( GF_HTML_TrackList tracklist,
GF_HTML_TrackType  type,
const char *  mime,
Bool  enable_or_selected,
const char *  id,
const char *  kind,
const char *  label,
const char *  lang 
)
Bool html_media_tracklist_has_track ( GF_HTML_TrackList tracklist,
const char *  id 
)
GF_HTML_Track* html_media_tracklist_get_track ( GF_HTML_TrackList tracklist,
const char *  id 
)
void gf_html_tracklist_del ( GF_HTML_TrackList tlist  ) 
GF_HTML_Track* gf_html_media_track_new ( GF_HTML_TrackType  type,
const char *  mime,
Bool  enable_or_selected,
const char *  id,
const char *  kind,
const char *  label,
const char *  lang 
)
void gf_html_track_del ( GF_HTML_Track track  ) 
GF_HTML_MediaElement* gf_html_media_element_new ( GF_Node media_node,
GF_HTML_MediaController mc 
)
void gf_html_media_element_del ( GF_HTML_MediaElement me  ) 
void html_media_element_js_init ( JSContext *  c,
JSObject *  new_obj,
GF_Node n 
)
GF_HTML_MediaController* gf_html_media_controller_new (  ) 
void gf_html_media_controller_del ( GF_HTML_MediaController mc  ) 
GF_HTML_ArrayBuffer* gf_arraybuffer_new ( char *  data,
u32  length 
)
JSObject* gf_arraybuffer_js_new ( JSContext *  c,
char *  data,
u32  length,
JSObject *  parent 
)
void gf_arraybuffer_del ( GF_HTML_ArrayBuffer buffer,
Bool  del_js 
)

Generated on 4 May 2016 for libgpac by  doxygen 1.6.1