33 lines
768 B
C
33 lines
768 B
C
|
#include "mov-internal.h"
|
||
|
|
||
|
size_t mov_write_dref(const struct mov_t* mov)
|
||
|
{
|
||
|
mov_buffer_w32(&mov->io, 28); /* size */
|
||
|
mov_buffer_write(&mov->io, "dref", 4);
|
||
|
mov_buffer_w32(&mov->io, 0); /* version & flags */
|
||
|
mov_buffer_w32(&mov->io, 1); /* entry count */
|
||
|
|
||
|
mov_buffer_w32(&mov->io, 12); /* size */
|
||
|
//FIXME add the alis and rsrc atom
|
||
|
mov_buffer_write(&mov->io, "url ", 4);
|
||
|
mov_buffer_w32(&mov->io, 1); /* version & flags */
|
||
|
|
||
|
return 28;
|
||
|
}
|
||
|
|
||
|
size_t mov_write_dinf(const struct mov_t* mov)
|
||
|
{
|
||
|
size_t size;
|
||
|
uint64_t offset;
|
||
|
|
||
|
size = 8 /* Box */;
|
||
|
offset = mov_buffer_tell(&mov->io);
|
||
|
mov_buffer_w32(&mov->io, 0); /* size */
|
||
|
mov_buffer_write(&mov->io, "dinf", 4);
|
||
|
|
||
|
size += mov_write_dref(mov);
|
||
|
|
||
|
mov_write_size(mov, offset, size); /* update size */
|
||
|
return size;
|
||
|
}
|