     
     [Bindable("complete")]
     [Bindable("metadataReceived")]
+    [Bindable("totalTimeChanged")]
     [Inspectable(Category="General", defaultValue="0")]
     
     /**

            videoElement.removeEventListener(spark.events.VideoEvent.READY, dispatchEvent);
            videoElement.removeEventListener(fl.video.VideoEvent.STATE_CHANGE, videoElement_stateChangeHandler);
            videoElement.removeEventListener("playingChanged", videoElement_playingChangedHandler);
            
            // just strictly for binding purposes
            videoElement.removeEventListener("autoRewound", videoElement_autoRewoundHandler);
            videoElement.removeEventListener("sourceChanged", dispatchEvent);
            videoElement.removeEventListener("volumeChanged", videoElement_volumeChangedHandler);
        }

        if (!scrubBarMouseCaptured && !scrubBarChanging)
        {
            scrubBar.minimum = 0;
            scrubBar.maximum = isNaN(videoElement.totalTime) ? 0 : videoElement.totalTime;
            scrubBar.value = isNaN(videoElement.playheadTime) ? 0 : videoElement.playheadTime;
        }
        
        if (scrubBar is VideoPlayerScrubBar)
