Switch to a new version of the Metacube protocol.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 18 Aug 2013 00:37:16 +0000 (02:37 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 18 Aug 2013 00:47:04 +0000 (02:47 +0200)
commit979a284b4039b0ea74525b700b9f1089b8c4248d
treea692ac5c8feef502ab7832dc01566c660937367b
parent70c0baf4bcec3a77f0626d5a7bfde87fc7339698
Switch to a new version of the Metacube protocol.

Compared to the old version, this fixes many small deficiencies:

 - The header is smaller; 16 instead of 24 bytes. With TS, Metacube actually
   yields noticeable overhead (13% or so), so reducing it by 1/3 is good.
 - The sync no longer overlaps with itself; both starting and ending with
   the same sounds bad if we should ever drop bytes in the middle.
   In fact, it no longer has any repeated characters.
 - The header is checksummed, to avoid cases where a corrupted header
   could cause us to pull in gigabytes of data. (The data is not.)

vlc-metacube.diff has been updated, although it includes another patch
(part of the WebM patch set) since that's what my VLC works from at the moment.
Makefile
httpinput.cpp
metacube.h [deleted file]
metacube2.cpp [new file with mode: 0644]
metacube2.h [new file with mode: 0644]
server.cpp
stream.cpp
vlc-metacube.diff