-/* mp4 main file structure */
-struct mp4ff {
- /* stream to read from */
- struct mp4ff_callback *stream;
- int64_t current_position;
-
- uint64_t moov_offset;
- uint64_t moov_size;
- uint8_t last_atom;
- uint64_t file_size;
- uint32_t error;
-
- /* mvhd */
- int32_t time_scale;
- int32_t duration;
-
- /* incremental track index while reading the file */
- int32_t total_tracks;
-
- /* track data */
- struct mp4ff_track *track[MAX_TRACKS];
-
- /* metadata */
- struct mp4ff_metadata tags;
-};
-
-void mp4ff_set_sample_position(struct mp4ff *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_total_tracks(const struct mp4ff *f);
-void mp4ff_get_decoder_config(const struct mp4ff *f, const int track,
- unsigned char** ppBuf, unsigned int* pBufSize);
-struct mp4ff *mp4ff_open_read(struct mp4ff_callback *f);
-void mp4ff_close(struct mp4ff *f);
-int32_t mp4ff_get_sample_size(const struct mp4ff *f, int track, int sample);
-uint32_t mp4ff_get_sample_rate(const struct mp4ff *f, const int32_t track);
-uint32_t mp4ff_get_channel_count(const struct mp4ff * f,const int32_t track);
-int32_t mp4ff_num_samples(const struct mp4ff *f, const int track);
-struct mp4ff *mp4ff_open_read_metaonly(struct mp4ff_callback *f);
-
-int mp4ff_meta_get_by_index(const struct mp4ff *f, unsigned int index,
+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);
+struct mp4 *mp4_open_read(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);
+struct mp4 *mp4_open_meta(struct mp4_callback *cb);
+
+int mp4_meta_get_by_index(const struct mp4 *f, unsigned int index,