Example #1
0
File: main.c Project: Bevara/GPAC
void node_init(void *cbk, GF_Node *node)
{
	BIFSVID *b2v = cbk;
	switch (gf_node_get_tag(node)) {
	case TAG_MPEG4_Conditional:
	case TAG_MPEG4_QuantizationParameter:
		break;
	default:
		if (b2v->sr) gf_sc_on_node_init(b2v->sr, node);
		break;
	}
}
Example #2
0
void gf_term_on_node_init(void *_scene, GF_Node *node)
{
	GF_Scene *scene = (GF_Scene *)_scene;
	if (!node || !scene) return;
	
	switch (gf_node_get_tag(node)) {
#ifndef GPAC_DISABLE_VRML

	case TAG_MPEG4_Inline: 
#ifndef GPAC_DISABLE_X3D
	case TAG_X3D_Inline: 
#endif
		gf_init_inline(scene, node); break;
	case TAG_MPEG4_MediaBuffer: break;
	case TAG_MPEG4_MediaControl: InitMediaControl(scene, node); break;
	case TAG_MPEG4_MediaSensor: InitMediaSensor(scene, node); break;
	case TAG_MPEG4_InputSensor: InitInputSensor(scene, node); break;

	/*BIFS nodes, get back to codec, but filter externProtos*/
	case TAG_MPEG4_Conditional: break;
	case TAG_MPEG4_QuantizationParameter: break;
	/*world info is stored at the inline scene level*/
	case TAG_MPEG4_WorldInfo:
#ifndef GPAC_DISABLE_X3D
	case TAG_X3D_WorldInfo:
#endif
		gf_node_set_callback_function(node, TraverseWorldInfo);
		gf_node_set_private(node, scene);
		break;

#ifndef GPAC_DISABLE_X3D
	case TAG_X3D_KeySensor: InitKeySensor(scene, node); break;
	case TAG_X3D_StringSensor: InitStringSensor(scene, node); break;
#endif

	case TAG_MPEG4_TermCap: 
		InitTermCap(scene, node); break;

	case TAG_MPEG4_Storage: 
		gf_scene_init_storage(scene, node); break;

	case TAG_MPEG4_KeyNavigator:
		gf_node_set_callback_function(node, TraverseKeyNavigator);
		gf_node_set_private(node, scene);
		gf_list_add(scene->keynavigators, node);
		((M_KeyNavigator*)node)->on_setFocus = on_kn_set_focus;
		break;
		
#endif


#ifndef GPAC_DISABLE_SVG
	case TAG_SVG_title: 
		gf_node_set_callback_function(node, svg_traverse_title);
		gf_node_set_private(node, scene);
		break;
#endif

	default: gf_sc_on_node_init(scene->root_od->term->compositor, node); break;
	}
}