Allow non-monotonic blocks within a single segment.
Allow non-monotonic blocks within a single segment.

When a stream is restarted, the timecode jumps back to 0; we have to
correct that by inserting a monotonically increasing timecode instead
so that clients don't throw a playback error. We can't do that for every
block, though, because some codecs (e.g. h264) encode frames within a
cluster in reverse order. Nor can we do that at cluster boundaries,
because blocks from different tracks with the same timecode may appear
in separate clusters (with different base timecodes).

pyos/webmcast,pyos/webmcast,pyos/webmcast,pyos/webmcast