Hi On Sun, Nov 5, 2023 at 9:26 PM Volker Rümelin <vr_q...@t-online.de> wrote: > > Commit b7639b7dd0 ("hw/audio: Simplify hda audio init") inverted > the sense of hda codec property mixer during initialization. > Change the code so that mixer=on enables the hda mixer emulation > and mixer=off disables the hda mixer emulation. > > With this change audio playback and recording streams don't start > muted by default. > > Fixes: b7639b7dd0 ("hw/audio: Simplify hda audio init") > Signed-off-by: Volker Rümelin <vr_q...@t-online.de>
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > hw/audio/hda-codec.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c > index f756e419bb..0bc20d49f6 100644 > --- a/hw/audio/hda-codec.c > +++ b/hw/audio/hda-codec.c > @@ -868,10 +868,10 @@ static Property hda_audio_properties[] = { > static void hda_audio_init_output(HDACodecDevice *hda, Error **errp) > { > HDAAudioState *a = HDA_AUDIO(hda); > - const struct desc_codec *desc = &output_nomixemu; > + const struct desc_codec *desc = &output_mixemu; > > if (!a->mixer) { > - desc = &output_mixemu; > + desc = &output_nomixemu; > } > > hda_audio_init(hda, desc, errp); > @@ -880,10 +880,10 @@ static void hda_audio_init_output(HDACodecDevice *hda, > Error **errp) > static void hda_audio_init_duplex(HDACodecDevice *hda, Error **errp) > { > HDAAudioState *a = HDA_AUDIO(hda); > - const struct desc_codec *desc = &duplex_nomixemu; > + const struct desc_codec *desc = &duplex_mixemu; > > if (!a->mixer) { > - desc = &duplex_mixemu; > + desc = &duplex_nomixemu; > } > > hda_audio_init(hda, desc, errp); It could be even further simplified: hda_audio_init(hda, a->mixer ? &output_mixemu : &output_nomixemu, errp); > @@ -892,10 +892,10 @@ static void hda_audio_init_duplex(HDACodecDevice *hda, > Error **errp) > static void hda_audio_init_micro(HDACodecDevice *hda, Error **errp) > { > HDAAudioState *a = HDA_AUDIO(hda); > - const struct desc_codec *desc = µ_nomixemu; > + const struct desc_codec *desc = µ_mixemu; > > if (!a->mixer) { > - desc = µ_mixemu; > + desc = µ_nomixemu; > } > > hda_audio_init(hda, desc, errp); > -- > 2.35.3 > > -- Marc-André Lureau