diff options
Diffstat (limited to 'Alc/backends/sndio.c')
-rw-r--r-- | Alc/backends/sndio.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Alc/backends/sndio.c b/Alc/backends/sndio.c index 6be98c2f..fc368951 100644 --- a/Alc/backends/sndio.c +++ b/Alc/backends/sndio.c @@ -280,13 +280,20 @@ static ALCboolean sndio_reset_playback(ALCdevice *device) SetDefaultChannelOrder(device); + return ALC_TRUE; +} + +static ALCboolean sndio_start_playback(ALCdevice *device) +{ + sndio_data *data = device->ExtraData; + if(!sio_start(data->sndHandle)) { ERR("Error starting playback\n"); return ALC_FALSE; } - data->data_size = device->UpdateSize * par.bps * par.pchan; + data->data_size = device->UpdateSize * FrameSizeFromDevFmt(device->FmtChans, device->FmtType); data->mix_data = calloc(1, data->data_size); data->thread = StartThread(sndio_proc, device); @@ -325,6 +332,7 @@ static const BackendFuncs sndio_funcs = { sndio_open_playback, sndio_close_playback, sndio_reset_playback, + sndio_start_playback, sndio_stop_playback, NULL, NULL, |