                 videoElement = new org.osmf.elements.VideoElement(dsr, new RTMPDynamicStreamingNetLoader());
             }
         }
-        else if (source is String)
+        else if (source is String && source != "")
         {
             var urlResource:URLResource = new URLResource(source as String);
             videoElement = mediaFactory.createMediaElement(urlResource);

            videoPlayer.muted = beforeLoadMuted;
            if (videoPlayer.displayObject)
                videoPlayer.displayObject.visible = true;
        }
    }
    

     */
    private var inLoadingState3:Boolean;
    
    /**
     *  @private
     * 
     *  Old value of videoPlayer.currentTimeUpdateInterval. We store the old 
     *  value when we are taken off the stage and pauseWhenHidden is true 
     *  (removedFromStageHandler). We restore the old value when we are added
     *  to the stage (addedToStageHandler). The value is used in setupSource()
     *  to turn the timers back on if they were disabled. The value if also used
     *  to check if we should turn off the timers in videoPlayer_seekChangeHandler
     *  and videoPlayer_currentTimeChangeHandler.
     *  This is done to keep this component from being pinned in memory by the timer 
     *  associated the currentTimeUpdateInterval property.
     */
    private var oldCurrentTimeUpdateInterval:Number = NaN;
    
    /**
     *  @private
     * 
     *  Old value of videoPlayer.bytesLoadedUpdateInterval. We store the old 
     *  value when we are taken off the stage and pauseWhenHidden is true 
     *  (removedFromStageHandler). We restore the old value when we are added
     *  to the stage (addedToStageHandler). The value is used in setupSource()
     *  to turn the timers back on if they were disabled. The value if also used
     *  to check if we should turn off the timers in videoPlayer_seekChangeHandler
     *  and videoPlayer_currentTimeChangeHandler.
     *  This is done to keep this component from being pinned in memory by the timer 
     *  associated the bytesLoadedUpdateInterval property.
     */
    private var oldBytesLoadedUpdateInterval:Number = NaN;
    
    //--------------------------------------------------------------------------
    //
    //  Properties
