'Return the next datum in the file.'

def next(self):

    if (self.block_count == 0):
        if self.is_EOF():
            raise StopIteration
        elif self._skip_sync():
            if self.is_EOF():
                raise StopIteration
            self._read_block_header()
        else:
            self._read_block_header()
    datum = self.datum_reader.read(self.datum_decoder)
    self.block_count -= 1
    return datum
