add abstraction layer for pcm reading
[fdkaac.git] / src / wav_reader.h
CommitLineData
48e2f01c 1/*
2 * Copyright (C) 2013 nu774
3 * For conditions of distribution and use, see copyright notice in COPYING
4 */
5#ifndef WAV_READER_H
6#define WAV_READER_H
7
8#include "lpcm.h"
2d744bd5 9#include "pcm_reader.h"
48e2f01c 10
11enum wav_error_code {
12 WAV_IO_ERROR = 1,
13 WAV_NO_MEMORY,
14 WAV_INVALID_FORMAT,
15 WAV_UNSUPPORTED_FORMAT
16};
17
18typedef int (*wav_read_callback)(void *cookie, void *data, uint32_t size);
19typedef int (*wav_seek_callback)(void *cookie, int64_t off, int whence);
68543176 20typedef int64_t (*wav_tell_callback)(void *cookie);
48e2f01c 21
22typedef struct wav_io_context_t {
23 wav_read_callback read;
24 wav_seek_callback seek;
68543176 25 wav_tell_callback tell;
48e2f01c 26} wav_io_context_t;
27
28typedef struct wav_reader_t wav_reader_t;
29
2d744bd5 30pcm_reader_t *wav_open(wav_io_context_t *io_ctx, void *io_cookie,
48e2f01c 31 int ignore_length);
2d744bd5 32pcm_reader_t *raw_open(wav_io_context_t *io_ctx, void *io_cookie,
68543176 33 const pcm_sample_description_t *desc);
48e2f01c 34
35#endif
This page took 0.011259 seconds and 4 git commands to generate.