[PATCH v2 00/11] audio: more improvements

Volker Rümelin posted 11 patches 2 weeks, 4 days ago
audio/alsaaudio.c      | 27 ++++++-----------
audio/audio.c          | 26 +---------------
audio/audio_int.h      |  8 ++---
audio/audio_template.h | 68 ++++++++++++++++++++++--------------------
audio/mixeng.c         |  7 +----
5 files changed, 48 insertions(+), 88 deletions(-)
[PATCH v2 00/11] audio: more improvements
Posted by Volker Rümelin 2 weeks, 4 days ago
A few patches from my audio patch queue.

Patches 1 - 2:
If a guest selects an unsupported sample rate, an error message is 
currently shown. The first patch takes care to suppress the error 
message and reports with the qemu_log_mask(LOG_UNIMP, ...) function that 
this is not supported. The second patch is needed because there are two 
code paths to reach the qemu_log_mask() function in the 
audio_pcm_sw_alloc_resources_* functions. The second path prints an 
additional error message up to now.

For more background information:
https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg04940.html

Patches 3 - 4:
General improvements.

Patches 5 - 9:
These patches remove the audio_calloc() function. The GLib g_new0 macro 
is a better replacement for audio_calloc(). There's one exception where 
g_malloc0() fits better.

Patches 10 - 11:
Audio playback and recording with the ALSA audio backend currently 
doesn't work well with the default audio settings.

v2: Address Daniel's comments

[PATCH v2 07/11] audio/audio_template: use g_malloc0() to replace 
audio_calloc()
The n_bytes argument of g_malloc0() is now always > 0 at this call site.

[PATCH v2 08/11] audio/audio_template: use g_new0() to replace 
audio_calloc()
Check samples for negative values. It's possible to have negative 
samples due to overflows or unsigned to signed conversions. Patch 01/11 
takes care of samples == 0.

Volker Rümelin (11):
   audio: log unimplemented audio device sample rates
   audio: don't show unnecessary error messages
   audio: rename hardware store to backend
   audio: remove unused #define AUDIO_STRINGIFY
   audio/mixeng: use g_new0() instead of audio_calloc()
   audio/alsaaudio: use g_new0() instead of audio_calloc()
   audio/audio_template: use g_malloc0() to replace audio_calloc()
   audio/audio_template: use g_new0() to replace audio_calloc()
   audio: remove audio_calloc() function
   alsaaudio: change default playback settings
   alsaaudio: reintroduce default recording settings

  audio/alsaaudio.c      | 27 ++++++-----------
  audio/audio.c          | 26 +---------------
  audio/audio_int.h      |  8 ++---
  audio/audio_template.h | 68 ++++++++++++++++++++++--------------------
  audio/mixeng.c         |  7 +----
  5 files changed, 48 insertions(+), 88 deletions(-)

-- 
2.35.3

Re: [PATCH v2 00/11] audio: more improvements
Posted by Marc-André Lureau 1 week, 1 day ago
Hi

On Sat, Jan 21, 2023 at 1:47 PM Volker Rümelin <vr_qemu@t-online.de> wrote:
>
> A few patches from my audio patch queue.
>
> Patches 1 - 2:
> If a guest selects an unsupported sample rate, an error message is
> currently shown. The first patch takes care to suppress the error
> message and reports with the qemu_log_mask(LOG_UNIMP, ...) function that
> this is not supported. The second patch is needed because there are two
> code paths to reach the qemu_log_mask() function in the
> audio_pcm_sw_alloc_resources_* functions. The second path prints an
> additional error message up to now.
>
> For more background information:
> https://lists.nongnu.org/archive/html/qemu-devel/2022-10/msg04940.html
>
> Patches 3 - 4:
> General improvements.
>
> Patches 5 - 9:
> These patches remove the audio_calloc() function. The GLib g_new0 macro
> is a better replacement for audio_calloc(). There's one exception where
> g_malloc0() fits better.
>
> Patches 10 - 11:
> Audio playback and recording with the ALSA audio backend currently
> doesn't work well with the default audio settings.
>
> v2: Address Daniel's comments
>
> [PATCH v2 07/11] audio/audio_template: use g_malloc0() to replace
> audio_calloc()
> The n_bytes argument of g_malloc0() is now always > 0 at this call site.
>
> [PATCH v2 08/11] audio/audio_template: use g_new0() to replace
> audio_calloc()
> Check samples for negative values. It's possible to have negative
> samples due to overflows or unsigned to signed conversions. Patch 01/11
> takes care of samples == 0.
>
> Volker Rümelin (11):
>    audio: log unimplemented audio device sample rates
>    audio: don't show unnecessary error messages
>    audio: rename hardware store to backend
>    audio: remove unused #define AUDIO_STRINGIFY
>    audio/mixeng: use g_new0() instead of audio_calloc()
>    audio/alsaaudio: use g_new0() instead of audio_calloc()
>    audio/audio_template: use g_malloc0() to replace audio_calloc()
>    audio/audio_template: use g_new0() to replace audio_calloc()
>    audio: remove audio_calloc() function
>    alsaaudio: change default playback settings
>    alsaaudio: reintroduce default recording settings

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>