pavone@467: /* pavone@467: Copyright 2013 Michael Pavone pavone@467: This file is part of BlastEm. pavone@467: BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text. pavone@467: */ pavone@407: #ifndef WAVE_H_ pavone@407: #define WAVE_H_ pavone@407: pavone@407: #include pavone@407: #include pavone@407: pavone@407: #pragma pack(push, 1) pavone@407: pavone@407: typedef struct { pavone@407: char id[4]; pavone@407: uint32_t size; pavone@407: char format[4]; pavone@407: } riff_chunk; pavone@407: pavone@407: typedef struct { pavone@407: char id[4]; pavone@407: uint32_t size; pavone@407: } riff_sub_chunk; pavone@407: pavone@407: typedef struct { pavone@407: riff_chunk chunk; pavone@407: riff_sub_chunk format_header; pavone@407: uint16_t audio_format; pavone@407: uint16_t num_channels; pavone@407: uint32_t sample_rate; pavone@407: uint32_t byte_rate; pavone@407: uint16_t block_align; pavone@407: uint16_t bits_per_sample; pavone@407: riff_sub_chunk data_header; pavone@407: } wave_header; pavone@407: pavone@407: #pragma pack(pop) pavone@407: pavone@407: int wave_init(FILE * f, uint32_t sample_rate, uint16_t bits_per_sample, uint16_t num_channels); pavone@407: int wave_finalize(FILE * f); pavone@407: pavone@407: #endif //WAVE_H_ pavone@407: