      */
     public function set pauseWhenHidden(value:Boolean):void
     {
+        if (_pauseWhenHidden == value)
+            return;
+        
         _pauseWhenHidden = value;
+        
+        if (_pauseWhenHidden)
+            addVisibilityListeners();
+        else
+            removeVisibilityListeners();
         
         changePlayback();
     }

        _isOnDisplayList = true;
        
        // add listeners to current parents to see if their visibility has changed
        var current:IVisualElement = this;
        while (current)
        {

     */
    public function get videoObject():Video
    {
        return videoPlayer.view as Video;
    }
    
    //----------------------------------
