From 3a78276418b845317aaed78204fbd69f1d356c5f Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 24 Mar 2015 08:05:19 +0100 Subject: [PATCH] (Audio) Implement write_avail always, even if just as a stub --- audio/audio_driver.c | 12 +++--------- audio/drivers/nullaudio.c | 8 +++++++- audio/drivers/ps3_audio.c | 8 +++++++- audio/drivers/roar.c | 8 +++++++- audio/drivers/sdl_audio.c | 12 +++++++++--- audio/drivers/xenon360_audio.c | 8 +++++++- 6 files changed, 40 insertions(+), 16 deletions(-) diff --git a/audio/audio_driver.c b/audio/audio_driver.c index 0f2656452f..e865a358f8 100644 --- a/audio/audio_driver.c +++ b/audio/audio_driver.c @@ -461,9 +461,7 @@ bool audio_driver_mute_toggle(void) static int audio_driver_write_avail(void) { driver_t *driver = driver_get_ptr(); - if (driver - && driver->audio - && driver->audio->write_avail) + if (driver && driver->audio) return driver->audio->write_avail(driver->audio_data); return 0; } @@ -503,9 +501,7 @@ void audio_driver_readjust_input_rate(void) bool audio_driver_alive(void) { driver_t *driver = driver_get_ptr(); - if (driver - && driver->audio - && driver->audio->alive) + if (driver && driver->audio) return driver->audio->alive(driver->audio_data); return false; } @@ -542,9 +538,7 @@ void audio_driver_set_nonblock_state(bool toggle) ssize_t audio_driver_write(const void *buf, size_t size) { driver_t *driver = driver_get_ptr(); - if (driver - && driver->audio - && driver->audio->write) + if (driver && driver->audio) return driver->audio->write(driver->audio_data, buf, size); return 0; } diff --git a/audio/drivers/nullaudio.c b/audio/drivers/nullaudio.c index 84a87f4f81..f5435db775 100644 --- a/audio/drivers/nullaudio.c +++ b/audio/drivers/nullaudio.c @@ -67,6 +67,12 @@ static bool null_audio_use_float(void *data) return true; } +static size_t null_audio_write_avail(void *data) +{ + (void)data; + return 0; +} + audio_driver_t audio_null = { null_audio_init, null_audio_write, @@ -77,6 +83,6 @@ audio_driver_t audio_null = { null_audio_free, null_audio_use_float, "null", - NULL, + null_audio_write_avail, NULL }; diff --git a/audio/drivers/ps3_audio.c b/audio/drivers/ps3_audio.c index af6730178f..335c7d74d7 100644 --- a/audio/drivers/ps3_audio.c +++ b/audio/drivers/ps3_audio.c @@ -229,6 +229,12 @@ static bool ps3_audio_use_float(void *data) return true; } +static size_t ps3_audio_write_avail(void *data) +{ + (void)data; + return 0; +} + audio_driver_t audio_ps3 = { ps3_audio_init, ps3_audio_write, @@ -239,6 +245,6 @@ audio_driver_t audio_ps3 = { ps3_audio_free, ps3_audio_use_float, "ps3", - NULL, + ps3_audio_write_avail, NULL }; diff --git a/audio/drivers/roar.c b/audio/drivers/roar.c index 54d10c7e67..1ada97dc6d 100644 --- a/audio/drivers/roar.c +++ b/audio/drivers/roar.c @@ -124,6 +124,12 @@ static bool ra_use_float(void *data) return false; } +static size_t ra_write_avail(void *data) +{ + (void)data; + return 0; +} + audio_driver_t audio_roar = { ra_init, ra_write, @@ -134,6 +140,6 @@ audio_driver_t audio_roar = { ra_free, ra_use_float, "roar", - NULL, + ra_write_avail, NULL }; diff --git a/audio/drivers/sdl_audio.c b/audio/drivers/sdl_audio.c index e93345b207..0d05836874 100644 --- a/audio/drivers/sdl_audio.c +++ b/audio/drivers/sdl_audio.c @@ -225,12 +225,18 @@ static void sdl_audio_free(void *data) free(sdl); } -static bool sdl_use_float(void *data) +static bool sdl_audio_use_float(void *data) { (void)data; return false; } +static size_t sdl_audio_write_avail(void *data) +{ + (void)data; + return 0; +} + audio_driver_t audio_sdl = { sdl_audio_init, sdl_audio_write, @@ -239,12 +245,12 @@ audio_driver_t audio_sdl = { sdl_audio_alive, sdl_audio_set_nonblock_state, sdl_audio_free, - sdl_use_float, + sdl_audio_use_float, #ifdef HAVE_SDL2 "sdl2", #else "sdl", #endif - NULL, + sdl_audio_write_avail, NULL }; diff --git a/audio/drivers/xenon360_audio.c b/audio/drivers/xenon360_audio.c index b8515bc23e..0ccdd941d2 100644 --- a/audio/drivers/xenon360_audio.c +++ b/audio/drivers/xenon360_audio.c @@ -128,6 +128,12 @@ static bool xenon360_use_float(void *data) return false; } +static size_t xenon360_write_avail(void *data) +{ + (void)data; + return 0; +} + audio_driver_t audio_xenon360 = { xenon360_audio_init, xenon360_audio_write, @@ -138,6 +144,6 @@ audio_driver_t audio_xenon360 = { xenon360_audio_free, xenon360_use_float, "xenon360", - NULL, + xenon360_write_avail, NULL };