• Steinar H. Gunderson's avatar
    Support the Metacube protocol when streaming over HTTP. · 22a76f31
    Steinar H. Gunderson authored
    This is an inclusion of a patch that has been living out-of-tree for some time,
    but now as Cubemap 1.0.0 has been released and the protocol has been frozen,
    it would sound reasonable to get it into mainline.
    
    Essentially it makes the VLC HTTP server support the Metacube protocol, which
    is a framing format to let an external reflector know where the start and end
    of the blocks are without having to understand the format itself (similar to
    how the VLC HTTP server itself gets to know this information). This lets it
    serve the correct header block to new clients joining in the middle of the
    stream, and makes sure new clients don't start in the middle of a block,
    which is a problem for non-self-synchronizing formats (such as FLV and WebM).
    It includes self-synchronization and header checksumming to ensure smooth
    recovery from overruns in the server-to-reflector TCP stream.
    
    The only consumer of this protocol currently, and for the foreseeable future,
    is Cubemap (http://git.sesse.net/?p=cubemap), a scalable video reflector
    designed to be used with VLC.
    Signed-off-by: default avatarDenis Charmet <typx@dinauz.org>
    22a76f31
http.c 15 KB