diff mbox series

[02/13] audio: Require AudioState in AUD_add_capture

Message ID 20230923085507.399260-3-pbonzini@redhat.com
State New
Headers show
Series Cleanup deprecated audio features, take 2 | expand

Commit Message

Paolo Bonzini Sept. 23, 2023, 8:54 a.m. UTC
From: Martin Kletzander <mkletzan@redhat.com>

Since all callers require a valid audiodev this function can now safely
abort in case of missing AudioState.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Message-ID: <c6e87e678e914df0f59da2145c2753cdb4a16f63.1650874791.git.mkletzan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 audio/audio.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

BALATON Zoltan Sept. 23, 2023, 11:48 a.m. UTC | #1
On Sat, 23 Sep 2023, Paolo Bonzini wrote:
> From: Martin Kletzander <mkletzan@redhat.com>
>
> Since all callers require a valid audiodev this function can now safely
> abort in case of missing AudioState.
>
> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> Message-ID: <c6e87e678e914df0f59da2145c2753cdb4a16f63.1650874791.git.mkletzan@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> audio/audio.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/audio/audio.c b/audio/audio.c
> index 90c7c49d116..42bfa330146 100644
> --- a/audio/audio.c
> +++ b/audio/audio.c
> @@ -1876,10 +1876,9 @@ CaptureVoiceOut *AUD_add_capture(
>     struct capture_callback *cb;
>
>     if (!s) {
> -        if (!legacy_config) {
> -            dolog("Capturing without setting an audiodev is deprecated\n");
> -        }
> -        s = audio_init(NULL, NULL);
> +        error_setg(&error_abort,
> +                   "Capturing without setting an audiodev is not supported");
> +        abort();

This looks suspicious to me but I don't know if you can do this. Probably 
Markus can advise. I would use error_report and abort() or error_setg if 
you have an errp then return but this func doesn't seem to have errp.

Regards,
BALATON Zoltan

>     }
>
>     if (!audio_get_pdo_out(s->dev)->mixing_engine) {
>
Paolo Bonzini Sept. 24, 2023, 8:53 a.m. UTC | #2
Il sab 23 set 2023, 13:49 BALATON Zoltan <balaton@eik.bme.hu> ha scritto:

> On Sat, 23 Sep 2023, Paolo Bonzini wrote:
> > From: Martin Kletzander <mkletzan@redhat.com>
> >
> > Since all callers require a valid audiodev this function can now safely
> > abort in case of missing AudioState.
> >
> > Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> > Message-ID: <
> c6e87e678e914df0f59da2145c2753cdb4a16f63.1650874791.git.mkletzan@redhat.com
> >
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > ---
> > audio/audio.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/audio/audio.c b/audio/audio.c
> > index 90c7c49d116..42bfa330146 100644
> > --- a/audio/audio.c
> > +++ b/audio/audio.c
> > @@ -1876,10 +1876,9 @@ CaptureVoiceOut *AUD_add_capture(
> >     struct capture_callback *cb;
> >
> >     if (!s) {
> > -        if (!legacy_config) {
> > -            dolog("Capturing without setting an audiodev is
> deprecated\n");
> > -        }
> > -        s = audio_init(NULL, NULL);
> > +        error_setg(&error_abort,
> > +                   "Capturing without setting an audiodev is not
> supported");
> > +        abort();
>
> This looks suspicious to me but I don't know if you can do this. Probably
> Markus can advise. I would use error_report and abort() or error_setg if
> you have an errp then return but this func doesn't seem to have errp.
>

Sure, I will change that.

Paolo


> Regards,
> BALATON Zoltan
>
> >     }
> >
> >     if (!audio_get_pdo_out(s->dev)->mixing_engine) {
> >
>
>
BALATON Zoltan Sept. 28, 2023, 11:59 a.m. UTC | #3
On Sat, 23 Sep 2023, BALATON Zoltan wrote:
> On Sat, 23 Sep 2023, Paolo Bonzini wrote:
>> From: Martin Kletzander <mkletzan@redhat.com>
>> 
>> Since all callers require a valid audiodev this function can now safely
>> abort in case of missing AudioState.
>> 
>> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
>> Message-ID: 
>> <c6e87e678e914df0f59da2145c2753cdb4a16f63.1650874791.git.mkletzan@redhat.com>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>> audio/audio.c | 7 +++----
>> 1 file changed, 3 insertions(+), 4 deletions(-)
>> 
>> diff --git a/audio/audio.c b/audio/audio.c
>> index 90c7c49d116..42bfa330146 100644
>> --- a/audio/audio.c
>> +++ b/audio/audio.c
>> @@ -1876,10 +1876,9 @@ CaptureVoiceOut *AUD_add_capture(
>>     struct capture_callback *cb;
>>
>>     if (!s) {
>> -        if (!legacy_config) {
>> -            dolog("Capturing without setting an audiodev is 
>> deprecated\n");
>> -        }
>> -        s = audio_init(NULL, NULL);
>> +        error_setg(&error_abort,
>> +                   "Capturing without setting an audiodev is not 
>> supported");
>> +        abort();
>
> This looks suspicious to me but I don't know if you can do this. Probably 
> Markus can advise. I would use error_report and abort() or error_setg if you 
> have an errp then return but this func doesn't seem to have errp.

This is still in v2 you've sent. Is this then OK this way, I haven't seen 
a reply from Markus but maybe you've discussed it somewhere else.

Regards,
BALATON Zoltan

>>     }
>>
>>     if (!audio_get_pdo_out(s->dev)->mixing_engine) {
>> 
>
Markus Armbruster Sept. 28, 2023, 1:01 p.m. UTC | #4
BALATON Zoltan <balaton@eik.bme.hu> writes:

> On Sat, 23 Sep 2023, Paolo Bonzini wrote:
>> From: Martin Kletzander <mkletzan@redhat.com>
>>
>> Since all callers require a valid audiodev this function can now safely
>> abort in case of missing AudioState.
>>
>> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
>> Message-ID: <c6e87e678e914df0f59da2145c2753cdb4a16f63.1650874791.git.mkletzan@redhat.com>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>> audio/audio.c | 7 +++----
>> 1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/audio/audio.c b/audio/audio.c
>> index 90c7c49d116..42bfa330146 100644
>> --- a/audio/audio.c
>> +++ b/audio/audio.c
>> @@ -1876,10 +1876,9 @@ CaptureVoiceOut *AUD_add_capture(
>>     struct capture_callback *cb;
>>
>>     if (!s) {
>> -        if (!legacy_config) {
>> -            dolog("Capturing without setting an audiodev is deprecated\n");
>> -        }
>> -        s = audio_init(NULL, NULL);
>> +        error_setg(&error_abort,
>> +                   "Capturing without setting an audiodev is not supported");
>> +        abort();
>
> This looks suspicious to me but I don't know if you can do this. Probably Markus can advise. I would use error_report and abort() or error_setg if you have an errp then return but this func doesn't seem to have errp.

Missed this until now; my apologies.

qapi/error.h:

 * Please don't error_setg(&error_fatal, ...), use error_report() and
 * exit(), because that's more obvious.
 * Likewise, don't error_setg(&error_abort, ...), use assert().
diff mbox series

Patch

diff --git a/audio/audio.c b/audio/audio.c
index 90c7c49d116..42bfa330146 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -1876,10 +1876,9 @@  CaptureVoiceOut *AUD_add_capture(
     struct capture_callback *cb;
 
     if (!s) {
-        if (!legacy_config) {
-            dolog("Capturing without setting an audiodev is deprecated\n");
-        }
-        s = audio_init(NULL, NULL);
+        error_setg(&error_abort,
+                   "Capturing without setting an audiodev is not supported");
+        abort();
     }
 
     if (!audio_get_pdo_out(s->dev)->mixing_engine) {