aboutsummaryrefslogtreecommitdiff
path: root/wave_linux.c
blob: 6d04fb719a3a9a893b118c49bea8c761e9eb2634 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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";
}