X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=server.cpp;h=8282a562863deea72c1294cb55f8e0a0100f6a8d;hp=e4ea647c64d05555505f3f18358f4e9b642d5370;hb=4075cd5b3568e68b28c60019ad137b34445c0cf3;hpb=1731013fbbc58f5670e5c399e3b89835e65372cc diff --git a/server.cpp b/server.cpp index e4ea647..8282a56 100644 --- a/server.cpp +++ b/server.cpp @@ -470,16 +470,18 @@ void Server::construct_header(Client *client) "\r\n" + stream->stream_header; } else if (stream->encoding == Stream::STREAM_ENCODING_METACUBE) { - metacube_block_header hdr; - memcpy(hdr.sync, METACUBE_SYNC, sizeof(hdr.sync)); - hdr.size = htonl(stream->stream_header.size()); - hdr.flags = htonl(METACUBE_FLAGS_HEADER); - client->header_or_error = stream->http_header + "Content-encoding: metacube\r\n" + - "\r\n" + - string(reinterpret_cast(&hdr), sizeof(hdr)) + - stream->stream_header; + "\r\n"; + if (!stream->stream_header.empty()) { + metacube_block_header hdr; + memcpy(hdr.sync, METACUBE_SYNC, sizeof(hdr.sync)); + hdr.size = htonl(stream->stream_header.size()); + hdr.flags = htonl(METACUBE_FLAGS_HEADER); + client->header_or_error.append( + string(reinterpret_cast(&hdr), sizeof(hdr))); + } + client->header_or_error.append(stream->stream_header); } else { assert(false); }