 
 /**
  *  Dispatched when the <code>duration</code> property of the media has changed.
+ * 
+ *  <p>This event may not be dispatched when the source is set to null or a playback
+ *  error occurs.</p>
  * 
  *  @eventType org.osmf.events.TimeEvent.DURATION_CHANGE
  * 

    {
        // create new video player
        videoPlayer = new MediaPlayer();
        videoSprite = new MediaPlayerSprite(videoPlayer);
        
        // internal events
        videoPlayer.addEventListener(DimensionEvent.DIMENSION_CHANGE, videoPlayer_dimensionChangeHandler);

     */
    private function setUpSource():void
    {
        // if was playing a previous video, let's remove it now
        if (videoPlayer.element)
            videoGateway.removeElement(videoPlayer.element);
        
        var videoElement:org.osmf.video.VideoElement;
        
        // check for 4 cases: streaming video, progressive download, 
