 			if(!seg)
 				return -1;
 			return seg.id;
-		}
-
-
-		CONFIG::LOGGING
-		{
-			private static const logger:Logger = Log.getLogger("org.osmf.net.httpstreaming.HTTPNetStream");
-			private var previouslyLoggedState:String = null;
-		}
-
-		public function HLSIndexHandler(_resource:MediaResourceBase, _fileHandler:HTTPStreamingFileHandlerBase)
-		{
-			resource = _resource as HLSStreamingResource;
-			manifest = resource.manifest;
-			baseUrl = manifest.baseUrl;
-			fileHandler = _fileHandler as M2TSFileHandler;
-			fileHandler.extendedIndexHandler = this;
-
-			_bestEffortFileHandler.addEventListener(HTTPStreamingEvent.FRAGMENT_DURATION, onBestEffortParsed);
-			_bestEffortFileHandler.isBestEffort = true;
 		}
 
 		public function flushPPS():void

			if(!manifest)
				return;

			var segments:Vector.<HLSManifestSegment> = getSegmentsForQuality( lastQuality );
			var activeManifest:HLSManifestParser = getManifestForQuality(lastQuality);

			if(segments.length > 0)

		// as a global cache.
		public static var startTimeWitnesses:Object = {};


		CONFIG::LOGGING
		{
			private static const logger:Logger = Log.getLogger("org.osmf.net.httpstreaming.HTTPNetStream");
			private var previouslyLoggedState:String = null;
		}

		public function HLSIndexHandler(_resource:MediaResourceBase, _fileHandler:HTTPStreamingFileHandlerBase)
		{
			resource = _resource as HLSStreamingResource;
			manifest = resource.manifest;
			baseUrl = manifest.baseUrl;
			fileHandler = _fileHandler as M2TSFileHandler;
			fileHandler.extendedIndexHandler = this;

			_bestEffortFileHandler.addEventListener(HTTPStreamingEvent.FRAGMENT_DURATION, onBestEffortParsed);
			_bestEffortFileHandler.isBestEffort = true;
		}


		public function updateSegmentTimes(segments:Vector.<HLSManifestSegment>):Vector.<HLSManifestSegment>
		{
			// Using our witnesses, fill in as much knowledge as we can about 
