 				fileHandler.segmentId = seq;
 				fileHandler.key = getKeyForIndex( seq );
 				fileHandler.segmentUri = curSegment.uri;
-				trace("Getting Segment[" + seq + "] StartTime: " + curSegment.startTime + " Continuity: " + curSegment.continuityEra + " URI: " + curSegment.uri); 
+				trace("Getting Segment [" + seq + "] for StartTime: " + curSegment.startTime + " Continuity: " + curSegment.continuityEra + " URI: " + curSegment.uri); 
 				return createHTTPStreamRequest( curSegment );
 			}
 			else
 			{
-				trace("Seeking to unknown location " + time + ", waiting.");
+				trace("getFileForTime - Seeking to unknown location " + time + ", waiting.");
 			}
 			
 			// TODO: Handle live streaming lists by returning a stall.			
 			if (!resource.manifest.streamEnds)
+			{
+				trace("getFileForTime - stalling.");
 				return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL);
-			
+			}
+			
+			trace("getFileForTime - end of stream.s");
 			return new HTTPStreamRequest(HTTPStreamRequestKind.DONE);
 		}
 		


			// Try again.
			stalled = false;
		}
		
		

		private function dispatchDVRStreamInfo():void
		{
			var curManifest:HLSManifestParser = getManifestForQuality(lastQuality);
			var segments:Vector.<HLSManifestSegment> = curManifest.segments;
			if (segments.length == 0) 
			{
				trace("Failed to dispatch DVR info, no segments!");
				return;
			}

			updateSegmentTimes(segments);

			var firstSegment:HLSManifestSegment = segments[0];
			var lastSegment:HLSManifestSegment  = segments[segments.length - 1];

			var dvrInfo:DVRInfo = new DVRInfo();
			dvrInfo.offline = false;
			dvrInfo.isRecording = !curManifest.streamEnds;  // TODO: verify that this is what we REALLY want to be doing
			dvrInfo.startTime = firstSegment.startTime;
			dvrInfo.beginOffset = firstSegment.startTime;
			dvrInfo.endOffset = lastSegment.startTime + lastSegment.duration;
			dvrInfo.curLength = dvrInfo.endOffset - dvrInfo.beginOffset;
