'Return a (marker_code, segment_offset) 2-tuple identifying and
locating the first marker in *stream* occuring after offset *start*.
The returned *segment_offset* points to the position immediately
following the 2-byte marker code, the start of the marker segment,
for those markers that have a segment.'

def next(self, start):

    position = start
    while True:
        position = self._offset_of_next_ff_byte(start=position)
        (position, byte_) = self._next_non_ff_byte(start=(position + 1))
        if (byte_ == '\x00'):
            continue
        (marker_code, segment_offset) = (byte_, (position + 1))
        break
    return (marker_code, segment_offset)
