 				_lastValidTimeTime = potentialNewTime;
 			}
 
+			if(_lastValidTimeTime > lastWrittenTime)
+				return 0;
+
+			if(enableTimeVerboseLog)
+				trace("B " + _lastValidTimeTime);
 			return _lastValidTimeTime;
 		}
 

					logger.debug("FIRING STREAM END");
				}

				// For us, ending means ending the sequence, firing an onPlayStatus event,
				// and then really ending.	
				appendBytesAction(NetStreamAppendBytesAction.END_SEQUENCE);

								_timeCache_liveEdgeMinusWindowDuration = _timeCache_liveEdge - indexHandler.windowDuration;
							else
								_timeCache_liveEdgeMinusWindowDuration = 0;

							if(enableTimeVerboseLog)
								trace("   o Perceived live stream (" + _timeCache_liveEdge + ", " + _timeCache_liveEdgeMinusWindowDuration + ")");						
							didValidUpdate = true;
						}
						else
						{
							if(enableTimeVerboseLog)
								trace("   o Failed to perceive live stream, will retry later.");
						}
					}
					else
					{
						if(enableTimeVerboseLog)
							trace("   o Perceived VOD stream.");
						_timeCache_liveEdge = 0;
						_timeCache_liveEdgeMinusWindowDuration = 0;
						didValidUpdate = true;
