InitialObjectDescriptor {
  objectDescriptorID 1
  ODProfileLevelIndication 0xFF
  sceneProfileLevelIndication 0xFE
  audioProfileLevelIndication 0xFF
  visualProfileLevelIndication 0xFF
  graphicsProfileLevelIndication 0xFE

  esdescr [
    ES_Descriptor {
      es_id 1
      decConfigDescr DecoderConfigDescriptor {
				streamType 3
				decSpecificInfo BIFSConfig {
				  isCommandStream true
				  pixelMetric true
				  pixelWidth 400
				  pixelHeight 200
				}
      }
    }
    ES_Descriptor {
      es_id 2
      decConfigDescr DecoderConfigDescriptor {
				streamType 1
      }
    }
  ]
}

OrderedGroup { 
 children [

  Background2D {backColor 1 1 1 url "od:10"}
	MediaControl {url "od:10" loop TRUE}

  WorldInfo {
   title "Layer3D test"
   info ["This shows several Layer3D nodes" "offering different views of the same scene" "navigation is not enabled on all layers" "" "GPAC Regression Tests" "$Date: 2008-11-24 14:58:25 $ - $Revision: 1.6 $" "(C) 2002-2004 GPAC Team"]
  }
	Transform2D {
		translation -100 0
		children [
			Shape {
				appearance DEF TXTAPP Appearance {
					material Material2D { emissiveColor 1 0 0 filled TRUE }
				}
				geometry Text {
					string ["This text" "is behind"]
					fontStyle FontStyle {
						size 26
						justify ["MIDDLE", "BEGIN"]
					}
				}
			}
			Layer3D {
				#SHORTCUT inline viewpoint otherwise the rotation will make all models rotate
				viewpoint Viewpoint {position 0 -100 1000 }
				# this forbids navigation in layer
				navigationInfo NavigationInfo {type ["None"]}
				size 200 200
				children [
						DEF TR Transform {
	  					children [
								DEF NEF Inline { url "../auxiliary_files/nefertiti.wrl" }
							]
						}
				]
			}
			Shape {
				appearance USE TXTAPP
				geometry Text {
					string ["This text" "is in front"]
					fontStyle FontStyle {
						size 26
						justify ["MIDDLE", "END"]
					}
				}
			}
		]
	}

	Transform2D {
		translation 100 50
		children [
			Layer3D {
				viewpoint Viewpoint {position 0 -100 1000 }
				navigationInfo NavigationInfo {type ["EXAMINE"] }
				size 200 100
				children [
					Background2D {url "20" }
					USE NEF
		   ]
		  }
		]
	}
	Transform2D {
		translation 100 -50
		children [
			Layer3D {
				viewpoint Viewpoint {position 0 -100 1000 }
				navigationInfo NavigationInfo {headlight FALSE}
				size 200 100
				children [
					Background2D { backColor 0 0 1 }
  				DEF DL DirectionalLight { color 0.8 0.2 0.2 direction 0 0 -1 }
					USE NEF
				]
			}
		]
	}
	

  DEF TS TimeSensor { cycleInterval 8.0 loop TRUE }
  DEF OI OrientationInterpolator  {
  	key [0 0.5 1]
  	keyValue [0 1 0 0, 0 1 0 3.14, 0 1 0 6.26]
 	}
  DEF OI_L PositionInterpolator  {
  	key [0 0.25 0.5 0.75 1]
  	keyValue [-1 0 0, 0 0 -1, 1 0 0, 0 0 -1, -1 0 0]
 	}
 ]
}

ROUTE TS.fraction_changed TO OI.set_fraction
ROUTE OI.value_changed TO TR.rotation

ROUTE TS.fraction_changed TO OI_L.set_fraction
ROUTE OI_L.value_changed TO DL.direction


AT 0 {
	UPDATE OD [
		ObjectDescriptor {
		  objectDescriptorID  10
		  esDescr [
		    ES_Descriptor {
		      ES_ID 10
		      OCR_ES_ID 10
		      muxInfo MuxInfo {
		       fileName "../auxiliary_files/enst_video.h264"
		      }
		    }
		  ]
		}
		ObjectDescriptor {
		  objectDescriptorID  20
		  esDescr [
		    ES_Descriptor {
		      ES_ID 20
		      muxInfo MuxInfo {
		       fileName "../auxiliary_files/logo.png"
		      }
		    }
		  ]
		}
	]
}

