 				{
 					CONFIG::LOGGING
 					{
-						logger.debug("SKIPPING TOO LOW FLV VID TS @ " + timestamp);
+						logger.debug("SKIPPING TOO LOW FLV VID TS @ " + timestamp + " flvLowWaterVideo=" + flvLowWaterVideo);
 					}
 
 					if(SEND_LOGS)

		public var isBestEffort:Boolean = false;
		
		private var _parser:TSPacketParser;
		private var _curTimeOffset:uint;
		private var _buffer:ByteArray;
		private var _fragReadBuffer:ByteArray;
		private var _encryptedDataBuffer:ByteArray;
		private var _timeOrigin:uint;
		private var _timeOriginNeeded:Boolean;
		private var _segmentBeginSeconds:Number;
		private var _segmentLastSeconds:Number;

			return basicProcessFileSegment(input || new ByteArray(), true);
		}
			
		public var flvLowWaterAudio:int = int.MIN_VALUE;
		public var flvLowWaterVideo:int = int.MIN_VALUE;
		public var flvRecoveringIFrame:Boolean = false;
		public const filterThresholdMs:int = 64;

		private function clearFLVWaterMarkFilter():void
		{
			flvLowWaterAudio = int.MIN_VALUE;
			flvLowWaterVideo = int.MIN_VALUE;
			flvRecoveringIFrame = false;
		}

		private function handleFLVMessage(timestamp:int, message:ByteArray, duration:int):void
		{
			var timestampSeconds:Number = timestamp / 1000.0;
			var endTimestampSeconds:Number = (timestamp + duration) / 1000.0;

			if(timestampSeconds < _segmentBeginSeconds)
			{
				_segmentBeginSeconds = timestampSeconds;

