Fix length()/bytes() mismatch on XML string.
[dcpomatic.git] / src / lib / dcp_video.cc
index 14f23bd3782e108e8a27c596a926880eccdfbecb..0255588c6fc33e55fd0c7d50f6a4854933304e86 100644 (file)
@@ -212,6 +212,7 @@ DCPVideo::encode_remotely (EncodeServerDescription serv, int timeout) const
        boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve (query);
 
        auto socket = make_shared<Socket>(timeout);
+       socket->set_send_buffer_size (512 * 1024);
 
        socket->connect (*endpoint_iterator);
 
@@ -228,7 +229,7 @@ DCPVideo::encode_remotely (EncodeServerDescription serv, int timeout) const
 
                /* Send XML metadata */
                auto xml = doc.write_to_string ("UTF-8");
-               socket->write (xml.length() + 1);
+               socket->write(xml.bytes() + 1);
                socket->write ((uint8_t *) xml.c_str(), xml.bytes() + 1);
 
                /* Send binary data */