 
 /**
  *  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
  * 

        var current:IVisualElement = this;
        while (current)
        {
            current.addEventListener(FlexEvent.HIDE, visibilityChangedHandler, false, 0, true);
            current.addEventListener(FlexEvent.SHOW, visibilityChangedHandler, false, 0, true);
            
            current = current.parent as IVisualElement;
        }
    }

    {
        // create new video player
        videoPlayer = new MediaPlayer();
        videoGateway = new RegionGateway();
        videoGateway.clipChildren = true;
        
        // internal events
        videoPlayer.addEventListener(DimensionEvent.DIMENSION_CHANGE, videoPlayer_dimensionChangeHandler);
