GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
|
#include <gpac/scene_manager.h>
Typedefs | |
typedef void(* | gf_seng_callback )(void *udta, u16 ESID, char *data, u32 size, u64 ts) |
Functions | |
GF_SceneEngine * | gf_seng_init (void *calling_object, char *inputContext, u32 load_type, char *dump_path, Bool embed_resources) |
GF_SceneEngine * | gf_seng_init_from_string (void *calling_object, char *inputContext, u32 load_type, u32 width, u32 height, Bool usePixelMetrics, char *dump_path) |
GF_SceneEngine * | gf_seng_init_from_context (void *calling_object, GF_SceneManager *ctx, char *dump_path) |
u32 | gf_seng_get_stream_count (GF_SceneEngine *seng) |
GF_Err | gf_seng_get_stream_carousel_info (GF_SceneEngine *seng, u16 ESID, u32 *carousel_period, u16 *aggregate_on_es_id) |
GF_Err | gf_seng_get_stream_config (GF_SceneEngine *seng, u32 idx, u16 *ESID, char **const config, u32 *config_len, u32 *streamType, u32 *objectType, u32 *timeScale) |
GF_Err | gf_seng_encode_context (GF_SceneEngine *seng, gf_seng_callback callback) |
GF_Err | gf_seng_encode_from_file (GF_SceneEngine *seng, u16 ESID, Bool disable_aggregation, char *auFile, gf_seng_callback callback) |
GF_Err | gf_seng_encode_from_string (GF_SceneEngine *seng, u16 ESID, Bool disable_aggregation, char *auString, gf_seng_callback callback) |
GF_Err | gf_seng_encode_from_commands (GF_SceneEngine *seng, u16 ESID, Bool disable_aggregation, u32 time, GF_List *commands, gf_seng_callback callback) |
GF_Err | gf_seng_save_context (GF_SceneEngine *seng, char *ctxFileName) |
GF_Err | gf_seng_enable_aggregation (GF_SceneEngine *seng, u16 ESID, u16 onESID) |
GF_Err | gf_seng_aggregate_context (GF_SceneEngine *seng, u16 ESID) |
void | gf_seng_terminate (GF_SceneEngine *seng) |
char * | gf_seng_get_base64_iod (GF_SceneEngine *seng) |
GF_Descriptor * | gf_seng_get_iod (GF_SceneEngine *seng) |
GF_Err | gf_seng_dump_rap_on (GF_SceneEngine *seng, Bool dump_rap) |
GF_SceneEngine* gf_seng_init | ( | void * | calling_object, |
char * | inputContext, | ||
u32 | load_type, | ||
char * | dump_path, | ||
Bool | embed_resources | ||
) |
calling_object | is the calling object on which call back will be called |
inputContext | is the name of a scene file (bt, xmt or mp4) to initialize the coding context |
load_type | is the prefered loader type for the content (e.g. SVG vs DIMS) |
dump_path | is the path where scenes are dumped |
embed_resources | indicates if images and scripts should be encoded inlined with the content |
must be called only one time (by process calling the DLL) before other calls
GF_SceneEngine* gf_seng_init_from_string | ( | void * | calling_object, |
char * | inputContext, | ||
u32 | load_type, | ||
u32 | width, | ||
u32 | height, | ||
Bool | usePixelMetrics, | ||
char * | dump_path | ||
) |
calling_object | is the calling object on which call back will be called |
inputContext | is an UTF-8 scene description (with or without IOD) in BT or XMT-A format |
load_type | is the prefered loader type for the content (e.g. SVG vs DIMS) |
width | width of scene if no IOD is given in the context. |
height | height of scene if no IOD is given in the context. |
usePixelMetrics | metrics system used in the scene, if no IOD is given in the context. |
dump_path | the path where scenes are dumped |
must be called only one time (by process calling the DLL) before other calls
GF_SceneEngine* gf_seng_init_from_context | ( | void * | calling_object, |
GF_SceneManager * | ctx, | ||
char * | dump_path | ||
) |
calling_object | the calling object on which call back will be called |
ctx | an already loaded scene manager |
dump_path | the path where scenes are dumped |
must be called only one time (by process calling the DLL) before other calls
u32 gf_seng_get_stream_count | ( | GF_SceneEngine * | seng | ) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
must be called after gf_seng_init()
GF_Err gf_seng_get_stream_carousel_info | ( | GF_SceneEngine * | seng, |
u16 | ESID, | ||
u32 * | carousel_period, | ||
u16 * | aggregate_on_es_id | ||
) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
ESID | ID of the stream |
carousel_period | pointer to store the carousel_period |
aggregate_on_es_id | pointer to store the target carousel stream ID |
must be called after gf_seng_init()
GF_Err gf_seng_get_stream_config | ( | GF_SceneEngine * | seng, |
u32 | idx, | ||
u16 * | ESID, | ||
char **const | config, | ||
u32 * | config_len, | ||
u32 * | streamType, | ||
u32 * | objectType, | ||
u32 * | timeScale | ||
) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
idx | stream index |
ESID | pointer to the stream ID |
config | pointer to the encoded BIFS config (memory is not allocated) |
config_len | length of the buffer |
streamType | pointer to get stream type |
objectType | pointer to get object type |
timeScale | pointer to get time scale |
must be called after gf_seng_init()
GF_Err gf_seng_encode_context | ( | GF_SceneEngine * | seng, |
gf_seng_callback | callback | ||
) |
Encodes the AU context which is not encoded when calling BENC_EncodeAUFromString/File Should be called after Aggregate.
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
callback | pointer on a callback function to get the result of the coding the AU using the current context |
GF_Err gf_seng_encode_from_file | ( | GF_SceneEngine * | seng, |
u16 | ESID, | ||
Bool | disable_aggregation, | ||
char * | auFile, | ||
gf_seng_callback | callback | ||
) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
ESID | target streams when no indication is present in the file (eg, no atES_ID ) |
disable_aggregation | |
auFile | name of a file containing a description for an access unit (BT or XMT) |
callback | pointer on a callback function to get the result of the coding the AU using the current context |
GF_Err gf_seng_encode_from_string | ( | GF_SceneEngine * | seng, |
u16 | ESID, | ||
Bool | disable_aggregation, | ||
char * | auString, | ||
gf_seng_callback | callback | ||
) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
ESID | target streams when no indication is present in the file (eg, no atES_ID ) |
disable_aggregation | |
auString | a char string to encode (must one or several complete nodes in BT |
callback | pointer on a callback function to get the result of the coding the AU using the current context |
GF_Err gf_seng_encode_from_commands | ( | GF_SceneEngine * | seng, |
u16 | ESID, | ||
Bool | disable_aggregation, | ||
u32 | time, | ||
GF_List * | commands, | ||
gf_seng_callback | callback | ||
) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
ESID | indicates the stream to which these commands apply (0 if first scene stream) |
disable_aggregation | |
time | |
commands | the list of commands to encode |
callback | pointer on a callback function to get the result of the coding the AU using the current context |
GF_Err gf_seng_save_context | ( | GF_SceneEngine * | seng, |
char * | ctxFileName | ||
) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
ctxFileName | name of the file to save the current state of the BIFS scene to |
save the current context of the seng. if you want to save an aggregate context, use BENC_AggregateCurrentContext before
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
ESID | stream ID |
onESID | set stream aggragation on to the specified stream, or off if onESID is 0 |
marks the stream as carrying its own "rap" in the first AU of the stream
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
ESID | stream ID |
aggregates the current context of the seng, creates a scene replace if ESID is specified, only aggregate commands for this stream
void gf_seng_terminate | ( | GF_SceneEngine * | seng | ) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
release the memory used by this seng, no more call on the seng should happen after this
char* gf_seng_get_base64_iod | ( | GF_SceneEngine * | seng | ) |
seng | pointer to the GF_SceneEngine returned by gf_seng_init() |
encodes the IOD for this BIFS Engine into Base64
GF_Descriptor* gf_seng_get_iod | ( | GF_SceneEngine * | seng | ) |