         if (!autoPlay && autoDisplayFirstFrame)
             load();
         
-        
         videoPlayer.element = videoElement;
+        
+        // if our source is null, let's invalidateSize() here.
+        // if it's a bad source, we'll get a playbackError and invalidate
+        // the size down there.  If it's a good source, we'll get a 
+        // dimensionChange event and invalidate the size in there.
+        if (source == null)
+            invalidateSize();
     }
     
     /**

        if (event.state == MediaPlayerState.READY)
        {
            // now that we are loading up, let's remove the event listener:
            videoPlayer.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandler);
            
            // if we are already playing() for some reason because someone called play(), then
            // we don't need to do anything.

        videoPlayer.addEventListener(AudioEvent.MUTED_CHANGE, videoPlayer_mutedChangeHandler);
        
        // public events
        videoPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandler);
        videoPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, dispatchEvent);
        videoPlayer.addEventListener(LoadEvent.BYTES_LOADED_CHANGE, dispatchEvent);
        videoPlayer.addEventListener(TimeEvent.DURATION_CHANGE, dispatchEvent);
