mirror of
https://github.com/qemu/qemu.git
synced 2026-04-06 06:00:34 +00:00
audio: remove audio_driver init/fini/next
They are no longer used after conversion to QOM. Also removing the drv_opaque from a few of the pcm_ops methods. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>
This commit is contained in:
@@ -692,8 +692,7 @@ static void alsa_fini_out (HWVoiceOut *hw)
|
||||
alsa_anal_close (&alsa->handle, &alsa->pollhlp);
|
||||
}
|
||||
|
||||
static int alsa_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int alsa_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
ALSAVoiceOut *alsa = (ALSAVoiceOut *) hw;
|
||||
struct alsa_params_req req;
|
||||
@@ -779,7 +778,7 @@ static void alsa_enable_out(HWVoiceOut *hw, bool enable)
|
||||
}
|
||||
}
|
||||
|
||||
static int alsa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
||||
static int alsa_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
ALSAVoiceIn *alsa = (ALSAVoiceIn *) hw;
|
||||
struct alsa_params_req req;
|
||||
|
||||
@@ -1521,13 +1521,6 @@ static bool audio_mixeng_backend_realize(AudioBackend *abe,
|
||||
audio_driver *drv = AUDIO_MIXENG_BACKEND_GET_CLASS(be)->driver;
|
||||
|
||||
be->dev = dev;
|
||||
if (drv->init != NULL) {
|
||||
be->drv_opaque = drv->init(be->dev, errp);
|
||||
if (!be->drv_opaque) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!drv->pcm_ops->get_buffer_in) {
|
||||
drv->pcm_ops->get_buffer_in = audio_generic_get_buffer_in;
|
||||
drv->pcm_ops->put_buffer_in = audio_generic_put_buffer_in;
|
||||
@@ -1665,13 +1658,7 @@ static void audio_mixeng_backend_finalize(Object *obj)
|
||||
QLIST_REMOVE(hwi, entries);
|
||||
}
|
||||
|
||||
if (s->drv) {
|
||||
if (s->drv->fini) {
|
||||
s->drv->fini (s->drv_opaque);
|
||||
}
|
||||
s->drv = NULL;
|
||||
}
|
||||
|
||||
s->drv = NULL;
|
||||
if (s->dev) {
|
||||
qapi_free_Audiodev(s->dev);
|
||||
s->dev = NULL;
|
||||
|
||||
@@ -139,18 +139,15 @@ struct SWVoiceIn {
|
||||
typedef struct audio_driver audio_driver;
|
||||
struct audio_driver {
|
||||
const char *name;
|
||||
void *(*init) (Audiodev *, Error **);
|
||||
void (*fini) (void *);
|
||||
struct audio_pcm_ops *pcm_ops;
|
||||
int max_voices_out;
|
||||
int max_voices_in;
|
||||
size_t voice_size_out;
|
||||
size_t voice_size_in;
|
||||
QLIST_ENTRY(audio_driver) next;
|
||||
};
|
||||
|
||||
struct audio_pcm_ops {
|
||||
int (*init_out)(HWVoiceOut *hw, audsettings *as, void *drv_opaque);
|
||||
int (*init_out)(HWVoiceOut *hw, audsettings *as);
|
||||
void (*fini_out)(HWVoiceOut *hw);
|
||||
size_t (*write) (HWVoiceOut *hw, void *buf, size_t size);
|
||||
void (*run_buffer_out)(HWVoiceOut *hw);
|
||||
@@ -173,7 +170,7 @@ struct audio_pcm_ops {
|
||||
void (*enable_out)(HWVoiceOut *hw, bool enable);
|
||||
void (*volume_out)(HWVoiceOut *hw, Volume *vol);
|
||||
|
||||
int (*init_in) (HWVoiceIn *hw, audsettings *as, void *drv_opaque);
|
||||
int (*init_in) (HWVoiceIn *hw, audsettings *as);
|
||||
void (*fini_in) (HWVoiceIn *hw);
|
||||
size_t (*read) (HWVoiceIn *hw, void *buf, size_t size);
|
||||
void (*run_buffer_in)(HWVoiceIn *hw);
|
||||
@@ -240,7 +237,6 @@ struct AudioMixengBackend {
|
||||
|
||||
struct audio_driver *drv;
|
||||
Audiodev *dev;
|
||||
void *drv_opaque;
|
||||
|
||||
QEMUTimer *ts;
|
||||
QLIST_HEAD (hw_in_listhead, HWVoiceIn) hw_head_in;
|
||||
|
||||
@@ -295,7 +295,7 @@ static HW *glue(audio_pcm_hw_add_new_, TYPE)(AudioMixengBackend *s,
|
||||
#ifdef DAC
|
||||
QLIST_INIT (&hw->cap_head);
|
||||
#endif
|
||||
if (glue (hw->pcm_ops->init_, TYPE) (hw, as, s->drv_opaque)) {
|
||||
if (glue (hw->pcm_ops->init_, TYPE) (hw, as)) {
|
||||
goto err0;
|
||||
}
|
||||
|
||||
|
||||
@@ -573,8 +573,7 @@ static OSStatus handle_voice_change(
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
OSStatus status;
|
||||
coreaudioVoiceOut *core = (coreaudioVoiceOut *) hw;
|
||||
|
||||
@@ -173,7 +173,7 @@ dbus_audio_get_nsamples(AudioDbus *da)
|
||||
}
|
||||
|
||||
static int
|
||||
dbus_init_out(HWVoiceOut *hw, struct audsettings *as, void *drv_opaque)
|
||||
dbus_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
AudioDbus *da = AUDIO_DBUS(hw->s);
|
||||
DBusVoiceOut *vo = container_of(hw, DBusVoiceOut, hw);
|
||||
@@ -287,7 +287,7 @@ dbus_init_in_listener(QemuDBusDisplay1AudioInListener *listener, HWVoiceIn *hw)
|
||||
}
|
||||
|
||||
static int
|
||||
dbus_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
||||
dbus_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
AudioDbus *da = AUDIO_DBUS(hw->s);
|
||||
DBusVoiceIn *vo = container_of(hw, DBusVoiceIn, hw);
|
||||
|
||||
@@ -157,11 +157,9 @@ static void dsound_fini_out (HWVoiceOut *hw)
|
||||
}
|
||||
|
||||
#ifdef DSBTYPE_IN
|
||||
static int dsound_init_in(HWVoiceIn *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int dsound_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
#else
|
||||
static int dsound_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int dsound_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
#endif
|
||||
{
|
||||
int err;
|
||||
|
||||
@@ -507,8 +507,7 @@ static int qjack_client_init(QJackClient *c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int qjack_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int qjack_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
QJackOut *jo = (QJackOut *)hw;
|
||||
Audiodev *dev = hw->s->dev;
|
||||
@@ -544,8 +543,7 @@ static int qjack_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int qjack_init_in(HWVoiceIn *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int qjack_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
QJackIn *ji = (QJackIn *)hw;
|
||||
Audiodev *dev = hw->s->dev;
|
||||
|
||||
@@ -62,7 +62,7 @@ static size_t no_write(HWVoiceOut *hw, void *buf, size_t len)
|
||||
return audio_rate_get_bytes(&no->rate, &hw->info, len);
|
||||
}
|
||||
|
||||
static int no_init_out(HWVoiceOut *hw, struct audsettings *as, void *drv_opaque)
|
||||
static int no_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
NoVoiceOut *no = (NoVoiceOut *) hw;
|
||||
|
||||
@@ -86,7 +86,7 @@ static void no_enable_out(HWVoiceOut *hw, bool enable)
|
||||
}
|
||||
}
|
||||
|
||||
static int no_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
||||
static int no_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
NoVoiceIn *no = (NoVoiceIn *) hw;
|
||||
|
||||
|
||||
@@ -493,8 +493,7 @@ static void oss_fini_out (HWVoiceOut *hw)
|
||||
}
|
||||
}
|
||||
|
||||
static int oss_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int oss_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
OSSVoiceOut *oss = (OSSVoiceOut *) hw;
|
||||
struct oss_params req, obt;
|
||||
@@ -625,7 +624,7 @@ static void oss_enable_out(HWVoiceOut *hw, bool enable)
|
||||
}
|
||||
}
|
||||
|
||||
static int oss_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
||||
static int oss_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
OSSVoiceIn *oss = (OSSVoiceIn *) hw;
|
||||
struct oss_params req, obt;
|
||||
|
||||
@@ -518,8 +518,7 @@ fail:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
AudioMixengBackend *amb = hw->s;
|
||||
AudioPa *apa = AUDIO_PA(amb);
|
||||
@@ -570,7 +569,7 @@ static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
||||
static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
AudioMixengBackend *amb = hw->s;
|
||||
AudioPa *apa = AUDIO_PA(amb);
|
||||
|
||||
@@ -524,7 +524,7 @@ qpw_set_position(uint32_t channels, uint32_t position[SPA_AUDIO_MAX_CHANNELS])
|
||||
}
|
||||
|
||||
static int
|
||||
qpw_init_out(HWVoiceOut *hw, struct audsettings *as, void *drv_opaque)
|
||||
qpw_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
AudioPw *c = AUDIO_PW(hw->s);
|
||||
PWVoiceOut *pw = (PWVoiceOut *) hw;
|
||||
@@ -571,7 +571,7 @@ qpw_init_out(HWVoiceOut *hw, struct audsettings *as, void *drv_opaque)
|
||||
}
|
||||
|
||||
static int
|
||||
qpw_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
||||
qpw_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
AudioPw *c = AUDIO_PW(hw->s);
|
||||
PWVoiceIn *pw = (PWVoiceIn *) hw;
|
||||
|
||||
@@ -345,8 +345,7 @@ static void sdl_fini_out(HWVoiceOut *hw)
|
||||
sdl_close_out(sdl);
|
||||
}
|
||||
|
||||
static int sdl_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int sdl_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
SDLVoiceOut *sdl = (SDLVoiceOut *)hw;
|
||||
SDL_AudioSpec req, obt;
|
||||
@@ -402,7 +401,7 @@ static void sdl_fini_in(HWVoiceIn *hw)
|
||||
sdl_close_in(sdl);
|
||||
}
|
||||
|
||||
static int sdl_init_in(HWVoiceIn *hw, audsettings *as, void *drv_opaque)
|
||||
static int sdl_init_in(HWVoiceIn *hw, audsettings *as)
|
||||
{
|
||||
SDLVoiceIn *sdl = (SDLVoiceIn *)hw;
|
||||
SDL_AudioSpec req, obt;
|
||||
|
||||
@@ -495,7 +495,7 @@ static void sndio_enable_in(HWVoiceIn *hw, bool enable)
|
||||
sndio_enable(self, enable);
|
||||
}
|
||||
|
||||
static int sndio_init_out(HWVoiceOut *hw, struct audsettings *as, void *opaque)
|
||||
static int sndio_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
SndioVoice *self = (SndioVoice *) hw;
|
||||
|
||||
@@ -508,7 +508,7 @@ static int sndio_init_out(HWVoiceOut *hw, struct audsettings *as, void *opaque)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sndio_init_in(HWVoiceIn *hw, struct audsettings *as, void *opaque)
|
||||
static int sndio_init_in(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
SndioVoice *self = (SndioVoice *) hw;
|
||||
|
||||
|
||||
@@ -108,8 +108,7 @@ static const SpiceRecordInterface record_sif = {
|
||||
|
||||
/* playback */
|
||||
|
||||
static int line_out_init(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int line_out_init(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
SpiceVoiceOut *out = container_of (hw, SpiceVoiceOut, hw);
|
||||
struct audsettings settings;
|
||||
@@ -225,7 +224,7 @@ static void line_out_volume(HWVoiceOut *hw, Volume *vol)
|
||||
|
||||
/* record */
|
||||
|
||||
static int line_in_init(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
|
||||
static int line_in_init(HWVoiceIn *hw, struct audsettings *as)
|
||||
{
|
||||
SpiceVoiceIn *in = container_of (hw, SpiceVoiceIn, hw);
|
||||
struct audsettings settings;
|
||||
|
||||
@@ -78,8 +78,7 @@ static void le_store (uint8_t *buf, uint32_t val, int len)
|
||||
}
|
||||
}
|
||||
|
||||
static int wav_init_out(HWVoiceOut *hw, struct audsettings *as,
|
||||
void *drv_opaque)
|
||||
static int wav_init_out(HWVoiceOut *hw, struct audsettings *as)
|
||||
{
|
||||
WAVVoiceOut *wav = (WAVVoiceOut *) hw;
|
||||
int bits16 = 0, stereo = 0;
|
||||
|
||||
Reference in New Issue
Block a user