     }
     
     //----------------------------------
-    //  totalTime
-    //----------------------------------
-    
-    [Bindable("complete")]
-    [Bindable("metadataReceived")]
-    [Bindable("totalTimeChanged")]
-    [Inspectable(Category="General", defaultValue="0")]
-    
-    /**
-     *  Total time for the video feed.  -1 means that property
-     *  was not pass into <code>play()</code> or
-     *  we were unable to detect the total time automatically,
-     *  or have not yet.
-     *
-     *  @return The total running time of the FLV in seconds
-     *  @default 0
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get totalTime():Number
-    {
-        return videoPlayer.totalTime;
-    }
-    
-    //----------------------------------
     //  videoObject
     //----------------------------------
     

    {
        _playWhenHidden = value;
        
        // if we want our playback to be controlled by visibility
        if (!playWhenHidden)
        {
            // if we shouldn't be playing and we are, then pause it
            // otherwise if we aren't playing and we should be, then play
            if (!effectivePlay && playing)
                pause();
            else if (effectiveAutoPlay && !playing)
                play();
        }
    }
    
    //----------------------------------

     */
    public function play():void
    {
        // check to see if we can call methods on the video player object yet
        if (!videoPlayerResponsive())
            return;
        
        videoPlayer.play();
    }
    
    /**
     *  @private
     *  If the video player is responsive, then methods can be called on the underlying 
     *  video player.
     */
    private function videoPlayerResponsive():Boolean
    {
        // can't call any methods before we've initialized
        if (!initializedOnce)
            return false;
        
        // if displaying a thumbnail, no methods can be called b/c there's no video 
        // loaded up
        if (thumbnailSource)
            return false;
        
        // if the video player's in a bad state, we can't do anything
        if (videoPlayer.state == MediaPlayerState.PLAYBACK_ERROR)
            return false;
        
        // if no source, return false as well
        if (!source)
            return false;
        
        // otherwise, we are in a good state and have a source, so let's go
        return true;
    }
    
    /**
