Use the associate AudioBackend prefix for readability.
Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
#include "qemu/audio-capture.h"
#include "qapi/error.h"
-bool AUD_backend_check(AudioBackend **be, Error **errp)
+bool audio_be_check(AudioBackend **be, Error **errp)
{
assert(be != NULL);
return true;
}
-SWVoiceIn *AUD_open_in(
+SWVoiceIn *audio_be_open_in(
AudioBackend *be,
SWVoiceIn *sw,
const char *name,
return klass->open_in(be, sw, name, callback_opaque, callback_fn, as);
}
-SWVoiceOut *AUD_open_out(
+SWVoiceOut *audio_be_open_out(
AudioBackend *be,
SWVoiceOut *sw,
const char *name,
return klass->open_out(be, sw, name, callback_opaque, callback_fn, as);
}
-void AUD_close_out(AudioBackend *be, SWVoiceOut *sw)
+void audio_be_close_out(AudioBackend *be, SWVoiceOut *sw)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->close_out(be, sw);
}
-void AUD_close_in(AudioBackend *be, SWVoiceIn *sw)
+void audio_be_close_in(AudioBackend *be, SWVoiceIn *sw)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->close_in(be, sw);
}
-bool AUD_is_active_out(AudioBackend *be, SWVoiceOut *sw)
+bool audio_be_is_active_out(AudioBackend *be, SWVoiceOut *sw)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->is_active_out(be, sw);
}
-bool AUD_is_active_in(AudioBackend *be, SWVoiceIn *sw)
+bool audio_be_is_active_in(AudioBackend *be, SWVoiceIn *sw)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->is_active_in(be, sw);
}
-size_t AUD_write(AudioBackend *be, SWVoiceOut *sw, void *buf, size_t size)
+size_t audio_be_write(AudioBackend *be, SWVoiceOut *sw, void *buf, size_t size)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->write(be, sw, buf, size);
}
-size_t AUD_read(AudioBackend *be, SWVoiceIn *sw, void *buf, size_t size)
+size_t audio_be_read(AudioBackend *be, SWVoiceIn *sw, void *buf, size_t size)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->read(be, sw, buf, size);
}
-int AUD_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw)
+int audio_be_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->get_buffer_size_out(be, sw);
}
-void AUD_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on)
+void audio_be_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->set_active_out(be, sw, on);
}
-void AUD_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on)
+void audio_be_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
return klass->set_active_in(be, sw, on);
}
-void AUD_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol)
+void audio_be_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
klass->set_volume_out(be, sw, vol);
}
-void AUD_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol)
+void audio_be_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
klass->set_volume_in(be, sw, vol);
}
-CaptureVoiceOut *AUD_add_capture(
+CaptureVoiceOut *audio_be_add_capture(
AudioBackend *be,
struct audsettings *as,
struct audio_capture_ops *ops,
return klass->add_capture(be, as, ops, cb_opaque);
}
-void AUD_del_capture(AudioBackend *be, CaptureVoiceOut *cap, void *cb_opaque)
+void audio_be_del_capture(AudioBackend *be, CaptureVoiceOut *cap, void *cb_opaque)
{
AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);
}
if (!pdo->fixed_settings && sw) {
- glue(AUD_close_, TYPE)(be, sw);
+ glue(audio_be_close_, TYPE)(be, sw);
sw = NULL;
}
return sw;
fail:
- glue(AUD_close_, TYPE)(be, sw);
+ glue(audio_be_close_, TYPE)(be, sw);
return NULL;
}
{
WAVState *wav = opaque;
- AUD_del_capture(wav->audio_be, wav->cap, wav);
+ audio_be_del_capture(wav->audio_be, wav->cap, wav);
g_free (wav);
}
goto error_free;
}
- cap = AUD_add_capture(wav->audio_be, &as, &ops, wav);
+ cap = audio_be_add_capture(wav->audio_be, &as, &ops, wav);
if (!cap) {
error_report("Failed to add audio capture");
goto error_free;
{
switch (bm_index) {
case PI_INDEX:
- AUD_set_active_in(s->audio_be, s->voice_pi, on);
+ audio_be_set_active_in(s->audio_be, s->voice_pi, on);
break;
case PO_INDEX:
- AUD_set_active_out(s->audio_be, s->voice_po, on);
+ audio_be_set_active_out(s->audio_be, s->voice_po, on);
break;
case MC_INDEX:
- AUD_set_active_in(s->audio_be, s->voice_mc, on);
+ audio_be_set_active_in(s->audio_be, s->voice_mc, on);
break;
default:
s->invalid_freq[index] = 0;
switch (index) {
case PI_INDEX:
- s->voice_pi = AUD_open_in(
+ s->voice_pi = audio_be_open_in(
s->audio_be,
s->voice_pi,
"ac97.pi",
break;
case PO_INDEX:
- s->voice_po = AUD_open_out(
+ s->voice_po = audio_be_open_out(
s->audio_be,
s->voice_po,
"ac97.po",
break;
case MC_INDEX:
- s->voice_mc = AUD_open_in(
+ s->voice_mc = audio_be_open_in(
s->audio_be,
s->voice_mc,
"ac97.mc",
s->invalid_freq[index] = freq;
switch (index) {
case PI_INDEX:
- AUD_close_in(s->audio_be, s->voice_pi);
+ audio_be_close_in(s->audio_be, s->voice_pi);
s->voice_pi = NULL;
break;
case PO_INDEX:
- AUD_close_out(s->audio_be, s->voice_po);
+ audio_be_close_out(s->audio_be, s->voice_po);
s->voice_po = NULL;
break;
case MC_INDEX:
- AUD_close_in(s->audio_be, s->voice_mc);
+ audio_be_close_in(s->audio_be, s->voice_mc);
s->voice_mc = NULL;
break;
}
freq = mixer_load(s, AC97_PCM_LR_ADC_Rate);
open_voice(s, PI_INDEX, freq);
- AUD_set_active_in(s->audio_be, s->voice_pi, active[PI_INDEX]);
+ audio_be_set_active_in(s->audio_be, s->voice_pi, active[PI_INDEX]);
freq = mixer_load(s, AC97_PCM_Front_DAC_Rate);
open_voice(s, PO_INDEX, freq);
- AUD_set_active_out(s->audio_be, s->voice_po, active[PO_INDEX]);
+ audio_be_set_active_out(s->audio_be, s->voice_po, active[PO_INDEX]);
freq = mixer_load(s, AC97_MIC_ADC_Rate);
open_voice(s, MC_INDEX, freq);
- AUD_set_active_in(s->audio_be, s->voice_mc, active[MC_INDEX]);
+ audio_be_set_active_in(s->audio_be, s->voice_mc, active[MC_INDEX]);
}
static void get_volume(uint16_t vol, uint16_t mask, int inverse,
lvol = (lvol * plvol) / 255;
rvol = (rvol * prvol) / 255;
- AUD_set_volume_out_lr(s->audio_be, s->voice_po, mute, lvol, rvol);
+ audio_be_set_volume_out_lr(s->audio_be, s->voice_po, mute, lvol, rvol);
}
static void update_volume_in(AC97LinkState *s)
get_volume(mixer_load(s, AC97_Record_Gain_Mute), 0x0f, 0,
&mute, &lvol, &rvol);
- AUD_set_volume_in_lr(s->audio_be, s->voice_pi, mute, lvol, rvol);
+ audio_be_set_volume_in_lr(s->audio_be, s->voice_pi, mute, lvol, rvol);
}
static void set_volume(AC97LinkState *s, int index, uint32_t val)
int copied;
to_copy = MIN(temp, sizeof(tmpbuf));
pci_dma_read(&s->dev, addr, tmpbuf, to_copy);
- copied = AUD_write(s->audio_be, s->voice_po, tmpbuf, to_copy);
+ copied = audio_be_write(s->audio_be, s->voice_po, tmpbuf, to_copy);
dolog("write_audio max=%x to_copy=%x copied=%x",
max, to_copy, copied);
if (!copied) {
while (elapsed) {
int temp = MIN(elapsed, sizeof(s->silence));
while (temp) {
- int copied = AUD_write(s->audio_be, s->voice_po, s->silence, temp);
+ int copied = audio_be_write(s->audio_be, s->voice_po, s->silence, temp);
if (!copied) {
return;
}
while (temp) {
int acquired;
to_copy = MIN(temp, sizeof(tmpbuf));
- acquired = AUD_read(s->audio_be, voice, tmpbuf, to_copy);
+ acquired = audio_be_read(s->audio_be, voice, tmpbuf, to_copy);
if (!acquired) {
*stop = 1;
break;
AC97LinkState *s = AC97(dev);
uint8_t *c = s->dev.config;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
{
AC97LinkState *s = AC97(dev);
- AUD_close_in(s->audio_be, s->voice_pi);
- AUD_close_out(s->audio_be, s->voice_po);
- AUD_close_in(s->audio_be, s->voice_mc);
+ audio_be_close_in(s->audio_be, s->voice_pi);
+ audio_be_close_out(s->audio_be, s->voice_po);
+ audio_be_close_in(s->audio_be, s->voice_mc);
}
static const Property ac97_properties[] = {
int a = nport & 3;
s->active = 1;
- AUD_set_active_out(s->audio_be, s->voice, 1);
+ audio_be_set_active_out(s->audio_be, s->voice, 1);
adlib_kill_timers (s);
int nbytes, wbytes, wsampl;
nbytes = samples << SHIFT;
- wbytes = AUD_write(
+ wbytes = audio_be_write(
s->audio_be,
s->voice,
s->mixbuf + (pos << (SHIFT - 1)),
AdlibState *s = ADLIB(dev);
struct audsettings as;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
as.fmt = AUDIO_FORMAT_S16;
as.endianness = HOST_BIG_ENDIAN;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"adlib",
return;
}
- s->samples = AUD_get_buffer_size_out(s->audio_be, s->voice) >> SHIFT;
+ s->samples = audio_be_get_buffer_size_out(s->audio_be, s->voice) >> SHIFT;
s->mixbuf = g_malloc0 (s->samples << SHIFT);
adlib_portio_list[0].offset = s->port;
* loop because the FIFO has run out of data, and the driver
* reuses the stale content in its circular audio buffer.
*/
- AUD_write(s->audio_be, s->voice, s->silentbuf, samples << s->shift);
+ audio_be_write(s->audio_be, s->voice, s->silentbuf, samples << s->shift);
}
return;
}
- AUD_write(s->audio_be, s->voice, s->mixbuf, generated << s->shift);
+ audio_be_write(s->audio_be, s->voice, s->mixbuf, generated << s->shift);
}
static uint64_t asc_fifo_read(void *opaque, hwaddr addr,
asc_fifo_reset(&s->fifos[1]);
asc_lower_irq(s);
if (value != 0) {
- AUD_set_active_out(s->audio_be, s->voice, 1);
+ audio_be_set_active_out(s->audio_be, s->voice, 1);
} else {
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
}
}
break;
{
int vol = (value & 0xe0);
- AUD_set_volume_out_lr(s->audio_be, s->voice, 0, vol, vol);
+ audio_be_set_volume_out_lr(s->audio_be, s->voice, 0, vol, vol);
break;
}
}
ASCState *s = ASC(opaque);
if (s->regs[ASC_MODE] != 0) {
- AUD_set_active_out(s->audio_be, s->voice, 1);
+ audio_be_set_active_out(s->audio_be, s->voice, 1);
}
return 0;
{
ASCState *s = ASC(obj);
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
memset(s->regs, 0, sizeof(s->regs));
asc_fifo_reset(&s->fifos[0]);
ASCState *s = ASC(dev);
struct audsettings as;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
as.fmt = AUDIO_FORMAT_U8;
as.endianness = HOST_BIG_ENDIAN;
- s->voice = AUD_open_out(s->audio_be, s->voice, "asc.out", s, asc_out_cb,
+ s->voice = audio_be_open_out(s->audio_be, s->voice, "asc.out", s, asc_out_cb,
&as);
if (!s->voice) {
error_setg(errp, "Initializing audio stream failed");
}
s->shift = 1;
- s->samples = AUD_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;
+ s->samples = audio_be_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;
s->mixbuf = g_malloc0(s->samples << s->shift);
s->silentbuf = g_malloc(s->samples << s->shift);
goto error;
}
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"cs4231a",
if (s->dregs[Interface_Configuration] & PEN) {
if (!s->dma_running) {
k->hold_DREQ(s->isa_dma, s->dma);
- AUD_set_active_out(s->audio_be, s->voice, 1);
+ audio_be_set_active_out(s->audio_be, s->voice, 1);
s->transferred = 0;
}
s->dma_running = 1;
else {
if (s->dma_running) {
k->release_DREQ(s->isa_dma, s->dma);
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
}
s->dma_running = 0;
}
error:
if (s->dma_running) {
k->release_DREQ(s->isa_dma, s->dma);
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
}
}
if (s->dma_running) {
IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma);
k->release_DREQ(s->isa_dma, s->dma);
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
s->dma_running = 0;
}
}
for (i = 0; i < copied; ++i)
linbuf[i] = s->tab[tmpbuf[i]];
- copied = AUD_write(s->audio_be, s->voice, linbuf, copied << 1);
+ copied = audio_be_write(s->audio_be, s->voice, linbuf, copied << 1);
copied >>= 1;
}
else {
- copied = AUD_write(s->audio_be, s->voice, tmpbuf, copied);
+ copied = audio_be_write(s->audio_be, s->voice, tmpbuf, copied);
}
temp -= copied;
if (s->dma_running) {
IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma);
k->release_DREQ(s->isa_dma, s->dma);
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
}
s->dma_running = 0;
return 0;
return;
}
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
d->scount = 0;
d->leftover = 0;
if (i == ADC_CHANNEL) {
- AUD_close_in(s->audio_be, s->adc_voice);
+ audio_be_close_in(s->audio_be, s->adc_voice);
s->adc_voice = NULL;
} else {
- AUD_close_out(s->audio_be, s->dac_voice[i]);
+ audio_be_close_out(s->audio_be, s->dac_voice[i]);
s->dac_voice[i] = NULL;
}
}
if (i == ADC_CHANNEL) {
s->adc_voice =
- AUD_open_in(
+ audio_be_open_in(
s->audio_be,
s->adc_voice,
"es1370.adc",
);
} else {
s->dac_voice[i] =
- AUD_open_out(
+ audio_be_open_out(
s->audio_be,
s->dac_voice[i],
i ? "es1370.dac2" : "es1370.dac1",
int on = (ctl & b->ctl_en) && !(sctl & b->sctl_pause);
if (i == ADC_CHANNEL) {
- AUD_set_active_in(s->audio_be, s->adc_voice, on);
+ audio_be_set_active_in(s->audio_be, s->adc_voice, on);
} else {
- AUD_set_active_out(s->audio_be, s->dac_voice[i], on);
+ audio_be_set_active_out(s->audio_be, s->dac_voice[i], on);
}
}
}
int acquired, to_copy;
to_copy = MIN(to_transfer, sizeof(tmpbuf));
- acquired = AUD_read(s->audio_be, s->adc_voice, tmpbuf, to_copy);
+ acquired = audio_be_read(s->audio_be, s->adc_voice, tmpbuf, to_copy);
if (!acquired) {
break;
}
to_copy = MIN(to_transfer, sizeof(tmpbuf));
pci_dma_read (&s->dev, addr, tmpbuf, to_copy);
- copied = AUD_write(s->audio_be, voice, tmpbuf, to_copy);
+ copied = audio_be_write(s->audio_be, voice, tmpbuf, to_copy);
if (!copied) {
break;
}
for (i = 0; i < NB_CHANNELS; ++i) {
if (i == ADC_CHANNEL) {
if (s->adc_voice) {
- AUD_close_in(s->audio_be, s->adc_voice);
+ audio_be_close_in(s->audio_be, s->adc_voice);
s->adc_voice = NULL;
}
} else {
if (s->dac_voice[i]) {
- AUD_close_out(s->audio_be, s->dac_voice[i]);
+ audio_be_close_out(s->audio_be, s->dac_voice[i]);
s->dac_voice[i] = NULL;
}
}
ES1370State *s = ES1370(dev);
uint8_t *c = s->dev.config;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
int i;
for (i = 0; i < 2; ++i) {
- AUD_close_out(s->audio_be, s->dac_voice[i]);
+ audio_be_close_out(s->audio_be, s->dac_voice[i]);
}
- AUD_close_in(s->audio_be, s->adc_voice);
+ audio_be_close_in(s->audio_be, s->adc_voice);
}
static const Property es1370_properties[] = {
int nbytes, wbytes, wsampl;
nbytes = samples << s->shift;
- wbytes = AUD_write(
+ wbytes = audio_be_write(
s->audio_be,
s->voice,
s->mixbuf + (pos << (s->shift - 1)),
IsaDmaClass *k;
struct audsettings as;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
as.fmt = AUDIO_FORMAT_S16;
as.endianness = HOST_BIG_ENDIAN;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
NULL,
"gus",
}
s->shift = 2;
- s->samples = AUD_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;
+ s->samples = audio_be_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;
s->mixbuf = g_malloc0 (s->samples << s->shift);
isa_register_portio_list(d, &s->portio_list1, s->port,
s->emu.opaque = s;
s->pic = isa_bus_get_irq(bus, s->emu.gusirq);
- AUD_set_active_out(s->audio_be, s->voice, 1);
+ audio_be_set_active_out(s->audio_be, s->voice, 1);
}
static const Property gus_properties[] = {
while (to_transfer) {
uint32_t start = (uint32_t) (wpos & B_MASK);
uint32_t chunk = (uint32_t) MIN(B_SIZE - start, to_transfer);
- uint32_t read = AUD_read(st->state->audio_be, st->voice.in,
- st->buf + start, chunk);
+ uint32_t read = audio_be_read(st->state->audio_be, st->voice.in,
+ st->buf + start, chunk);
wpos += read;
to_transfer -= read;
st->wpos += read;
while (to_transfer) {
uint32_t start = (uint32_t) (rpos & B_MASK);
uint32_t chunk = (uint32_t) MIN(B_SIZE - start, to_transfer);
- uint32_t written = AUD_write(st->state->audio_be, st->voice.out,
- st->buf + start, chunk);
+ uint32_t written = audio_be_write(st->state->audio_be, st->voice.out,
+ st->buf + start, chunk);
rpos += written;
to_transfer -= written;
st->rpos += written;
while (avail - recv >= sizeof(st->compat_buf)) {
if (st->compat_bpos != sizeof(st->compat_buf)) {
- len = AUD_read(st->state->audio_be, st->voice.in,
- st->compat_buf + st->compat_bpos,
- sizeof(st->compat_buf) - st->compat_bpos);
+ len = audio_be_read(st->state->audio_be, st->voice.in,
+ st->compat_buf + st->compat_bpos,
+ sizeof(st->compat_buf) - st->compat_bpos);
st->compat_bpos += len;
recv += len;
if (st->compat_bpos != sizeof(st->compat_buf)) {
}
st->compat_bpos = 0;
}
- len = AUD_write(st->state->audio_be, st->voice.out,
- st->compat_buf + st->compat_bpos,
- sizeof(st->compat_buf) - st->compat_bpos);
+ len = audio_be_write(st->state->audio_be, st->voice.out,
+ st->compat_buf + st->compat_bpos,
+ sizeof(st->compat_buf) - st->compat_bpos);
st->compat_bpos += len;
sent += len;
if (st->compat_bpos != sizeof(st->compat_buf)) {
}
}
if (st->output) {
- AUD_set_active_out(st->state->audio_be, st->voice.out, st->running);
+ audio_be_set_active_out(st->state->audio_be, st->voice.out, st->running);
} else {
- AUD_set_active_in(st->state->audio_be, st->voice.in, st->running);
+ audio_be_set_active_in(st->state->audio_be, st->voice.in, st->running);
}
}
return;
}
if (st->output) {
- AUD_set_volume_out_lr(st->state->audio_be, st->voice.out, muted, left, right);
+ audio_be_set_volume_out_lr(st->state->audio_be, st->voice.out,
+ muted, left, right);
} else {
- AUD_set_volume_in_lr(st->state->audio_be, st->voice.in, muted, left, right);
+ audio_be_set_volume_in_lr(st->state->audio_be, st->voice.in,
+ muted, left, right);
}
}
} else {
cb = hda_audio_compat_output_cb;
}
- st->voice.out = AUD_open_out(st->state->audio_be, st->voice.out,
+ st->voice.out = audio_be_open_out(st->state->audio_be, st->voice.out,
st->node->name, st, cb, &st->as);
} else {
if (use_timer) {
} else {
cb = hda_audio_compat_input_cb;
}
- st->voice.in = AUD_open_in(st->state->audio_be, st->voice.in,
+ st->voice.in = audio_be_open_in(st->state->audio_be, st->voice.in,
st->node->name, st, cb, &st->as);
}
}
const desc_param *param;
uint32_t i, type;
- if (!AUD_backend_check(&a->audio_be, errp)) {
+ if (!audio_be_check(&a->audio_be, errp)) {
return;
}
}
timer_free(st->buft);
if (st->output) {
- AUD_close_out(a->audio_be, st->voice.out);
+ audio_be_close_out(a->audio_be, st->voice.out);
} else {
- AUD_close_in(a->audio_be, st->voice.in);
+ audio_be_close_in(a->audio_be, st->voice.in);
}
}
}
uint32_t i;
/* Activate the voice */
- AUD_set_active_out(s->audio_be, s->voice, 1);
+ audio_be_set_active_out(s->audio_be, s->voice, 1);
s->voice_is_active = 1;
/* Try to write the buffer content */
- written_bytes = AUD_write(s->audio_be, s->voice, s->buffer,
+ written_bytes = audio_be_write(s->audio_be, s->voice, s->buffer,
s->buffer_level * sizeof(uint16_t));
written_samples = written_bytes >> 1;
static uint32_t prev_buffer_level;
#ifdef LM4549_DEBUG
- int size = AUD_get_buffer_size_out(s->audio_be, s->voice);
+ int size = audio_be_get_buffer_size_out(s->audio_be, s->voice);
DPRINTF("audio_out_callback size = %i free = %i\n", size, free);
#endif
/* Detect that no data are consumed
=> disable the voice */
if (s->buffer_level == prev_buffer_level) {
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
s->voice_is_active = 0;
}
prev_buffer_level = s->buffer_level;
as.fmt = AUDIO_FORMAT_S16;
as.endianness = 0;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"lm4549.out",
as.fmt = AUDIO_FORMAT_S16;
as.endianness = 0;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"lm4549.out",
/* Request data */
if (s->voice_is_active == 1) {
- lm4549_audio_out_callback(s, AUD_get_buffer_size_out(s->audio_be, s->voice));
+ lm4549_audio_out_callback(s, audio_be_get_buffer_size_out(s->audio_be, s->voice));
}
return 0;
struct audsettings as;
/* Register an audio card */
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
as.fmt = AUDIO_FORMAT_S16;
as.endianness = 0;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"lm4549.out",
&as
);
- AUD_set_volume_out_lr(s->audio_be, s->voice, 0, 255, 255);
+ audio_be_set_volume_out_lr(s->audio_be, s->voice, 0, 255, 255);
s->voice_is_active = 0;
while (free > 0) {
n = MIN(s->samples - s->play_pos, (unsigned int)free);
- n = AUD_write(s->audio_be, s->voice, &s->sample_buf[s->play_pos], n);
+ n = audio_be_write(s->audio_be, s->voice, &s->sample_buf[s->play_pos], n);
if (!n)
break;
s->play_pos = (s->play_pos + n) % s->samples;
return 0;
}
- s->voice = AUD_open_out(s->audio_be, s->voice, s_spk, s, pcspk_callback, &as);
+ s->voice = audio_be_open_out(s->audio_be, s->voice, s_spk, s, pcspk_callback, &as);
if (!s->voice) {
error_report("pcspk: Could not open voice");
return -1;
if (s->voice) {
if (gate) /* restart */
s->play_pos = 0;
- AUD_set_active_out(s->audio_be, s->voice, gate & s->data_on);
+ audio_be_set_active_out(s->audio_be, s->voice, gate & s->data_on);
}
}
isa_register_ioport(isadev, &s->ioport, s->iobase);
- if (s->audio_be && AUD_backend_check(&s->audio_be, errp)) {
+ if (s->audio_be && audio_be_check(&s->audio_be, errp)) {
pcspk_audio_init(s);
return;
}
static void speaker (SB16State *s, int on)
{
s->speaker = on;
- /* AUD_enable (s->voice, on); */
+ /* audio_be_enable (s->voice, on); */
}
static void control (SB16State *s, int hold)
if (hold) {
k->hold_DREQ(isa_dma, dma);
- AUD_set_active_out(s->audio_be, s->voice, 1);
+ audio_be_set_active_out(s->audio_be, s->voice, 1);
}
else {
k->release_DREQ(isa_dma, dma);
- AUD_set_active_out(s->audio_be, s->voice, 0);
+ audio_be_set_active_out(s->audio_be, s->voice, 0);
}
}
as.fmt = s->fmt;
as.endianness = 0;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"sb16",
as.fmt = s->fmt;
as.endianness = 0;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"sb16",
as.fmt = AUDIO_FORMAT_U8;
as.endianness = 0;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"sb16",
);
/* Not sure about that... */
- /* AUD_set_active_out (s->voice, 1); */
+ /* audio_be_set_active_out (s->voice, 1); */
}
static void reset (SB16State *s)
}
copied = k->read_memory(isa_dma, nchan, tmpbuf, dma_pos, to_copy);
- copied = AUD_write(s->audio_be, s->voice, tmpbuf, copied);
+ copied = audio_be_write(s->audio_be, s->voice, tmpbuf, copied);
temp -= copied;
dma_pos = (dma_pos + copied) % dma_len;
SB16State *s = opaque;
if (s->voice) {
- AUD_close_out(s->audio_be, s->voice);
+ audio_be_close_out(s->audio_be, s->voice);
s->voice = NULL;
}
as.fmt = s->fmt;
as.endianness = 0;
- s->voice = AUD_open_out(
+ s->voice = audio_be_open_out(
s->audio_be,
s->voice,
"sb16",
SB16State *s = SB16 (dev);
IsaDmaClass *k;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
rvol /= 255;
mute = CODEC_REG(s, AC97_Master_Volume_Mute) >> MUTE_SHIFT;
mute |= CODEC_REG(s, AC97_PCM_Out_Volume_Mute) >> MUTE_SHIFT;
- AUD_set_volume_out_lr(s->audio_be, s->vo, mute, lvol, rvol);
+ audio_be_set_volume_out_lr(s->audio_be, s->vo, mute, lvol, rvol);
}
static void codec_reset(ViaAC97State *s)
while (temp) {
to_copy = MIN(temp, sizeof(tmpbuf));
pci_dma_read(&s->dev, c->addr, tmpbuf, to_copy);
- copied = AUD_write(s->audio_be, s->vo, tmpbuf, to_copy);
+ copied = audio_be_write(s->audio_be, s->vo, tmpbuf, to_copy);
if (!copied) {
stop = true;
break;
c->stat |= STAT_PAUSED;
} else {
c->stat &= ~STAT_ACTIVE;
- AUD_set_active_out(s->audio_be, s->vo, 0);
+ audio_be_set_active_out(s->audio_be, s->vo, 0);
}
if (c->type & STAT_EOL) {
via_isa_set_irq(&s->dev, 0, 1);
.fmt = s->aur.type & BIT(5) ? AUDIO_FORMAT_S16 : AUDIO_FORMAT_S8,
.endianness = 0,
};
- s->vo = AUD_open_out(s->audio_be, s->vo, "via-ac97.out", s, out_cb, &as);
+ s->vo = audio_be_open_out(s->audio_be, s->vo, "via-ac97.out", s, out_cb, &as);
}
static uint64_t sgd_read(void *opaque, hwaddr addr, unsigned size)
break;
case 1:
if (val & CNTL_START) {
- AUD_set_active_out(s->audio_be, s->vo, 1);
+ audio_be_set_active_out(s->audio_be, s->vo, 1);
s->aur.stat = STAT_ACTIVE;
}
if (val & CNTL_TERM) {
- AUD_set_active_out(s->audio_be, s->vo, 0);
+ audio_be_set_active_out(s->audio_be, s->vo, 0);
s->aur.stat &= ~(STAT_ACTIVE | STAT_PAUSED);
s->aur.clen = 0;
}
if (val & CNTL_PAUSE) {
- AUD_set_active_out(s->audio_be, s->vo, 0);
+ audio_be_set_active_out(s->audio_be, s->vo, 0);
s->aur.stat &= ~STAT_ACTIVE;
s->aur.stat |= STAT_PAUSED;
} else if (!(val & CNTL_PAUSE) && (s->aur.stat & STAT_PAUSED)) {
- AUD_set_active_out(s->audio_be, s->vo, 1);
+ audio_be_set_active_out(s->audio_be, s->vo, 1);
s->aur.stat |= STAT_ACTIVE;
s->aur.stat &= ~STAT_PAUSED;
}
ViaAC97State *s = VIA_AC97(pci_dev);
Object *o = OBJECT(s);
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
{
ViaAC97State *s = VIA_AC97(dev);
- AUD_close_out(s->audio_be, s->vo);
+ audio_be_close_out(s->audio_be, s->vo);
}
static const Property via_ac97_properties[] = {
if (stream) {
virtio_snd_pcm_flush(stream);
if (stream->info.direction == VIRTIO_SND_D_OUTPUT) {
- AUD_close_out(stream->pcm->snd->audio_be, stream->voice.out);
+ audio_be_close_out(stream->pcm->snd->audio_be, stream->voice.out);
stream->voice.out = NULL;
} else if (stream->info.direction == VIRTIO_SND_D_INPUT) {
- AUD_close_in(stream->pcm->snd->audio_be, stream->voice.in);
+ audio_be_close_in(stream->pcm->snd->audio_be, stream->voice.in);
stream->voice.in = NULL;
}
}
stream->as = as;
if (stream->info.direction == VIRTIO_SND_D_OUTPUT) {
- stream->voice.out = AUD_open_out(s->audio_be,
+ stream->voice.out = audio_be_open_out(s->audio_be,
stream->voice.out,
"virtio-sound.out",
stream,
virtio_snd_pcm_out_cb,
&as);
- AUD_set_volume_out_lr(s->audio_be, stream->voice.out, 0, 255, 255);
+ audio_be_set_volume_out_lr(s->audio_be, stream->voice.out, 0, 255, 255);
} else {
- stream->voice.in = AUD_open_in(s->audio_be,
+ stream->voice.in = audio_be_open_in(s->audio_be,
stream->voice.in,
"virtio-sound.in",
stream,
virtio_snd_pcm_in_cb,
&as);
- AUD_set_volume_in_lr(s->audio_be, stream->voice.in, 0, 255, 255);
+ audio_be_set_volume_in_lr(s->audio_be, stream->voice.in, 0, 255, 255);
}
return cpu_to_le32(VIRTIO_SND_S_OK);
stream->active = start;
}
if (stream->info.direction == VIRTIO_SND_D_OUTPUT) {
- AUD_set_active_out(s->audio_be, stream->voice.out, start);
+ audio_be_set_active_out(s->audio_be, stream->voice.out, start);
} else {
- AUD_set_active_in(s->audio_be, stream->voice.in, start);
+ audio_be_set_active_in(s->audio_be, stream->voice.in, start);
}
} else {
error_report("Invalid stream id: %"PRIu32, stream_id);
return;
}
- if (!AUD_backend_check(&vsnd->audio_be, errp)) {
+ if (!audio_be_check(&vsnd->audio_be, errp)) {
return;
}
}
/*
- * AUD_* output callback.
+ * audio_be_* output callback.
*
* @data: VirtIOSoundPCMStream stream
- * @available: number of bytes that can be written with AUD_write()
+ * @available: number of bytes that can be written with audio_be_write()
*/
static void virtio_snd_pcm_out_cb(void *data, int available)
{
return;
}
if (!stream->active) {
- /* Stream has stopped, so do not perform AUD_write. */
+ /* Stream has stopped, so do not perform audio_be_write. */
return_tx_buffer(stream, buffer);
continue;
}
buffer->populated = true;
}
for (;;) {
- size = AUD_write(stream->s->audio_be,
+ size = audio_be_write(stream->s->audio_be,
stream->voice.out,
buffer->data + buffer->offset,
MIN(buffer->size, available));
/*
- * AUD_* input callback.
+ * audio_be_* input callback.
*
* @data: VirtIOSoundPCMStream stream
- * @available: number of bytes that can be read with AUD_read()
+ * @available: number of bytes that can be read with audio_be_read()
*/
static void virtio_snd_pcm_in_cb(void *data, int available)
{
return;
}
if (!stream->active) {
- /* Stream has stopped, so do not perform AUD_read. */
+ /* Stream has stopped, so do not perform audio_be_read. */
return_rx_buffer(stream, buffer);
continue;
}
to_read = stream->params.period_bytes - buffer->size;
to_read = MIN(to_read, available);
to_read = MIN(to_read, max_size - buffer->size);
- size = AUD_read(stream->s->audio_be,
- stream->voice.in,
- buffer->data + buffer->size,
- to_read);
+ size = audio_be_read(stream->s->audio_be,
+ stream->voice.in,
+ buffer->data + buffer->size,
+ to_read);
if (!size) {
available = 0;
break;
if (s->idx_in + s->req_in <= sizeof(s->data_in))
return;
s->idx_in = MAX(0, (int) sizeof(s->data_in) - s->req_in);
- AUD_read(s->audio_be, *s->in[0], s->data_in + s->idx_in,
+ audio_be_read(s->audio_be, *s->in[0], s->data_in + s->idx_in,
sizeof(s->data_in) - s->idx_in);
}
{
int sent = 0;
while (sent < s->idx_out)
- sent += AUD_write(s->audio_be, *s->out[0], s->data_out + sent, s->idx_out - sent)
+ sent += audio_be_write(s->audio_be, *s->out[0],
+ s->data_out + sent, s->idx_out - sent)
?: s->idx_out;
s->idx_out = 0;
}
{
/* FIXME: multiply all volumes by s->invol[2], s->invol[3] */
- AUD_set_volume_in_lr(s->audio_be, s->adc_voice[0], s->mute,
+ audio_be_set_volume_in_lr(s->audio_be, s->adc_voice[0], s->mute,
s->inmute[0] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[0]),
s->inmute[1] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[1]));
- AUD_set_volume_in_lr(s->audio_be, s->adc_voice[1], s->mute,
+ audio_be_set_volume_in_lr(s->audio_be, s->adc_voice[1], s->mute,
s->inmute[0] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[0]),
s->inmute[1] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[1]));
- AUD_set_volume_in_lr(s->audio_be, s->adc_voice[2], s->mute,
+ audio_be_set_volume_in_lr(s->audio_be, s->adc_voice[2], s->mute,
s->inmute[0] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[0]),
s->inmute[1] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[1]));
/* FIXME: multiply all volumes by s->outvol[0], s->outvol[1] */
/* Speaker: LOUT2VOL ROUT2VOL */
- AUD_set_volume_out_lr(s->audio_be, s->dac_voice[0], s->mute,
+ audio_be_set_volume_out_lr(s->audio_be, s->dac_voice[0], s->mute,
s->outmute[0] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[4]),
s->outmute[1] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[5]));
/* Headphone: LOUT1VOL ROUT1VOL */
- AUD_set_volume_out_lr(s->audio_be, s->dac_voice[1], s->mute,
+ audio_be_set_volume_out_lr(s->audio_be, s->dac_voice[1], s->mute,
s->outmute[0] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[2]),
s->outmute[1] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[3]));
/* MONOOUT: MONOVOL MONOVOL */
- AUD_set_volume_out_lr(s->audio_be, s->dac_voice[2], s->mute,
+ audio_be_set_volume_out_lr(s->audio_be, s->dac_voice[2], s->mute,
s->outmute[0] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[6]),
s->outmute[1] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[6]));
}
wm8750_out_flush(s);
if (s->in[0] && *s->in[0])
- AUD_set_active_in(s->audio_be, *s->in[0], 0);
+ audio_be_set_active_in(s->audio_be, *s->in[0], 0);
if (s->out[0] && *s->out[0])
- AUD_set_active_out(s->audio_be, *s->out[0], 0);
+ audio_be_set_active_out(s->audio_be, *s->out[0], 0);
for (i = 0; i < IN_PORT_N; i ++)
if (s->adc_voice[i]) {
- AUD_close_in(s->audio_be, s->adc_voice[i]);
+ audio_be_close_in(s->audio_be, s->adc_voice[i]);
s->adc_voice[i] = NULL;
}
for (i = 0; i < OUT_PORT_N; i ++)
if (s->dac_voice[i]) {
- AUD_close_out(s->audio_be, s->dac_voice[i]);
+ audio_be_close_out(s->audio_be, s->dac_voice[i]);
s->dac_voice[i] = NULL;
}
in_fmt.freq = s->adc_hz;
in_fmt.fmt = AUDIO_FORMAT_S16;
- s->adc_voice[0] = AUD_open_in(s->audio_be, s->adc_voice[0],
+ s->adc_voice[0] = audio_be_open_in(s->audio_be, s->adc_voice[0],
CODEC ".input1", s, wm8750_audio_in_cb, &in_fmt);
- s->adc_voice[1] = AUD_open_in(s->audio_be, s->adc_voice[1],
+ s->adc_voice[1] = audio_be_open_in(s->audio_be, s->adc_voice[1],
CODEC ".input2", s, wm8750_audio_in_cb, &in_fmt);
- s->adc_voice[2] = AUD_open_in(s->audio_be, s->adc_voice[2],
+ s->adc_voice[2] = audio_be_open_in(s->audio_be, s->adc_voice[2],
CODEC ".input3", s, wm8750_audio_in_cb, &in_fmt);
/* Setup output */
out_fmt.freq = s->dac_hz;
out_fmt.fmt = AUDIO_FORMAT_S16;
- s->dac_voice[0] = AUD_open_out(s->audio_be, s->dac_voice[0],
+ s->dac_voice[0] = audio_be_open_out(s->audio_be, s->dac_voice[0],
CODEC ".speaker", s, wm8750_audio_out_cb, &out_fmt);
- s->dac_voice[1] = AUD_open_out(s->audio_be, s->dac_voice[1],
+ s->dac_voice[1] = audio_be_open_out(s->audio_be, s->dac_voice[1],
CODEC ".headphone", s, wm8750_audio_out_cb, &out_fmt);
/* MONOMIX is also in stereo for simplicity */
- s->dac_voice[2] = AUD_open_out(s->audio_be, s->dac_voice[2],
+ s->dac_voice[2] = audio_be_open_out(s->audio_be, s->dac_voice[2],
CODEC ".monomix", s, wm8750_audio_out_cb, &out_fmt);
/* no sense emulating OUT3 which is a mix of other outputs */
* for mixing or combining paths to different ports, so we
* connect both channels to where the left channel is routed. */
if (s->in[0] && *s->in[0])
- AUD_set_active_in(s->audio_be, *s->in[0], 1);
+ audio_be_set_active_in(s->audio_be, *s->in[0], 1);
if (s->out[0] && *s->out[0])
- AUD_set_active_out(s->audio_be, *s->out[0], 1);
+ audio_be_set_active_out(s->audio_be, *s->out[0], 1);
}
static void wm8750_clk_update(WM8750State *s, int ext)
{
WM8750State *s = WM8750(dev);
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
{
bool activated = ((s->core_registers[DP_TX_AUDIO_CONTROL]
& DP_TX_AUD_CTRL) != 0);
- AUD_set_active_out(s->audio_be, s->amixer_output_stream, activated);
+ audio_be_set_active_out(s->audio_be, s->amixer_output_stream, activated);
xlnx_dpdma_set_host_data_location(s->dpdma, DP_AUDIO_DMA_CHANNEL(0),
&s->audio_buffer_0);
xlnx_dpdma_set_host_data_location(s->dpdma, DP_AUDIO_DMA_CHANNEL(1),
/* Send the buffer through the audio. */
if (s->byte_left <= MAX_QEMU_BUFFER_SIZE) {
if (s->byte_left != 0) {
- written = AUD_write(s->audio_be, s->amixer_output_stream,
+ written = audio_be_write(s->audio_be, s->amixer_output_stream,
&s->out_buffer[s->data_ptr], s->byte_left);
} else {
int len_to_copy;
while (avail) {
len_to_copy = MIN(AUD_CHBUF_MAX_DEPTH, avail);
memset(s->out_buffer, 0, len_to_copy);
- avail -= AUD_write(s->audio_be, s->amixer_output_stream, s->out_buffer,
- len_to_copy);
+ avail -= audio_be_write(s->audio_be, s->amixer_output_stream,
+ s->out_buffer, len_to_copy);
}
}
} else {
- written = AUD_write(s->audio_be, s->amixer_output_stream,
+ written = audio_be_write(s->audio_be, s->amixer_output_stream,
&s->out_buffer[s->data_ptr], MAX_QEMU_BUFFER_SIZE);
}
s->byte_left -= written;
DisplaySurface *surface;
struct audsettings as;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
as.fmt = AUDIO_FORMAT_S16;
as.endianness = 0;
- s->amixer_output_stream = AUD_open_out(s->audio_be,
+ s->amixer_output_stream = audio_be_open_out(s->audio_be,
s->amixer_output_stream,
"xlnx_dp.audio.out",
s,
xlnx_dp_audio_callback,
&as);
- AUD_set_volume_out_lr(s->audio_be, s->amixer_output_stream, 0, 255, 255);
+ audio_be_set_volume_out_lr(s->audio_be, s->amixer_output_stream, 0, 255, 255);
xlnx_dp_audio_activate(s);
s->vblank = ptimer_init(vblank_hit, s, DP_VBLANK_PTIMER_POLICY);
ptimer_transaction_begin(s->vblank);
return;
}
- written = AUD_write(s->audio_be, s->out.voice, data, len);
+ written = audio_be_write(s->audio_be, s->out.voice, data, len);
avail -= written;
s->out.buf.cons += written;
{
switch (altset) {
case ALTSET_OFF:
- AUD_set_active_out(s->audio_be, s->out.voice, false);
+ audio_be_set_active_out(s->audio_be, s->out.voice, false);
break;
case ALTSET_STEREO:
case ALTSET_51:
usb_audio_reinit(USB_DEVICE(s), altset_channels[altset]);
}
streambuf_init(&s->out.buf, s->buffer, s->out.channels);
- AUD_set_active_out(s->audio_be, s->out.voice, true);
+ audio_be_set_active_out(s->audio_be, s->out.voice, true);
break;
default:
return -1;
}
fprintf(stderr, "\n");
}
- AUD_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);
+ audio_be_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);
}
return ret;
}
usb_audio_set_output_altset(s, ALTSET_OFF);
- AUD_close_out(s->audio_be, s->out.voice);
+ audio_be_close_out(s->audio_be, s->out.voice);
streambuf_fini(&s->out.buf);
}
USBAudioState *s = USB_AUDIO(dev);
int i;
- if (!AUD_backend_check(&s->audio_be, errp)) {
+ if (!audio_be_check(&s->audio_be, errp)) {
return;
}
s->out.as.endianness = 0;
streambuf_init(&s->out.buf, s->buffer, s->out.channels);
- s->out.voice = AUD_open_out(s->audio_be, s->out.voice, TYPE_USB_AUDIO,
+ s->out.voice = audio_be_open_out(s->audio_be, s->out.voice, TYPE_USB_AUDIO,
s, output_callback, &s->out.as);
- AUD_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);
- AUD_set_active_out(s->audio_be, s->out.voice, 0);
+ audio_be_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);
+ audio_be_set_active_out(s->audio_be, s->out.voice, 0);
}
static const VMStateDescription vmstate_usb_audio = {
QLIST_ENTRY(CaptureState) entries;
} CaptureState;
-CaptureVoiceOut *AUD_add_capture(
+CaptureVoiceOut *audio_be_add_capture(
AudioBackend *be,
struct audsettings *as,
struct audio_capture_ops *ops,
void *opaque);
-void AUD_del_capture(
+void audio_be_del_capture(
AudioBackend *be,
CaptureVoiceOut *cap,
void *cb_opaque);
#endif
} AudioBackendClass;
-bool AUD_backend_check(AudioBackend **be, Error **errp);
+bool audio_be_check(AudioBackend **be, Error **errp);
AudioBackend *audio_be_new(Audiodev *dev, Error **errp);
-SWVoiceOut *AUD_open_out(
+SWVoiceOut *audio_be_open_out(
AudioBackend *be,
SWVoiceOut *sw,
const char *name,
audio_callback_fn callback_fn,
const struct audsettings *settings);
-void AUD_close_out(AudioBackend *be, SWVoiceOut *sw);
-size_t AUD_write(AudioBackend *be, SWVoiceOut *sw, void *pcm_buf, size_t size);
-int AUD_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw);
-void AUD_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on);
-bool AUD_is_active_out(AudioBackend *be, SWVoiceOut *sw);
+void audio_be_close_out(AudioBackend *be, SWVoiceOut *sw);
+size_t audio_be_write(AudioBackend *be, SWVoiceOut *sw, void *pcm_buf, size_t size);
+int audio_be_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw);
+void audio_be_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on);
+bool audio_be_is_active_out(AudioBackend *be, SWVoiceOut *sw);
-void AUD_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol);
-void AUD_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol);
+
+void audio_be_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol);
+void audio_be_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol);
static inline void
-AUD_set_volume_out_lr(AudioBackend *be, SWVoiceOut *sw,
- bool mut, uint8_t lvol, uint8_t rvol)
-{
- AUD_set_volume_out(be, sw, &(Volume) {
+audio_be_set_volume_out_lr(AudioBackend *be, SWVoiceOut *sw,
+ bool mut, uint8_t lvol, uint8_t rvol) {
+ audio_be_set_volume_out(be, sw, &(Volume) {
.mute = mut, .channels = 2, .vol = { lvol, rvol }
});
}
static inline void
-AUD_set_volume_in_lr(AudioBackend *be, SWVoiceIn *sw,
- bool mut, uint8_t lvol, uint8_t rvol)
-{
- AUD_set_volume_in(be, sw, &(Volume) {
+audio_be_set_volume_in_lr(AudioBackend *be, SWVoiceIn *sw,
+ bool mut, uint8_t lvol, uint8_t rvol) {
+ audio_be_set_volume_in(be, sw, &(Volume) {
.mute = mut, .channels = 2, .vol = { lvol, rvol }
});
}
-SWVoiceIn *AUD_open_in(
+SWVoiceIn *audio_be_open_in(
AudioBackend *be,
SWVoiceIn *sw,
const char *name,
const struct audsettings *settings
);
-void AUD_close_in(AudioBackend *be, SWVoiceIn *sw);
-size_t AUD_read(AudioBackend *be, SWVoiceIn *sw, void *pcm_buf, size_t size);
-void AUD_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on);
-bool AUD_is_active_in(AudioBackend *be, SWVoiceIn *sw);
+void audio_be_close_in(AudioBackend *be, SWVoiceIn *sw);
+size_t audio_be_read(AudioBackend *be, SWVoiceIn *sw, void *pcm_buf, size_t size);
+void audio_be_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on);
+bool audio_be_is_active_in(AudioBackend *be, SWVoiceIn *sw);
void audio_cleanup(void);
struct audsettings as = default_test_settings;
SWVoiceOut *voice;
- voice = AUD_open_out(be, NULL, name, opaque, cb, &as);
+ voice = audio_be_open_out(be, NULL, name, opaque, cb, &as);
g_assert_nonnull(voice);
return voice;
}
{
struct audsettings as = default_test_settings;
- return AUD_open_in(be, NULL, name, opaque, cb, &as);
+ return audio_be_open_in(be, NULL, name, opaque, cb, &as);
}
/*
generate_sine_samples(buffer, frames_to_write, s->frames_written);
- bytes_written = AUD_write(s->be, s->voice, buffer,
- frames_to_write * sizeof(int16_t) * CHANNELS);
+ bytes_written = audio_be_write(s->be, s->voice, buffer,
+ frames_to_write * sizeof(int16_t) * CHANNELS);
s->frames_written += bytes_written / (sizeof(int16_t) * CHANNELS);
}
&state, test_sine_callback);
g_test_message("Playing 440Hz sine wave for %d seconds...", DURATION_SECS);
- AUD_set_active_out(state.be, state.voice, true);
+ audio_be_set_active_out(state.be, state.voice, true);
/*
* Run the audio subsystem until all frames are written or timeout.
g_assert_cmpint(state.frames_written, ==, state.total_frames);
- AUD_set_active_out(state.be, state.voice, false);
- AUD_close_out(state.be, state.voice);
+ audio_be_set_active_out(state.be, state.voice, false);
+ audio_be_close_out(state.be, state.voice);
}
static void test_audio_prio_list(void)
be = get_test_audio_backend();
voice = open_test_voice_out(be, "test-active", NULL, dummy_audio_callback);
- g_assert_false(AUD_is_active_out(be, voice));
+ g_assert_false(audio_be_is_active_out(be, voice));
- AUD_set_active_out(be, voice, true);
- g_assert_true(AUD_is_active_out(be, voice));
+ audio_be_set_active_out(be, voice, true);
+ g_assert_true(audio_be_is_active_out(be, voice));
- AUD_set_active_out(be, voice, false);
- g_assert_false(AUD_is_active_out(be, voice));
+ audio_be_set_active_out(be, voice, false);
+ g_assert_false(audio_be_is_active_out(be, voice));
- AUD_close_out(be, voice);
+ audio_be_close_out(be, voice);
}
static void test_audio_out_buffer_size(void)
be = get_test_audio_backend();
voice = open_test_voice_out(be, "test-buffer", NULL, dummy_audio_callback);
- buffer_size = AUD_get_buffer_size_out(be, voice);
+ buffer_size = audio_be_get_buffer_size_out(be, voice);
g_test_message("Buffer size: %d bytes", buffer_size);
g_assert_cmpint(buffer_size, >, 0);
- AUD_close_out(be, voice);
+ audio_be_close_out(be, voice);
- g_assert_cmpint(AUD_get_buffer_size_out(NULL, NULL), ==, 0);
+ g_assert_cmpint(audio_be_get_buffer_size_out(be, NULL), ==, 0);
}
static void test_audio_out_volume(void)
voice = open_test_voice_out(be, "test-volume", NULL, dummy_audio_callback);
vol = (Volume){ .mute = false, .channels = 2, .vol = {255, 255} };
- AUD_set_volume_out(be, voice, &vol);
+ audio_be_set_volume_out(be, voice, &vol);
vol = (Volume){ .mute = true, .channels = 2, .vol = {255, 255} };
- AUD_set_volume_out(be, voice, &vol);
+ audio_be_set_volume_out(be, voice, &vol);
vol = (Volume){ .mute = false, .channels = 2, .vol = {128, 128} };
- AUD_set_volume_out(be, voice, &vol);
+ audio_be_set_volume_out(be, voice, &vol);
- AUD_close_out(be, voice);
+ audio_be_close_out(be, voice);
}
static void test_audio_in_active_state(void)
return;
}
- g_assert_false(AUD_is_active_in(be, voice));
+ g_assert_false(audio_be_is_active_in(be, voice));
- AUD_set_active_in(be, voice, true);
- g_assert_true(AUD_is_active_in(be, voice));
+ audio_be_set_active_in(be, voice, true);
+ g_assert_true(audio_be_is_active_in(be, voice));
- AUD_set_active_in(be, voice, false);
- g_assert_false(AUD_is_active_in(be, voice));
+ audio_be_set_active_in(be, voice, false);
+ g_assert_false(audio_be_is_active_in(be, voice));
- AUD_close_in(be, voice);
+ audio_be_close_in(be, voice);
}
static void test_audio_in_volume(void)
}
vol = (Volume){ .mute = false, .channels = 2, .vol = {255, 255} };
- AUD_set_volume_in(be, voice, &vol);
+ audio_be_set_volume_in(be, voice, &vol);
vol = (Volume){ .mute = true, .channels = 2, .vol = {255, 255} };
- AUD_set_volume_in(be, voice, &vol);
+ audio_be_set_volume_in(be, voice, &vol);
- AUD_close_in(be, voice);
+ audio_be_close_in(be, voice);
}
state.captured_bytes = 0;
state.capture_buffer_size = CAPTURE_BUFFER_SIZE;
- cap = AUD_add_capture(be, &as, &ops, &state);
+ cap = audio_be_add_capture(be, &as, &ops, &state);
g_assert_nonnull(cap);
sine_state.be = be;
&sine_state, test_sine_callback);
sine_state.voice = voice;
- AUD_set_active_out(be, voice, true);
+ audio_be_set_active_out(be, voice, true);
start_time = g_get_monotonic_time();
while (sine_state.frames_written < sine_state.total_frames ||
g_assert_cmpfloat(match_ratio, >=, 0.9);
}
- AUD_set_active_out(be, voice, false);
- AUD_close_out(be, voice);
+ audio_be_set_active_out(be, voice, false);
+ audio_be_close_out(be, voice);
- AUD_del_capture(be, cap, &state);
+ audio_be_del_capture(be, cap, &state);
g_assert_true(state.destroy_called);
g_free(state.captured_samples);
AudioBackend *be = get_test_audio_backend();
uint8_t buffer[64];
- /* AUD_is_active_out/in(NULL) should return false */
- g_assert_false(AUD_is_active_out(be, NULL));
- g_assert_false(AUD_is_active_in(be, NULL));
+ /* audio_be_is_active_out/in(NULL) should return false */
+ g_assert_false(audio_be_is_active_out(be, NULL));
+ g_assert_false(audio_be_is_active_in(be, NULL));
- /* AUD_get_buffer_size_out(NULL) should return 0 */
- g_assert_cmpint(AUD_get_buffer_size_out(be, NULL), ==, 0);
+ /* audio_be_get_buffer_size_out(NULL) should return 0 */
+ g_assert_cmpint(audio_be_get_buffer_size_out(be, NULL), ==, 0);
- /* AUD_write/read(NULL, ...) should return size (no-op) */
- g_assert_cmpuint(AUD_write(be, NULL, buffer, sizeof(buffer)), ==,
+ /* audio_be_write/read(NULL, ...) should return size (no-op) */
+ g_assert_cmpuint(audio_be_write(be, NULL, buffer, sizeof(buffer)), ==,
sizeof(buffer));
- g_assert_cmpuint(AUD_read(be, NULL, buffer, sizeof(buffer)), ==,
+ g_assert_cmpuint(audio_be_read(be, NULL, buffer, sizeof(buffer)), ==,
sizeof(buffer));
/* These should not crash */
- AUD_set_active_out(be, NULL, true);
- AUD_set_active_out(be, NULL, false);
- AUD_set_active_in(be, NULL, true);
- AUD_set_active_in(be, NULL, false);
+ audio_be_set_active_out(be, NULL, true);
+ audio_be_set_active_out(be, NULL, false);
+ audio_be_set_active_in(be, NULL, true);
+ audio_be_set_active_in(be, NULL, false);
}
static void test_audio_multiple_voices(void)
out2 = open_test_voice_out(be, "test-multi-out2", NULL, dummy_audio_callback);
in1 = open_test_voice_in(be, "test-multi-in1", NULL, dummy_audio_callback);
- AUD_set_active_out(be, out1, true);
- AUD_set_active_out(be, out2, true);
- AUD_set_active_in(be, in1, true);
+ audio_be_set_active_out(be, out1, true);
+ audio_be_set_active_out(be, out2, true);
+ audio_be_set_active_in(be, in1, true);
- g_assert_true(AUD_is_active_out(be, out1));
- g_assert_true(AUD_is_active_out(be, out2));
+ g_assert_true(audio_be_is_active_out(be, out1));
+ g_assert_true(audio_be_is_active_out(be, out2));
if (in1) {
- g_assert_true(AUD_is_active_in(be, in1));
+ g_assert_true(audio_be_is_active_in(be, in1));
}
- AUD_set_active_out(be, out1, false);
- AUD_set_active_out(be, out2, false);
- AUD_set_active_in(be, in1, false);
+ audio_be_set_active_out(be, out1, false);
+ audio_be_set_active_out(be, out2, false);
+ audio_be_set_active_in(be, in1, false);
- AUD_close_in(be, in1);
- AUD_close_out(be, out2);
- AUD_close_out(be, out1);
+ audio_be_close_in(be, in1);
+ audio_be_close_out(be, out2);
+ audio_be_close_out(be, out1);
}
int main(int argc, char **argv)
ops.destroy = audio_capture_destroy;
ops.capture = audio_capture;
- vs->audio_cap = AUD_add_capture(vs->vd->audio_be, &vs->as, &ops, vs);
+ vs->audio_cap = audio_be_add_capture(vs->vd->audio_be, &vs->as, &ops, vs);
if (!vs->audio_cap) {
error_report("Failed to add audio capture");
}
static void audio_del(VncState *vs)
{
if (vs->audio_cap) {
- AUD_del_capture(vs->vd->audio_be, vs->audio_cap, vs);
+ audio_be_del_capture(vs->vd->audio_be, vs->audio_cap, vs);
vs->audio_cap = NULL;
}
}