struct mp4_callback {
- uint32_t (*read)(void *user_data, void *buffer, uint32_t length);
+ ssize_t (*read)(void *user_data, void *buffer, size_t length);
uint32_t (*write)(void *udata, void *buffer, uint32_t length);
uint32_t (*seek)(void *user_data, uint64_t position);
uint32_t (*truncate)(void *user_data);
struct mp4; /* opaque */
void mp4_set_sample_position(struct mp4 *f, int32_t track, int32_t sample);
-int32_t mp4_total_tracks(const struct mp4 *f);
+int32_t mp4_get_total_tracks(const struct mp4 *f);
bool mp4_is_audio_track(const struct mp4 *f, int32_t track);
struct mp4 *mp4_open_read(const struct mp4_callback *cb);
void mp4_close(struct mp4 *f);
uint64_t mp4_get_duration(const struct mp4 *f, int32_t track);
struct mp4 *mp4_open_meta(const struct mp4_callback *cb);
-int mp4_meta_get_by_index(const struct mp4 *f, unsigned int index,
- char **item, char **value);
-int32_t mp4_meta_update(struct mp4 *f, struct mp4_metadata *meta);
-int mp4_meta_get_num_items(const struct mp4 *f);
+struct mp4_metadata *mp4_get_meta(struct mp4 *f);
+int32_t mp4_meta_update(struct mp4 *f);
char *mp4_meta_get_artist(const struct mp4 *f);
char *mp4_meta_get_title(const struct mp4 *f);
char *mp4_meta_get_date(const struct mp4 *f);