mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-06 17:36:17 +00:00
(audio driver) Pass is_perfcnt_enable boolean variable to audio
driver write function
This commit is contained in:
parent
3c67b2e547
commit
e74853750b
@ -633,7 +633,8 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
|
||||
}
|
||||
|
||||
if (current_audio->write(audio_driver_context_audio_data,
|
||||
output_data, output_frames * output_size * 2) < 0)
|
||||
output_data, output_frames * output_size * 2,
|
||||
is_perfcnt_enable) < 0)
|
||||
{
|
||||
audio_driver_active = false;
|
||||
return false;
|
||||
|
@ -49,7 +49,8 @@ typedef struct audio_driver
|
||||
*
|
||||
* Write samples to audio driver.
|
||||
**/
|
||||
ssize_t (*write)(void *data, const void *buf, size_t size);
|
||||
ssize_t (*write)(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable);
|
||||
|
||||
/* Stops driver. */
|
||||
bool (*stop)(void *data);
|
||||
|
@ -228,7 +228,8 @@ static bool audio_thread_use_float(void *data)
|
||||
return thr->use_float;
|
||||
}
|
||||
|
||||
static ssize_t audio_thread_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t audio_thread_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
ssize_t ret;
|
||||
audio_thread_t *thr = (audio_thread_t*)data;
|
||||
@ -236,7 +237,8 @@ static ssize_t audio_thread_write(void *data, const void *buf, size_t size)
|
||||
if (!thr)
|
||||
return 0;
|
||||
|
||||
ret = thr->driver->write(thr->driver_data, buf, size);
|
||||
ret = thr->driver->write(thr->driver_data, buf, size,
|
||||
is_perfcnt_enable);
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
|
@ -167,7 +167,8 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static ssize_t alsa_write(void *data, const void *buf_, size_t size_)
|
||||
static ssize_t alsa_write(void *data, const void *buf_, size_t size_,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
alsa_t *alsa = (alsa_t*)data;
|
||||
const uint8_t *buf = (const uint8_t*)buf_;
|
||||
|
@ -219,7 +219,8 @@ static int check_pcm_status(void *data, int channel_type)
|
||||
}
|
||||
|
||||
|
||||
static ssize_t alsa_qsa_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t alsa_qsa_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
alsa_t *alsa = (alsa_t*)data;
|
||||
snd_pcm_sframes_t written = 0;
|
||||
|
@ -243,7 +243,8 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static ssize_t alsa_thread_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t alsa_thread_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
alsa_thread_t *alsa = (alsa_thread_t*)data;
|
||||
|
||||
|
@ -332,7 +332,8 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static ssize_t coreaudio_write(void *data, const void *buf_, size_t size)
|
||||
static ssize_t coreaudio_write(void *data, const void *buf_, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
coreaudio_t *dev = (coreaudio_t*)data;
|
||||
const uint8_t *buf = (const uint8_t*)buf_;
|
||||
|
@ -162,7 +162,8 @@ static void ctr_csnd_audio_free(void *data)
|
||||
free(ctr);
|
||||
}
|
||||
|
||||
static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
int i;
|
||||
uint32_t samples_played = 0;
|
||||
@ -177,7 +178,7 @@ static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size)
|
||||
(void)current_tick;
|
||||
|
||||
performance_counter_init(ctraudio_f, "ctraudio_f");
|
||||
performance_counter_start(ctraudio_f);
|
||||
performance_counter_start_plus(is_perfcnt_enable, ctraudio_f);
|
||||
|
||||
ctr_csnd_audio_update_playpos(ctr);
|
||||
|
||||
@ -209,7 +210,7 @@ static ssize_t ctr_csnd_audio_write(void *data, const void *buf, size_t size)
|
||||
GSPGPU_FlushDataCache(ctr->l, CTR_CSND_AUDIO_SIZE);
|
||||
GSPGPU_FlushDataCache(ctr->r, CTR_CSND_AUDIO_SIZE);
|
||||
|
||||
performance_counter_stop(ctraudio_f);
|
||||
performance_counter_stop_plus(is_perfcnt_enable, ctraudio_f);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
@ -93,7 +93,8 @@ static void ctr_dsp_audio_free(void *data)
|
||||
ndspExit();
|
||||
}
|
||||
|
||||
static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
u32 pos;
|
||||
static struct retro_perf_counter ctraudio_dsp_f = {0};
|
||||
@ -117,7 +118,7 @@ static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size)
|
||||
}
|
||||
|
||||
performance_counter_init(ctraudio_dsp_f, "ctraudio_dsp_f");
|
||||
performance_counter_start(ctraudio_dsp_f);
|
||||
performance_counter_start_plus(is_perfcnt_enable, ctraudio_dsp_f);
|
||||
|
||||
pos = ctr->pos << 2;
|
||||
|
||||
@ -140,7 +141,7 @@ static ssize_t ctr_dsp_audio_write(void *data, const void *buf, size_t size)
|
||||
ctr->pos += size >> 2;
|
||||
ctr->pos &= CTR_DSP_AUDIO_COUNT_MASK;
|
||||
|
||||
performance_counter_stop(ctraudio_dsp_f);
|
||||
performance_counter_stop_plus(is_perfcnt_enable, ctraudio_dsp_f);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
@ -426,7 +426,8 @@ static void dsound_set_nonblock_state(void *data, bool state)
|
||||
ds->nonblock = state;
|
||||
}
|
||||
|
||||
static ssize_t dsound_write(void *data, const void *buf_, size_t size)
|
||||
static ssize_t dsound_write(void *data, const void *buf_, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
size_t written = 0;
|
||||
dsound_t *ds = (dsound_t*)data;
|
||||
|
@ -116,7 +116,8 @@ static INLINE void copy_swapped(uint32_t * restrict dst,
|
||||
}while(--size);
|
||||
}
|
||||
|
||||
static ssize_t gx_audio_write(void *data, const void *buf_, size_t size)
|
||||
static ssize_t gx_audio_write(void *data, const void *buf_, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
size_t frames = size >> 2;
|
||||
const uint32_t *buf = buf_;
|
||||
|
@ -292,7 +292,8 @@ static size_t write_buffer(jack_t *jd, const float *buf, size_t size)
|
||||
return written * sizeof(float) * 2;
|
||||
}
|
||||
|
||||
static ssize_t ja_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t ja_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
jack_t *jd = (jack_t*)data;
|
||||
|
||||
|
@ -35,7 +35,8 @@ static void null_audio_free(void *data)
|
||||
(void)data;
|
||||
}
|
||||
|
||||
static ssize_t null_audio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t null_audio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
(void)data;
|
||||
(void)buf;
|
||||
|
@ -173,7 +173,8 @@ static size_t al_fill_internal_buf(al_t *al, const void *buf, size_t size)
|
||||
return read_size;
|
||||
}
|
||||
|
||||
static ssize_t al_write(void *data, const void *buf_, size_t size)
|
||||
static ssize_t al_write(void *data, const void *buf_, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
al_t *al = (al_t*)data;
|
||||
const uint8_t *buf = (const uint8_t*)buf_;
|
||||
|
@ -230,7 +230,8 @@ static bool sl_start(void *data, bool is_shutdown)
|
||||
}
|
||||
|
||||
|
||||
static ssize_t sl_write(void *data, const void *buf_, size_t size)
|
||||
static ssize_t sl_write(void *data, const void *buf_, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
sl_t *sl = (sl_t*)data;
|
||||
size_t written = 0;
|
||||
|
@ -97,7 +97,8 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static ssize_t oss_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t oss_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
ssize_t ret;
|
||||
int *fd = (int*)data;
|
||||
|
@ -146,7 +146,8 @@ static void *ps3_audio_init(const char *device,
|
||||
return data;
|
||||
}
|
||||
|
||||
static ssize_t ps3_audio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t ps3_audio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
ps3_audio_t *aud = data;
|
||||
|
||||
|
@ -184,7 +184,8 @@ static void psp_audio_free(void *data)
|
||||
free(psp);
|
||||
}
|
||||
|
||||
static ssize_t psp_audio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t psp_audio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
psp_audio_t* psp = (psp_audio_t*)data;
|
||||
uint16_t write_pos = psp->write_pos;
|
||||
|
@ -236,7 +236,8 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static ssize_t pulse_write(void *data, const void *buf_, size_t size)
|
||||
static ssize_t pulse_write(void *data, const void *buf_, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
pa_t *pa = (pa_t*)data;
|
||||
const uint8_t *buf = (const uint8_t*)buf_;
|
||||
|
@ -58,7 +58,8 @@ static void *ra_init(const char *device, unsigned rate, unsigned latency,
|
||||
return roar;
|
||||
}
|
||||
|
||||
static ssize_t ra_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t ra_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
int err;
|
||||
size_t written = 0;
|
||||
@ -72,7 +73,8 @@ static ssize_t ra_write(void *data, const void *buf, size_t size)
|
||||
ssize_t rc;
|
||||
size_t write_amt = size - written;
|
||||
|
||||
if ((rc = roar_vs_write(roar->vss, (const char*)buf + written, write_amt, &err)) < (ssize_t)write_amt)
|
||||
if ((rc = roar_vs_write(roar->vss,
|
||||
(const char*)buf + written, write_amt, &err)) < (ssize_t)write_amt)
|
||||
{
|
||||
if (roar->nonblocking)
|
||||
return rc;
|
||||
|
@ -102,7 +102,8 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static ssize_t rs_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t rs_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
rsd_t *rsd = (rsd_t*)data;
|
||||
|
||||
|
@ -51,7 +51,8 @@ static void *rwebaudio_init(const char *device, unsigned rate, unsigned latency,
|
||||
return data;
|
||||
}
|
||||
|
||||
static ssize_t rwebaudio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t rwebaudio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
(void)data;
|
||||
return RWebAudioWrite(buf, size);
|
||||
|
@ -137,7 +137,8 @@ static void *sdl_audio_init(const char *device,
|
||||
return sdl;
|
||||
}
|
||||
|
||||
static ssize_t sdl_audio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t sdl_audio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
ssize_t ret = 0;
|
||||
sdl_audio_t *sdl = (sdl_audio_t*)data;
|
||||
|
@ -192,7 +192,8 @@ static bool ax_audio_start(void* data, bool is_shutdown)
|
||||
return true;
|
||||
}
|
||||
|
||||
static ssize_t ax_audio_write(void* data, const void* buf, size_t size)
|
||||
static ssize_t ax_audio_write(void* data, const void* buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
int i;
|
||||
static struct retro_perf_counter ax_audio_write_perf = {0};
|
||||
@ -206,7 +207,7 @@ static ssize_t ax_audio_write(void* data, const void* buf, size_t size)
|
||||
|
||||
/* Measure copy performance from here */
|
||||
performance_counter_init(ax_audio_write_perf, "ax_audio_write");
|
||||
performance_counter_start(ax_audio_write_perf);
|
||||
performance_counter_start_plus(is_perfcnt_enable, ax_audio_write_perf);
|
||||
|
||||
if(count > AX_AUDIO_MAX_FREE)
|
||||
count = AX_AUDIO_MAX_FREE;
|
||||
@ -286,7 +287,7 @@ static ssize_t ax_audio_write(void* data, const void* buf, size_t size)
|
||||
ax_audio_start(ax, false);
|
||||
|
||||
/* Done copying new data */
|
||||
performance_counter_stop(ax_audio_write_perf);
|
||||
performance_counter_stop_plus(is_perfcnt_enable, ax_audio_write_perf);
|
||||
|
||||
/* return what was actually copied */
|
||||
return (count << 2);
|
||||
|
@ -201,7 +201,8 @@ static size_t xaudio2_write_avail(xaudio2_t *handle)
|
||||
return handle->bufsize * (MAX_BUFFERS - handle->buffers - 1);
|
||||
}
|
||||
|
||||
static size_t xaudio2_write(xaudio2_t *handle, const void *buf, size_t bytes_)
|
||||
static size_t xaudio2_write(xaudio2_t *handle, const void *buf, size_t bytes_,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
unsigned bytes = bytes_;
|
||||
const uint8_t *buffer = (const uint8_t*)buf;
|
||||
|
@ -57,7 +57,8 @@ static INLINE uint32_t bswap_32(uint32_t val)
|
||||
((val >> 8) & 0xff00) | ((val << 8) & 0xff0000);
|
||||
}
|
||||
|
||||
static ssize_t xenon360_audio_write(void *data, const void *buf, size_t size)
|
||||
static ssize_t xenon360_audio_write(void *data, const void *buf, size_t size,
|
||||
bool is_perfcnt_enable)
|
||||
{
|
||||
size_t written = 0, i;
|
||||
const uint32_t *in_buf = buf;
|
||||
|
Loading…
x
Reference in New Issue
Block a user