- mp4ff = mp4ff_open_read_metaonly(&cb);
- if (!mp4ff)
- return -E_MP4FF_OPEN;
-
- ret = -E_MP4FF_META_READ;
- rv = mp4ff_meta_get_num_items(mp4ff);
- if (rv < 0)
- goto close;
- metadata.count = rv;
- PARA_NOTICE_LOG("%d metadata item(s) found\n", rv);
-
- metadata.tags = para_malloc((metadata.count + 5) * sizeof(mp4ff_tag_t));
- for (i = 0; i < metadata.count; i++) {
- mp4ff_tag_t *tag = metadata.tags + i;
-
- ret = -E_MP4FF_META_READ;
- if (mp4ff_meta_get_by_index(mp4ff, i,
- &tag->item, &tag->value) < 0)
- goto free_tags;
- PARA_INFO_LOG("found: %s: %s\n", tag->item, tag->value);
+ mp4 = mp4_open_meta(&cb);
+ if (!mp4)
+ return -E_MP4_OPEN;
+ metadata = mp4_get_meta(mp4);
+ PARA_NOTICE_LOG("%u metadata item(s) found\n", metadata->count);
+ metadata->tags = para_realloc(metadata->tags,
+ (metadata->count + 5) * sizeof(struct mp4_tag));
+ for (i = 0; i < metadata->count; i++) {
+ struct mp4_tag *tag = metadata->tags + i;