ret = -E_MP4_BAD_SAMPLERATE;
if (f->track.sample_rate == 0)
goto fail;
+ ret = -E_MP4_MISSING_ATOM;
+ if (f->udta_size == 0 || f->meta_size == 0 || f->ilst_size == 0)
+ goto fail;
*result = f;
return 1;
fail:
return ret;
}
-int mp4_open_read(const struct mp4_callback *cb, struct mp4 **result)
+int mp4_open(const struct mp4_callback *cb, struct mp4 **result)
{
struct mp4 *f;
int ret;
if (ret < 0)
return ret;
- if (f->udta_size == 0 || f->meta_size == 0 || f->ilst_size == 0) {
- mp4_close(f);
- *result = NULL;
- return -E_MP4_MISSING_ATOM;
- }
*result = f;
return 1;
}
return 1;
}
-int mp4_meta_update(struct mp4 *f)
+int mp4_update_meta(struct mp4 *f)
{
void *new_moov_data;
uint32_t new_moov_size;