aboutsummaryrefslogtreecommitdiff
path: root/wave_linux.c
blob: f960a9b89def45c95a3e910bf42a052c12016f09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

#include "wave.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;
}