Support the Metacube protocol when streaming over HTTP.

Multimedia / VLC - Steinar H. Gunderson [gunderson.no] - 24 February 2014 16:29 UTC

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.

22a76f3 Support the Metacube protocol when streaming over HTTP.
modules/access_output/http.c | 139 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 135 insertions(+), 4 deletions(-)

Upstream: git.videolan.org


  • Share