X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=mp4.h;h=1142925d5dbf1c28e63f0275a99bf5f7a94cd6ae;hb=1177d16193c6308c4cdffb9f0ea69ce731c8b1c1;hp=eb8cf87a1c3ac4a5774e3c24d78cffa77e7bc30a;hpb=c601bacb7f147a14bcc8200b24aa69201cb6b89e;p=paraslash.git diff --git a/mp4.h b/mp4.h index eb8cf87a..1142925d 100644 --- a/mp4.h +++ b/mp4.h @@ -1,5 +1,5 @@ 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); @@ -19,20 +19,18 @@ struct mp4_metadata { 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); -bool mp4_is_audio_track(const struct mp4 *f, int32_t track); +int mp4_set_sample_position(struct mp4 *f, int32_t sample); struct mp4 *mp4_open_read(const struct mp4_callback *cb); void mp4_close(struct mp4 *f); -int32_t mp4_get_sample_size(const struct mp4 *f, int track, int sample); -uint32_t mp4_get_sample_rate(const struct mp4 *f, int32_t track); -uint32_t mp4_get_channel_count(const struct mp4 * f, int32_t track); -int32_t mp4_num_samples(const struct mp4 *f, int track); -uint64_t mp4_get_duration(const struct mp4 *f, int32_t track); +int32_t mp4_get_sample_size(const struct mp4 *f, int sample); +uint32_t mp4_get_sample_rate(const struct mp4 *f); +uint32_t mp4_get_channel_count(const struct mp4 * f); +int32_t mp4_num_samples(const struct mp4 *f); +uint64_t mp4_get_duration(const struct mp4 *f); struct mp4 *mp4_open_meta(const struct mp4_callback *cb); struct mp4_metadata *mp4_get_meta(struct mp4 *f); -int32_t mp4_meta_update(struct mp4 *f, struct mp4_metadata *meta); +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);