2 * Copyright (c) 2006-2011 Ed Schouten <ed@80386.nl>
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * @file audio_format.h
28 * @brief Audio file format specific decompression routines.
35 * @brief Open a modplug file.
37 int modplug_open(struct audio_file
*fd
, const char *ext
);
39 * @brief Close and clean up the modplug file.
41 void modplug_close(struct audio_file
*fd
);
43 * @brief Read data from the modplug file and place it in buf.
45 size_t modplug_read(struct audio_file
*fd
, int16_t *buf
, size_t len
);
47 * @brief Seek the modplug file a relatime amount of seconds.
49 void modplug_seek(struct audio_file
*fd
, int len
, int rel
);
50 #endif /* BUILD_MODPLUG */
54 * @brief Open an mp3 file.
56 int mp3_open(struct audio_file
*fd
, const char *ext
);
58 * @brief Close and clean up the mp3 file.
60 void mp3_close(struct audio_file
*fd
);
62 * @brief Read data from the mp3 file and place it in buf.
64 size_t mp3_read(struct audio_file
*fd
, int16_t *buf
, size_t len
);
66 * @brief Seek the mp3 file a relatime amount of seconds.
68 void mp3_seek(struct audio_file
*fd
, int len
, int rel
);
69 #endif /* BUILD_MP3 */
73 * @brief Open a soundfile.
75 int sndfile_open(struct audio_file
*fd
, const char *ext
);
77 * @brief Close the soundfile.
79 void sndfile_close(struct audio_file
*fd
);
81 * @brief Read data from the soundfile and place it in buf.
83 size_t sndfile_read(struct audio_file
*fd
, int16_t *buf
, size_t len
);
85 * @brief Seek a relative amount in seconds in the current file handle.
87 void sndfile_seek(struct audio_file
*fd
, int len
, int rel
);
88 #endif /* BUILD_SNDFILE */
92 * @brief Open an Ogg Vorbis file.
94 int vorbis_open(struct audio_file
*fd
, const char *ext
);
96 * @brief Close and clean up the Ogg Vorbis file.
98 void vorbis_close(struct audio_file
*fd
);
100 * @brief Read data from the Ogg Vorbis file and place it in buf.
102 size_t vorbis_read(struct audio_file
*fd
, int16_t *buf
, size_t len
);
104 * @brief Seek a relative amount in seconds in the current file handle.
106 void vorbis_seek(struct audio_file
*fd
, int len
, int rel
);
107 #endif /* BUILD_VORBIS */