]> git.sesse.net Git - vlc/commit
Fix Metacube header handling with multiple header blocks. master
authorSteinar H. Gunderson <steinar+vlc@gunderson.no>
Sun, 29 Mar 2015 19:30:22 +0000 (21:30 +0200)
committerSteinar H. Gunderson <steinar+vlc@gunderson.no>
Sun, 29 Mar 2015 19:34:50 +0000 (21:34 +0200)
commit807e6d7966367d850d2e8b395d3bd212a7c26e49
treec216ff1d762ee13b0a604e077892dffbb85118d9
parentc131475c1f634f8ad55fc87250d6e6e50cbbf5e8
Fix Metacube header handling with multiple header blocks.

Some muxes, e.g. MP4, will send multiple header blocks. These are
merged by the HTTP server to a single header which is sent out to
the beginning of each client. However, they are _also_ sent out
directly on the wire to any client that connected before the first
block. In this case, we would send two separate Metacube header
blocks, which would have Cubemap (correctly) discard the first and
set only the second as header.

This would make us send only part of the MP4 header when sending
through Cubemap, if Cubemap connected before the first non-header
block, which would in turn confuse Chrome on Android (although not
Chrome on e.g. Linux). As Cubemap is pretty aggressive about
reconnecting (trying every 200 ms), this could easily happen in practice.
modules/access_output/http.c