X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fwav_reader.h;h=225064a39d60edda841e54ee4703938652e978ec;hb=29a8f73fafe37beb8048316cca06ac83dfd1f2e1;hp=05265bcb0768b4b7a76661881b40771b1f4fe0c0;hpb=685431760612807639f0dfab6d5da8937cf39f0f;p=fdkaac.git diff --git a/src/wav_reader.h b/src/wav_reader.h index 05265bc..225064a 100644 --- a/src/wav_reader.h +++ b/src/wav_reader.h @@ -6,34 +6,12 @@ #define WAV_READER_H #include "lpcm.h" - -enum wav_error_code { - WAV_IO_ERROR = 1, - WAV_NO_MEMORY, - WAV_INVALID_FORMAT, - WAV_UNSUPPORTED_FORMAT -}; - -typedef int (*wav_read_callback)(void *cookie, void *data, uint32_t size); -typedef int (*wav_seek_callback)(void *cookie, int64_t off, int whence); -typedef int64_t (*wav_tell_callback)(void *cookie); - -typedef struct wav_io_context_t { - wav_read_callback read; - wav_seek_callback seek; - wav_tell_callback tell; -} wav_io_context_t; +#include "pcm_reader.h" typedef struct wav_reader_t wav_reader_t; -wav_reader_t *wav_open(wav_io_context_t *io_ctx, void *io_cookie, - int ignore_length); -wav_reader_t *raw_open(wav_io_context_t *io_ctx, void *io_cookie, +pcm_reader_t *wav_open(pcm_io_context_t *io, int ignore_length); +pcm_reader_t *raw_open(pcm_io_context_t *io, const pcm_sample_description_t *desc); -const pcm_sample_description_t *wav_get_format(wav_reader_t *reader); -int wav_read_frames(wav_reader_t *reader, void *buffer, unsigned nframes); -int64_t wav_get_length(wav_reader_t *reader); -int64_t wav_get_position(wav_reader_t *reader); -void wav_teardown(wav_reader_t **reader); #endif