     //----------------------------------
     
     [Inspectable(Category="General", defaultValue="0")]
-    [Bindable("playheadChange")]
+    [Bindable("currentTimeChange")]
     
     /**
      *  Current time of the playhead, measured in seconds, 

import org.osmf.events.AudioEvent;
import org.osmf.events.DimensionEvent;
import org.osmf.events.LoadEvent;
import org.osmf.events.MediaPlayerStateChangeEvent;
import org.osmf.events.PlayingChangeEvent;
import org.osmf.events.TimeEvent;
import org.osmf.media.MediaPlayer;
import org.osmf.media.MediaPlayerState;
import org.osmf.media.URLResource;

        addChild(videoSprite);
    }
    
    /**
     *  @private
     *  Sets up the source for use.
     */
    private function setUpSource():void
    {
        var videoElement:org.osmf.video.VideoElement;
        
        // check for 4 cases: streaming video, progressive download, 
        // an IMediaResource, or a VideoElement.  
        // The latter 2 are undocumented but allowed for flexibility until we 
        // can support OSMF better after they ship OSMF 1.0.  At that point, support 
        // for a source as an IMediaResource or a VideoElement may be removed.
        if (source is DynamicStreamingVideoSource)
        {
            // the streaming video case.
            // build up a DynamicStreamingResource to pass in to OSMF
            var streamingSource:DynamicStreamingVideoSource = source as DynamicStreamingVideoSource;
            var dsr:DynamicStreamingResource;
            
            // check for two cases for host: String and URL.
            // Technically, we only support URL, but we secretly allow 
            // them to send in an OSMF URL or FMSURL here to help resolve any ambiguity
            // around serverName vs. streamName.
            if (streamingSource.host is String)
            {
                dsr = new DynamicStreamingResource(new FMSURL(streamingSource.host as String), 
                    streamingSource.streamType);
            }
            else if (streamingSource.host is URL)
            {
                dsr = new DynamicStreamingResource(streamingSource.host as URL, 
                    streamingSource.streamType);
            }
            
            if (dsr)
            {
                var n:int = streamingSource.streamItems.length;
                var item:DynamicStreamingVideoItem;
                var dsi:DynamicStreamingItem;
                var streamItems:Vector.<DynamicStreamingItem> = new Vector.<DynamicStreamingItem>(n);
                
                for (var i:int = 0; i < n; i++)
                {
                    item = streamingSource.streamItems[i];
                    dsi = new DynamicStreamingItem(item.streamName, item.bitrate);
                    streamItems[i] = dsi;
                }
                dsr.streamItems = streamItems;
                
                dsr.initialIndex = streamingSource.initialIndex;
                
                videoElement = new org.osmf.video.VideoElement(new DynamicStreamingNetLoader(), dsr);
            }
        }
        else if (source is String)
        {
            var urlResource:URLResource = new URLResource(new URL(source as String));
            videoElement = new org.osmf.video.VideoElement(new NetLoader(), urlResource);
        }
        else if (source is IMediaResource)
        {
            videoElement = new org.osmf.video.VideoElement(new NetLoader(), source as IMediaResource);
        }
        else if (source is org.osmf.video.VideoElement)
        {
            videoElement = source as org.osmf.video.VideoElement;
        }
        
        // reset the visibilityPausedTheVideo flag
        playTheVideoOnVisible = true;
        // set up videoPlayer.autoPlay based on whether this.autoPlay is 
        // set and whether we are visible and the other typical conditions.
        changePlayback(false, false);
        
        // if we're not going to autoPlay but we need to seek 
        // to the first frame, then we have to do this on our own 
        // by using our load() method.
        if (!autoPlay && seekToFirstFrame)
            load();
        
        
        videoPlayer.element = videoElement;
    }
    
    /**
     *  @private
     *  Our own internal load() method to handle the case 
     *  where autoPlay = false and seekToFirstFrame = true 
     *  so that we can load up the video, figure out its size, 
     *  and show the first frame
     */
    private function load():void
    {
        // wait until we can play(), pause(), and seek() before doing anything.
        videoPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.PLAYABLE_CHANGE, videoPlayer_mediaPlayerCapabilityChangeHandler);
        videoPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.PAUSABLE_CHANGE, videoPlayer_mediaPlayerCapabilityChangeHandler);
        videoPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.SEEKABLE_CHANGE, videoPlayer_mediaPlayerCapabilityChangeHandler);
    }
    
    //--------------------------------------------------------------------------
    //
    //  pauseWhenHidden: Event handlers and Private Methods
