InitialObjectDescriptor {
 objectDescriptorID 1
 audioProfileLevelIndication 255
 visualProfileLevelIndication 254
 sceneProfileLevelIndication 1
 graphicsProfileLevelIndication 1
 ODProfileLevelIndication 1
 esDescr [
  ES_Descriptor {
   ES_ID 1
   decConfigDescr DecoderConfigDescriptor {
    streamType 3
    decSpecificInfo BIFSConfig {
     isCommandStream true
     pixelMetric true
     pixelWidth 240
     pixelHeight 200
    }
   }
  }
  ES_Descriptor {
   ES_ID 2
   decConfigDescr DecoderConfigDescriptor {
    streamType 1
   }
  }
 ]
}

OrderedGroup {
 children [
  Background2D {
   backColor 1 1 1
  }
  WorldInfo {
   info ["This shows chapter selection" "through segment switching in MediaControl" "" "GPAC Regression Tests" "$Date: 2008-08-28 16:17:57 $ - $Revision: 1.4 $" "(C) 2002-2004 GPAC Team"]
   title "Media Control Test"
  }
  Transform2D {
   children [
    Shape {
     appearance Appearance {
      texture DEF MT MovieTexture {
       url [od:8]
      }
     }
     geometry Bitmap {}

    }
    DEF TS TouchSensor {}
   ]
  }
#if 0
  Sound2D {
   source DEF ASRC AudioSource {
    url [od:10]
   }
  }
#endif
  DEF MC MediaControl {
   url ["od:8#Begin" "od:8#End"]
   loop TRUE
   preRoll FALSE
  }
  DEF MS MediaSensor {
   url [od:8]
  }
  Transform2D {
   translation 0 -80
   children [
    Shape {
     appearance DEF APP Appearance {
      material Material2D {
       emissiveColor 0 0 0
       filled TRUE
      }
     }
     geometry DEF TXT Text {
      string [""]
      fontStyle DEF FS FontStyle {
       justify ["MIDDLE" "MIDDLE"]
       size 20
      }
     }
    }
   ]
  }
  DEF V Valuator {}
  DEF C Conditional {
   buffer {
    REPLACE MC.url BY ["od:8#Middle"]
   }
  }
  DEF RC Conditional {
   buffer {
    REPLACE MC.url BY ["od:8#Begin" "od:8#End"]
   }
  }
 ]
}

ROUTE MS.mediaCurrentTime TO V.inSFTime
ROUTE V.outMFString TO TXT.string
ROUTE TS.isOver TO C.activate
ROUTE TS.isOver TO RC.reverseActivate

AT 0 {
  UPDATE OD [
   ObjectDescriptor {
    objectDescriptorID 8
    esDescr [
     ES_Descriptor {
      ES_ID 21
      OCR_ES_ID 21
      muxInfo MuxInfo {
       fileName "../auxiliary_files/count_video.cmp"
      }
     }
    ]
    ociDescr [
     SegmentDescriptor {
      startTime 0
      duration 4
      name "Begin"
     }
     SegmentDescriptor {
      startTime 4
      duration 2
      name "Middle"
     }
     SegmentDescriptor {
      startTime 6
      duration 4
      name "End"
     }
    ]
   }
#if 0
   ObjectDescriptor {
    objectDescriptorID 10
    esDescr [
     ES_Descriptor {
      ES_ID 20
      OCR_ES_ID 21
      muxInfo MuxInfo {
       fileName "../auxiliary_files/count_english.mp3"
      }
     }
    ]
   }
#endif
  ]
}

