|
- #include "mov-internal.h"
- #include <stdlib.h>
- #include <string.h>
- #include <assert.h>
-
-
- int mov_read_trex(struct mov_t* mov, const struct mov_box_t* box)
- {
- uint32_t track_ID;
- struct mov_track_t* track;
-
- (void)box;
- mov_buffer_r32(&mov->io);
- track_ID = mov_buffer_r32(&mov->io);
-
- track = mov_fetch_track(mov, track_ID);
- if (NULL == track) return -1;
-
- track->trex.default_sample_description_index = mov_buffer_r32(&mov->io);
- track->trex.default_sample_duration = mov_buffer_r32(&mov->io);
- track->trex.default_sample_size = mov_buffer_r32(&mov->io);
- track->trex.default_sample_flags = mov_buffer_r32(&mov->io);
- return mov_buffer_error(&mov->io);
- }
-
- size_t mov_write_trex(const struct mov_t* mov)
- {
- mov_buffer_w32(&mov->io, 12 + 20);
- mov_buffer_write(&mov->io, "trex", 4);
- mov_buffer_w32(&mov->io, 0);
- mov_buffer_w32(&mov->io, mov->track->tkhd.track_ID);
- mov_buffer_w32(&mov->io, 1);
- mov_buffer_w32(&mov->io, 0);
- mov_buffer_w32(&mov->io, 0);
- mov_buffer_w32(&mov->io, 0);
- return 32;
- }
|