      */
     public function pause():void
     {
+        // can't call any methods before we've initialized
+        if (!initialized)
+            return;
+        
         if (source == null || videoPlayer.state == VideoState.CONNECTION_ERROR)
             return;
         

            
            // load the video up
            videoPlayer.load(sourceString);
        }
        else
        {
            // huge hack to reset the video state
            // otherwise there's no way to reset the 
            // playheadTime and totalTime.
            // In the future, this hopefully will be easier and the 
            // video player might also have the concept of a bad URL or a 
            // source=null.
            videoPlayer.load("QYQYQYQYQYQ");
        }
        
        setPlaying(false);

        }
        else
        {
            setPlaying(false);
        }
    }
