Keep the HLS backlog even if the stream header changes.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 15 Apr 2019 07:33:36 +0000 (09:33 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 15 Apr 2019 07:33:36 +0000 (09:33 +0200)
commit980ac162414c9fce62af4fdb9cfc282865b31572
tree19b2c9da1bc228377630786c83a6dadf3d4fa0a7
parentcb042ee88b5f4cd6e5f55bada4d9d86807f1640b
Keep the HLS backlog even if the stream header changes.

The typical case here is if we are streaming fMP4 and the encoder
has to restart. The regular (non-HLS) stream has to cut off the
backlog here, but HLS supports multiple headers, so we can add a
discontinuity to keep the backlog seekable.

I haven't actually found a client that will play correctly across
the discontinuity, but hls.js can at least _seek_ across it,
which is already useful.
server.cpp
state.proto
stream.cpp
stream.h