GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
scene_engine.h File Reference
+ Include dependency graph for scene_engine.h:
+ This graph shows which files directly or indirectly include this file:

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_Descriptorgf_seng_get_iod (GF_SceneEngine *seng)
 
GF_Err gf_seng_dump_rap_on (GF_SceneEngine *seng, Bool dump_rap)
 

Typedef Documentation

typedef void(* gf_seng_callback)(void *udta, u16 ESID, char *data, u32 size, u64 ts)

Function Documentation

GF_SceneEngine* gf_seng_init ( void *  calling_object,
char *  inputContext,
u32  load_type,
char *  dump_path,
Bool  embed_resources 
)
Parameters
calling_objectis the calling object on which call back will be called
inputContextis the name of a scene file (bt, xmt or mp4) to initialize the coding context
load_typeis the prefered loader type for the content (e.g. SVG vs DIMS)
dump_pathis the path where scenes are dumped
embed_resourcesindicates 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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_SceneEngine* gf_seng_init_from_string ( void *  calling_object,
char *  inputContext,
u32  load_type,
u32  width,
u32  height,
Bool  usePixelMetrics,
char *  dump_path 
)
Parameters
calling_objectis the calling object on which call back will be called
inputContextis an UTF-8 scene description (with or without IOD) in BT or XMT-A format
load_typeis the prefered loader type for the content (e.g. SVG vs DIMS)
widthwidth of scene if no IOD is given in the context.
heightheight of scene if no IOD is given in the context.
usePixelMetricsmetrics system used in the scene, if no IOD is given in the context.
dump_paththe path where scenes are dumped

must be called only one time (by process calling the DLL) before other calls

+ Here is the call graph for this function:

GF_SceneEngine* gf_seng_init_from_context ( void *  calling_object,
GF_SceneManager ctx,
char *  dump_path 
)
Parameters
calling_objectthe calling object on which call back will be called
ctxan already loaded scene manager
dump_paththe path where scenes are dumped

must be called only one time (by process calling the DLL) before other calls

+ Here is the call graph for this function:

u32 gf_seng_get_stream_count ( GF_SceneEngine *  seng)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()

must be called after gf_seng_init()

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_seng_get_stream_carousel_info ( GF_SceneEngine *  seng,
u16  ESID,
u32 carousel_period,
u16 aggregate_on_es_id 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
ESIDID of the stream
carousel_periodpointer to store the carousel_period
aggregate_on_es_idpointer to store the target carousel stream ID

must be called after gf_seng_init()

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
idxstream index
ESIDpointer to the stream ID
configpointer to the encoded BIFS config (memory is not allocated)
config_lenlength of the buffer
streamTypepointer to get stream type
objectTypepointer to get object type
timeScalepointer to get time scale

must be called after gf_seng_init()

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
callbackpointer on a callback function to get the result of the coding the AU using the current context

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_seng_encode_from_file ( GF_SceneEngine *  seng,
u16  ESID,
Bool  disable_aggregation,
char *  auFile,
gf_seng_callback  callback 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
ESIDtarget streams when no indication is present in the file (eg, no atES_ID )
disable_aggregation
auFilename of a file containing a description for an access unit (BT or XMT)
callbackpointer on a callback function to get the result of the coding the AU using the current context

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_seng_encode_from_string ( GF_SceneEngine *  seng,
u16  ESID,
Bool  disable_aggregation,
char *  auString,
gf_seng_callback  callback 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
ESIDtarget streams when no indication is present in the file (eg, no atES_ID )
disable_aggregation
auStringa char string to encode (must one or several complete nodes in BT
callbackpointer on a callback function to get the result of the coding the AU using the current context

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_seng_encode_from_commands ( GF_SceneEngine *  seng,
u16  ESID,
Bool  disable_aggregation,
u32  time,
GF_List *  commands,
gf_seng_callback  callback 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
ESIDindicates the stream to which these commands apply (0 if first scene stream)
disable_aggregation
time
commandsthe list of commands to encode
callbackpointer on a callback function to get the result of the coding the AU using the current context

+ Here is the call graph for this function:

GF_Err gf_seng_save_context ( GF_SceneEngine *  seng,
char *  ctxFileName 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
ctxFileNamename 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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_seng_enable_aggregation ( GF_SceneEngine *  seng,
u16  ESID,
u16  onESID 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
ESIDstream ID
onESIDset 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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_seng_aggregate_context ( GF_SceneEngine *  seng,
u16  ESID 
)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()
ESIDstream ID

aggregates the current context of the seng, creates a scene replace if ESID is specified, only aggregate commands for this stream

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_seng_terminate ( GF_SceneEngine *  seng)
Parameters
sengpointer 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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

char* gf_seng_get_base64_iod ( GF_SceneEngine *  seng)
Parameters
sengpointer to the GF_SceneEngine returned by gf_seng_init()

encodes the IOD for this BIFS Engine into Base64

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Descriptor* gf_seng_get_iod ( GF_SceneEngine *  seng)

+ Here is the call graph for this function:

GF_Err gf_seng_dump_rap_on ( GF_SceneEngine *  seng,
Bool  dump_rap 
)