diff options
Diffstat (limited to 'wave_linux.c')
| -rw-r--r-- | wave_linux.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/wave_linux.c b/wave_linux.c new file mode 100644 index 0000000..6d04fb7 --- /dev/null +++ b/wave_linux.c @@ -0,0 +1,26 @@ + +#include "wave.h" +#include <stdio.h> +#include <sndfile.h> + +int wave_out(wave_t *wave) +{ + SNDFILE* out; + SF_INFO info; + + info.samplerate = wave->samples_per_sec; + info.channels = wave->channels; + info.format = SF_FORMAT_WAV | SF_FORMAT_PCM_U8; + + out = sf_open("out.wav", SFM_WRITE, &info); + sf_write_raw(out, wave->frame_data, wave->frame_size); + sf_close(out); + + printf("channels: %d, samples_per_sec: %d, bits_per_sample: %d, frame_size: %d, frame_count: %d\n", wave->channels, wave->samples_per_sec, wave->bits_per_sample, wave->frame_size, wave->frame_count); + return 0; +} + +const char *wave_err_to_str(int err) +{ + return "unknown error"; +} |
