]> git.ipfire.org Git - thirdparty/qemu.git/commit
audio: api for mixeng code free backends
authorKővágó, Zoltán <dirty.ice.hu@gmail.com>
Thu, 19 Sep 2019 21:24:09 +0000 (23:24 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 23 Sep 2019 10:28:47 +0000 (12:28 +0200)
commitff095e5231a189a0a4e57fc13b51590bff816552
treed4a0963aace11e84b012de8ab402249391c5837f
parentdfc543438404c0a6ac62ed6e7226233d398d7934
audio: api for mixeng code free backends

This will make it possible to skip mixeng with audio playback and
recording, allowing us to free ourselves from the limitations of the
current mixeng (stereo, int64 samples only).  In this case, HW and SW
voices will be essentially the same, for every SW voice we will create
a HW voice, since we can no longer mix multiple voices together.

Some backends expect us to call a function when we have data ready
write()/read() style, while others provide a buffer and expects us to
directly write/read it, so for optimal performance audio_pcm_ops provide
methods for both cases.  Previously backends asked mixeng for more data
in run_out/run_it, now instead mixeng or the frontends will call the
backends, so that's why two sets of functions required.  audio.c
contains glue code between the two styles, so backends only ever have to
implement one style and frontends are free to call whichever is more
convenient for them.

Signed-off-by: Kővágó, Zoltán <DirtY.iCE.hu@gmail.com>
Message-id: 15a33c03a62228922d851f7324c52f73cb8d2414.1568927990.git.DirtY.iCE.hu@gmail.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
audio/audio.c
audio/audio_int.h
audio/audio_template.h