mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 00:39:53 +00:00
(Audio) Implement missing use_float function for audio drivers
This commit is contained in:
parent
492af587ef
commit
8df3a51790
@ -451,6 +451,12 @@ static size_t dsound_buffer_size(void *data)
|
||||
return 4 * 1024;
|
||||
}
|
||||
|
||||
static bool dsound_use_float(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return false;
|
||||
}
|
||||
|
||||
const audio_driver_t audio_dsound = {
|
||||
dsound_init,
|
||||
dsound_write,
|
||||
@ -458,7 +464,7 @@ const audio_driver_t audio_dsound = {
|
||||
dsound_start,
|
||||
dsound_set_nonblock_state,
|
||||
dsound_free,
|
||||
NULL,
|
||||
dsound_use_float,
|
||||
"dsound",
|
||||
dsound_write_avail,
|
||||
dsound_buffer_size,
|
||||
|
@ -233,6 +233,12 @@ static size_t al_buffer_size(void *data)
|
||||
return (al->num_buffers + 1) * BUFSIZE; // Also got tmpbuf.
|
||||
}
|
||||
|
||||
static bool al_use_float(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return false;
|
||||
}
|
||||
|
||||
const audio_driver_t audio_openal = {
|
||||
al_init,
|
||||
al_write,
|
||||
@ -240,7 +246,7 @@ const audio_driver_t audio_openal = {
|
||||
al_start,
|
||||
al_set_nonblock_state,
|
||||
al_free,
|
||||
NULL,
|
||||
al_use_float,
|
||||
"openal",
|
||||
al_write_avail,
|
||||
al_buffer_size,
|
||||
|
@ -181,6 +181,12 @@ static size_t oss_buffer_size(void *data)
|
||||
return info.fragsize * info.fragstotal;
|
||||
}
|
||||
|
||||
static bool oss_use_float(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return false;
|
||||
}
|
||||
|
||||
const audio_driver_t audio_oss = {
|
||||
oss_init,
|
||||
oss_write,
|
||||
@ -188,7 +194,7 @@ const audio_driver_t audio_oss = {
|
||||
oss_start,
|
||||
oss_set_nonblock_state,
|
||||
oss_free,
|
||||
NULL,
|
||||
oss_use_float,
|
||||
"oss",
|
||||
oss_write_avail,
|
||||
oss_buffer_size,
|
||||
|
@ -103,6 +103,12 @@ static void ra_free(void *data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
static bool ra_use_float(void *data)
|
||||
{
|
||||
alsa_t *alsa = (alsa_t*)data;
|
||||
return false;
|
||||
}
|
||||
|
||||
const audio_driver_t audio_roar = {
|
||||
ra_init,
|
||||
ra_write,
|
||||
@ -110,7 +116,6 @@ const audio_driver_t audio_roar = {
|
||||
ra_start,
|
||||
ra_set_nonblock_state,
|
||||
ra_free,
|
||||
NULL,
|
||||
ra_use_float,
|
||||
"roar"
|
||||
};
|
||||
|
||||
|
@ -197,6 +197,12 @@ static size_t rs_buffer_size(void *data)
|
||||
return 1024 * 4;
|
||||
}
|
||||
|
||||
static bool rs_use_float(void *data)
|
||||
{
|
||||
alsa_t *alsa = (alsa_t*)data;
|
||||
return false;
|
||||
}
|
||||
|
||||
const audio_driver_t audio_rsound = {
|
||||
rs_init,
|
||||
rs_write,
|
||||
@ -204,7 +210,7 @@ const audio_driver_t audio_rsound = {
|
||||
rs_start,
|
||||
rs_set_nonblock_state,
|
||||
rs_free,
|
||||
NULL,
|
||||
rs_use_float,
|
||||
"rsound",
|
||||
rs_write_avail,
|
||||
rs_buffer_size,
|
||||
|
@ -18,12 +18,12 @@
|
||||
|
||||
#include "../emscripten/RWebAudio.h"
|
||||
|
||||
static void ra_free(void *data)
|
||||
static void rwebaudio_free(void *data)
|
||||
{
|
||||
RWebAudioFree();
|
||||
}
|
||||
|
||||
static void *ra_init(const char *device, unsigned rate, unsigned latency)
|
||||
static void *rwebaudio_init(const char *device, unsigned rate, unsigned latency)
|
||||
{
|
||||
(void)device;
|
||||
(void)rate;
|
||||
@ -33,58 +33,58 @@ static void *ra_init(const char *device, unsigned rate, unsigned latency)
|
||||
return data;
|
||||
}
|
||||
|
||||
static ssize_t ra_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t rwebaudio_write(void *data, const void *buf, size_t size)
|
||||
{
|
||||
(void)data;
|
||||
return RWebAudioWrite(buf, size);
|
||||
}
|
||||
|
||||
static bool ra_stop(void *data)
|
||||
static bool rwebaudio_stop(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return RWebAudioStop();
|
||||
}
|
||||
|
||||
static void ra_set_nonblock_state(void *data, bool state)
|
||||
static void rwebaudio_set_nonblock_state(void *data, bool state)
|
||||
{
|
||||
(void)data;
|
||||
RWebAudioSetNonblockState(state);
|
||||
}
|
||||
|
||||
static bool ra_start(void *data)
|
||||
static bool rwebaudio_start(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return RWebAudioStart();
|
||||
}
|
||||
|
||||
static bool ra_use_float(void *data)
|
||||
static bool rwebaudio_use_float(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return true;
|
||||
}
|
||||
|
||||
static size_t ra_write_avail(void *data)
|
||||
static size_t rwebaudio_write_avail(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return RWebAudioWriteAvail();
|
||||
}
|
||||
|
||||
static size_t ra_buffer_size(void *data)
|
||||
static size_t rwebaudio_buffer_size(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return RWebAudioBufferSize();
|
||||
}
|
||||
|
||||
const audio_driver_t audio_rwebaudio = {
|
||||
ra_init,
|
||||
ra_write,
|
||||
ra_stop,
|
||||
ra_start,
|
||||
ra_set_nonblock_state,
|
||||
ra_free,
|
||||
ra_use_float,
|
||||
rwebaudio_init,
|
||||
rwebaudio_write,
|
||||
rwebaudio_stop,
|
||||
rwebaudio_start,
|
||||
rwebaudio_set_nonblock_state,
|
||||
rwebaudio_free,
|
||||
rwebaudio_use_float,
|
||||
"rwebaudio",
|
||||
ra_write_avail,
|
||||
ra_buffer_size,
|
||||
rwebaudio_write_avail,
|
||||
rwebaudio_buffer_size,
|
||||
};
|
||||
|
||||
|
@ -190,6 +190,12 @@ static void sdl_audio_free(void *data)
|
||||
free(sdl);
|
||||
}
|
||||
|
||||
static bool sdl_use_float(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return false;
|
||||
}
|
||||
|
||||
const audio_driver_t audio_sdl = {
|
||||
sdl_audio_init,
|
||||
sdl_audio_write,
|
||||
@ -197,7 +203,7 @@ const audio_driver_t audio_sdl = {
|
||||
sdl_audio_start,
|
||||
sdl_audio_set_nonblock_state,
|
||||
sdl_audio_free,
|
||||
NULL,
|
||||
sdl_use_float,
|
||||
#ifdef HAVE_SDL2
|
||||
"sdl2"
|
||||
#else
|
||||
|
@ -105,13 +105,20 @@ static void xenon360_audio_free(void *data)
|
||||
free(data);
|
||||
}
|
||||
|
||||
static bool xenon360_use_float(void *data)
|
||||
{
|
||||
(void)data;
|
||||
return false;
|
||||
}
|
||||
|
||||
const audio_driver_t audio_xenon360 = {
|
||||
.init = xenon360_audio_init,
|
||||
.write = xenon360_audio_write,
|
||||
.stop = xenon360_audio_stop,
|
||||
.start = xenon360_audio_start,
|
||||
.set_nonblock_state = xenon360_audio_set_nonblock_state,
|
||||
.free = xenon360_audio_free,
|
||||
.ident = "xenon360"
|
||||
xenon360_audio_init,
|
||||
xenon360_audio_write,
|
||||
xenon360_audio_stop,
|
||||
xenon360_audio_start,
|
||||
xenon360_audio_set_nonblock_state,
|
||||
xenon360_audio_free,
|
||||
xenon360_use_float,
|
||||
"xenon360"
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user