The FifoBuffer::readNow() method was zeroing the beginning of the buffer when an underflow occurred. It should have zeroed the end of the buffer.