 			}
 
 			// If no old manifest, it's a new play session.
+			var didWeSeedLastSequence:Boolean = false;
 			if(oldManifest == null)
 			{
 				trace("SEEDING LAST SEQUENCE");
+				didWeSeedLastSequence = true;
+
 				if(currentManifest.streamEnds == true)
 				{
 					updateLastSequence(currentManifest, 0);
 				}
 				else
 				{
-					updateLastSequence(currentManifest, currentManifest.segments[Math.max(0, currentManifest.segments.length - HLSManifestParser.MAX_SEG_BUFFER + -1)].id);
+					updateLastSequence(currentManifest, 
+						currentManifest.segments[Math.max(0, 
+							currentManifest.segments.length - HLSManifestParser.MAX_SEG_BUFFER - 1)].id);
 				}
 			}
 

				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 2);
			}

			// Advance sequence number.
			newSequence++;

			var segments:Vector.<HLSManifestSegment> = currentManifest.segments;


						}
						else
						{
							// Check if we're seeking backwards...
							var beSeg:HLSManifestSegment = getSegmentContainingTime(segments, time);
							trace("getFileForTime - (B) found " + beSeg + " for time " + time);
							if(beSeg)
								return initiateBestEffortRequest(beSeg.id, origQuality, segments, manifest);
							else
								return initiateBestEffortRequest(getLastSequence() + 1, origQuality, segments, manifest);
						}
					}
				}
