 										recoveryStateNum = URLErrorRecoveryStates.IDLE;
 										recoveryDelayTimer.reset();
 									}
-									
+
 									if (_waitForDRM)
 									{
 										setState(HTTPStreamingState.WAIT);

			private var recoveryDelayTimer:Timer = new Timer(0); // timer that will be set to the required delay of reload attempts in the case of a URL error
			private var gotBytes:Boolean = false;// If we got bytes- marks a stream that we should attempt to recover
			
			public static var currentStream:HLSManifestStream;// this is the manifest we are currently using. Used to determine how much to seek forward after a URL error
			public static var indexHandler:HLSIndexHandler;// a reference to the active index handler. Used to update the quality list after a change.
			public static var recognizeBadStreamTime:Number = 20;// this is how long in seconds we will attempt to recover after a URL error before we give up completely

						case HTTPStreamingState.WAIT:
							// if we are getting dry then go back into
							// active play mode and get more bytes 
							// from the stream provider
							if (!_waitForDRM && (this.bufferLength < _desiredBufferTime_Min || checkIfExtraBufferingNeeded()))
							{
								setState(HTTPStreamingState.PLAY);
							}
							
							// Reset a timer every time this code is reached. If this code is NOT reached for a significant amount of time, it means
							// we are attempting to stream a quality level that is too high for the current bandwidth, and should switch to the lowest
							// quality, as a precaution.
							if (!streamTooSlowTimer)
							{
								// If the timer doesn't yet exist, create it, setting the delay to twice the maximum desired buffer time
								streamTooSlowTimer = new Timer(_desiredBufferTime_Max * 2000);

								streamTooSlowTimer.addEventListener(TimerEvent.TIMER, function(timerEvent:TimerEvent = null):void {
									// If this event is hit, set the quality level to the lowest available quality level
									trace("Warning: Buffer Time of " + _desiredBufferTime_Max * 2 + " seconds exceeded. Switching to quality 0");
									changeQualityLevelTo((_resource as HLSStreamingResource).manifest.streams[0].uri);
								});
							}
							streamTooSlowTimer.reset();
							streamTooSlowTimer.start();
									
							break;
						
						case HTTPStreamingState.SEEK:
