libgpac
Documentation of the core library of GPAC
scene_manager.h File Reference

Scene management for importing/encoding of BIFS, XMT, LASeR scenes. More...

#include <gpac/isomedia.h>
#include <gpac/mpeg4_odf.h>
#include <gpac/scenegraph_vrml.h>
+ Include dependency graph for scene_manager.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_AUContext
 
struct  GF_StreamContext
 
struct  GF_SceneManager
 
struct  GF_SceneLoader
 
struct  GF_SMEncodeOptions
 
struct  GF_NodeStats
 
struct  GF_SceneStatistics
 

Enumerations

enum  { GF_SM_AU_RAP = 1 , GF_SM_AU_NOT_AGGREGATED = 1<<1 , GF_SM_AU_MODIFIED = 1<<2 , GF_SM_AU_CAROUSEL = 1<<3 }
 
enum  {
  GF_SM_SWF_STATIC_DICT = 1 , GF_SM_SWF_NO_TEXT = (1<<1) , GF_SM_SWF_NO_FONT = (1<<2) , GF_SM_SWF_QUAD_CURVE = (1<<3) ,
  GF_SM_SWF_NO_LINE = (1<<4) , GF_SM_SWF_SCALABLE_LINE = (1<<5) , GF_SM_SWF_NO_GRADIENT = (1<<6) , GF_SM_SWF_SPLIT_TIMELINE = (1<<7) ,
  GF_SM_SWF_REUSE_APPEARANCE = (1<<9) , GF_SM_SWF_USE_IC2D = (1<<10) , GF_SM_SWF_USE_SVG = (1<<11)
}
 
enum  {
  GF_SM_LOAD_MPEG4_STRICT = 1 , GF_SM_LOAD_FOR_PLAYBACK = 1<<1 , GF_SM_LOAD_CONTEXT_READY = 1<<2 , GF_SM_LOAD_CONTEXT_STREAMING = 1<<3 ,
  GF_SM_LOAD_EMBEDS_RES = 1<<4
}
 
enum  GF_SceneManager_LoadType {
  GF_SM_LOAD_BT = 1 , GF_SM_LOAD_VRML , GF_SM_LOAD_X3DV , GF_SM_LOAD_XMTA ,
  GF_SM_LOAD_X3D , GF_SM_LOAD_SVG , GF_SM_LOAD_XSR , GF_SM_LOAD_DIMS ,
  GF_SM_LOAD_SWF , GF_SM_LOAD_QT , GF_SM_LOAD_MP4
}
 
enum  { GF_SM_ENCODE_USE_NAMES = 1 , GF_SM_ENCODE_RAP_INBAND = 2 , GF_SM_ENCODE_RAP_SHADOW = 4 }
 
enum  GF_SceneDumpFormat {
  GF_SM_DUMP_BT = 0 , GF_SM_DUMP_XMTA , GF_SM_DUMP_VRML , GF_SM_DUMP_X3D_VRML ,
  GF_SM_DUMP_X3D_XML , GF_SM_DUMP_LASER , GF_SM_DUMP_SVG , GF_SM_DUMP_XML ,
  GF_SM_DUMP_AUTO_TXT , GF_SM_DUMP_AUTO_XML , GF_SM_DUMP_NONE
}
 

Functions

Bool gf_node_in_table (GF_Node *node, u32 NDTType)
 
GF_SceneManagergf_sm_new (GF_SceneGraph *scene_graph)
 
void gf_sm_del (GF_SceneManager *sman)
 
GF_StreamContextgf_sm_stream_new (GF_SceneManager *sman, u16 ES_ID, u8 streamType, u32 codec_id)
 
GF_StreamContextgf_sm_stream_find (GF_SceneManager *sman, u16 ES_ID)
 
GF_AUContextgf_sm_stream_au_new (GF_StreamContext *stream, u64 timing, Double time_ms, Bool isRap)
 
GF_MuxInfogf_sm_get_mux_info (GF_ESD *src)
 
GF_Err gf_sm_aggregate (GF_SceneManager *sman, u16 ESID)
 
GF_Err gf_sm_import_bifs_subtitle (GF_SceneManager *sman, GF_ESD *src, GF_MuxInfo *mux)
 
GF_Err gf_sm_load_init (GF_SceneLoader *sload)
 
GF_Err gf_sm_load_run (GF_SceneLoader *sload)
 
void gf_sm_load_done (GF_SceneLoader *sload)
 
GF_Err gf_sm_load_string (GF_SceneLoader *sload, const char *str, Bool clean_at_end)
 
GF_Err gf_sm_encode_to_file (GF_SceneManager *sman, GF_ISOFile *mp4, GF_SMEncodeOptions *opt)
 
GF_Err gf_sm_dump (GF_SceneManager *sman, char *rad_name, Bool is_final_name, GF_SceneDumpFormat dump_mode)
 
GF_SceneDumper * gf_sm_dumper_new (GF_SceneGraph *graph, char *rad_name, Bool is_final_name, char indent_char, GF_SceneDumpFormat dump_mode)
 
void gf_sm_dumper_del (GF_SceneDumper *sdump)
 
void gf_sm_dumper_set_extra_graph (GF_SceneDumper *sdump, GF_SceneGraph *extra)
 
char * gf_sm_dump_get_name (GF_SceneDumper *sdump)
 
GF_Err gf_sm_dump_command_list (GF_SceneDumper *sdump, GF_List *comList, u32 indent, Bool skip_first_replace)
 
GF_Err gf_sm_dump_graph (GF_SceneDumper *sdump, Bool skip_proto, Bool skip_routes)
 
GF_StatManager * gf_sm_stats_new ()
 
void gf_sm_stats_del (GF_StatManager *sstat)
 
void gf_sm_stats_reset (GF_StatManager *sstat)
 
const GF_SceneStatisticsgf_sm_stats_get (GF_StatManager *sstat)
 
GF_Err gf_sm_stats_for_graph (GF_StatManager *sstat, GF_SceneGraph *sg)
 
GF_Err gf_sm_stats_for_scene (GF_StatManager *sstat, GF_SceneManager *sman)
 
GF_Err gf_sm_stats_for_command (GF_StatManager *sstat, GF_Command *com)
 

Detailed Description

>