1 /** 2 * @file aufile.h Audio File -- internal API 3 * 4 * Copyright (C) 2010 Creytiv.com 5 */ 6 7 8 enum wavfmt { 9 WAVE_FMT_PCM = 0x0001, 10 WAVE_FMT_ALAW = 0x0006, 11 WAVE_FMT_ULAW = 0x0007, 12 }; 13 14 /** WAVE format sub-chunk */ 15 struct wav_fmt { 16 uint16_t format; 17 uint16_t channels; 18 uint32_t srate; 19 uint32_t byterate; 20 uint16_t block_align; 21 uint16_t bps; 22 uint16_t extra; 23 }; 24 25 int wav_header_encode(FILE *f, uint16_t format, uint16_t channels, 26 uint32_t srate, uint16_t bps, size_t bytes); 27 int wav_header_decode(struct wav_fmt *fmt, size_t *datasize, FILE *f); 28