 			if(timestamp < _timeOrigin)
 				_timeOrigin = timestamp;
 			
-			//trace("PRE TIMESTAMP " + timestamp + " for " + message[0]);
-
-			//timestamp = (timestamp - _timeOrigin) + _firstSeekTime;
-			
-			var timestampSeconds:Number = timestamp / 1000.0;
-
-			//trace("ENCODED TIMESTAMP " + timestampSeconds);
-
 			// Encode the timestamp.
 			message[6] = (timestamp      ) & 0xff;
 			message[5] = (timestamp >>  8) & 0xff;
 			message[4] = (timestamp >> 16) & 0xff;
 			message[7] = (timestamp >> 24) & 0xff;
-			
-			if(_segmentBeginSeconds < 0)
-			{
-				_segmentBeginSeconds = timestampSeconds;
-				trace("Noting segment start time for " + segmentUri + " of " + timestampSeconds);
-				HLSIndexHandler.startTimeWitnesses[segmentUri] = timestampSeconds;
-			}
-			if(timestampSeconds > _segmentLastSeconds)
-				_segmentLastSeconds = timestampSeconds;
-			
+
 			var lastMsgTime:Number = _lastFLVMessageTime;
 			_lastFLVMessageTime = timestampSeconds;
 			

			
			var elapsed:Number = _segmentLastSeconds - _segmentBeginSeconds;
			
			/*if(elapsed <= 0.0 && _extendedIndexHandler)
			{
				elapsed = _extendedIndexHandler.getTargetSegmentDuration(); // XXX fudge hack!
			}*/
			
			dispatchEvent(new HTTPStreamingEvent(HTTPStreamingEvent.FRAGMENT_DURATION, false, false, elapsed));
			

				return null;
			}
			
			tmpBuffer.position = 0;
			tmpBuffer.length = 0;
			
			if ( _encryptedDataBuffer.length > 0 )
			{
				_encryptedDataBuffer.position = 0;
				_encryptedDataBuffer.readBytes( tmpBuffer );
				_encryptedDataBuffer.clear();
			}
			
			input.readBytes( tmpBuffer, tmpBuffer.length );
			
			if ( key )
			{
				var bytesToRead:uint = tmpBuffer.length;
				var leftoverBytes:uint = bytesToRead % 16;
				bytesToRead -= leftoverBytes;
				
