return t->duration * 1000 / t->time_scale;
}
-int mp4_set_sample_position(struct mp4 *f, int32_t sample)
+int mp4_set_sample_position(struct mp4 *f, uint32_t sample)
{
const struct mp4_track *t = &f->track;
int32_t offset, chunk, chunk_sample;
ret = write_data(f, new_moov_data, new_moov_size);
if (ret < 0)
goto free_moov;
- f->cb->truncate(f->cb->user_data);
- ret = 1;
+ ret = f->cb->truncate(f->cb->user_data);
+ if (ret < 0)
+ ret = -ERRNO_TO_PARA_ERROR(errno);
free_moov:
free(new_moov_data);
return ret;