 			_bestEffortDownloaderMonitor.addEventListener(HTTPStreamingEvent.DOWNLOAD_COMPLETE, onBestEffortDownloadComplete);
 			_bestEffortDownloaderMonitor.addEventListener(HTTPStreamingEvent.DOWNLOAD_ERROR, onBestEffortDownloadError);
 
+			// Get the manifest.
+			var newMan:HLSManifestParser = getManifestForQuality(quality);
+			if(newMan == null)
+			{
+				trace("initiateBestEffortRequest - No manifest found to best effort request quality level " + quality);
+				return null;
+			}
+
 			if(!segments)
 			{
-				// Get the URL.
-				var newMan:HLSManifestParser = getManifestForQuality(quality);
-				if(newMan == null)
-				{
-					trace("initiateBestEffortRequest - No manifest found to best effort request quality level " + quality);
-					return null;
-				}
-
 				segments = newMan.segments;
 			}
 


		private function onReloadComplete(event:Event):void
		{
			trace ("::onReloadComplete - last/reload/target: " + lastQuality + "/" + reloadingQuality + "/" + targetQuality);
			var newManifest:HLSManifestParser = event.target as HLSManifestParser;

			if(!newManifest)
			{

			if (!resource.manifest.streamEnds)
			{
				trace("getFileForTime - stalling.");
				return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
			}
			
			trace("getFileForTime - end of stream.s");
