From c033546303f680b97a388e02c2d5cf00366f3b5d Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 23 Mar 2015 02:51:46 +0100 Subject: [PATCH] Create audio_driver_write --- audio/audio_driver.c | 8 ++++++++ audio/audio_driver.h | 2 ++ libretro_version_1.c | 3 +-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/audio/audio_driver.c b/audio/audio_driver.c index c2d0750ec8..cbcb0b9538 100644 --- a/audio/audio_driver.c +++ b/audio/audio_driver.c @@ -528,3 +528,11 @@ void audio_driver_set_nonblock_state(bool toggle) if (driver && driver->audio && driver->audio->set_nonblock_state) driver->audio->set_nonblock_state(driver->audio_data, 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) + return driver->audio->write(driver->audio_data, buf, size); + return 0; +} diff --git a/audio/audio_driver.h b/audio/audio_driver.h index 1fcdc45a8d..14ac349feb 100644 --- a/audio/audio_driver.h +++ b/audio/audio_driver.h @@ -142,6 +142,8 @@ void uninit_audio(void); void init_audio(void); +ssize_t audio_driver_write(const void *buf, size_t size); + #ifdef __cplusplus } #endif diff --git a/libretro_version_1.c b/libretro_version_1.c index 942b7aa3be..f7d65913ac 100644 --- a/libretro_version_1.c +++ b/libretro_version_1.c @@ -263,8 +263,7 @@ bool retro_flush_audio(const int16_t *data, size_t samples) output_size = sizeof(int16_t); } - if (driver->audio->write(driver->audio_data, output_data, - output_frames * output_size * 2) < 0) + if (audio_driver_write(output_data, output_frames * output_size * 2) < 0) { RARCH_ERR(RETRO_LOG_AUDIO_WRITE_FAILED);