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 320
     pixelHeight 240
    }
   }
  }
  ES_Descriptor {
   ES_ID 2
   decConfigDescr DecoderConfigDescriptor {
    streamType 1
   }
  }
 ]
}

OrderedGroup {
 children [
  Background2D {
   backColor 1 1 1
  }
  WorldInfo {
   info ["This shows AudioSource" "controled through startTime and stopTime" "audio clock is independent from BIFS clock, thus audio restarts from begining" "" "GPAC Regression Tests" "$Date: 2007-07-27 09:46:10 $ - $Revision: 1.3 $" "(C) 2002-2004 GPAC Team"]
   title "AudioSource Test"
  }
  DEF SD Sound2D {
   source DEF AS AudioSource {
    url [od:10]
    stopTime 4
   }
  }
  Transform2D {
   translation -50 0
   children [
    DEF TS1 TouchSensor {}
    Shape {
     appearance Appearance {
      material Material2D {
       emissiveColor 1 0 0
       filled TRUE
      }
     }
     geometry Rectangle {
      size 50 50
     }
    }
    Shape {
     appearance DEF APP Appearance {
      material Material2D {
       emissiveColor 0 0 0
       filled TRUE
      }
     }
     geometry Text {
      string ["Stop"]
      fontStyle DEF FS FontStyle {
       justify ["MIDDLE" "MIDDLE"]
       size 18
      }
     }
    }
   ]
  }
  DEF C1 Conditional {
   buffer {
    REPLACE AS.stopTime BY 0
   }
  }
  Transform2D {
   translation 50 0
   children [
    DEF TS2 TouchSensor {}
    Shape {
     appearance Appearance {
      material Material2D {
       emissiveColor 0 0 1
       filled TRUE
      }
     }
     geometry Rectangle {
      size 50 50
     }
    }
    Shape {
     appearance USE APP
     geometry Text {
      string ["Start"]
      fontStyle USE FS
     }
    }
   ]
  }
  DEF C2 Conditional {
   buffer {
    REPLACE AS.startTime BY 0
   }
  }
 ]
}

ROUTE TS1.isActive TO C1.activate
ROUTE TS2.isActive TO C2.activate

AT 0 {
  UPDATE OD [
   ObjectDescriptor {
    objectDescriptorID 10
    esDescr [
     ES_Descriptor {
      ES_ID 20
      OCR_ES_ID 20
      muxInfo MuxInfo {
       fileName "../auxiliary_files/count_italian.mp3"
      }
     }
    ]
   }
  ]
}

