/* Writes a void element of a given size. Useful for reserving space in the file to be written to later. */
static void put_ebml_void(ByteIOContext *pb, uint64_t size)
/* Writes a void element of a given size. Useful for reserving space in the file to be written to later. */
static void put_ebml_void(ByteIOContext *pb, uint64_t size)
{
    int64_t currentpos = url_ftell(pb);
    assert(size >= 2);
    put_ebml_id(pb, EBML_ID_VOID);
    if (size < 10)
        put_ebml_num(pb, size-1, 0);
    else
        put_ebml_num(pb, size-9, 8);
    while(url_ftell(pb) < currentpos + size)
        put_byte(pb, 0);
}