Volker RĂ¼melin <vr_q...@t-online.de> writes: > Currently there is a crackling noise with SDL2 audio playback. > Commit bcf19777df: "audio/sdlaudio: Allow audio playback with > SDL2" already mentioned the crackling noise. > > Add an out.buffer-count option to give users a chance to select > sane settings for glitch free audio playback. The idea was taken > from the coreaudio backend. > > The in.buffer-count option will be used with one of the next > patches. > > Signed-off-by: Volker RĂ¼melin <vr_q...@t-online.de> > --- [...] > diff --git a/qapi/audio.json b/qapi/audio.json > index 072ed79def..9cba0df8a4 100644 > --- a/qapi/audio.json > +++ b/qapi/audio.json > @@ -301,6 +301,37 @@ > '*out': 'AudiodevPaPerDirectionOptions', > '*server': 'str' } } > > +## > +# @AudiodevSdlPerDirectionOptions: > +# > +# Options of the SDL audio backend that are used for both playback and > +# recording. > +# > +# @buffer-count: number of buffers (default 4) > +# > +# Since: 6.0 > +## > +{ 'struct': 'AudiodevSdlPerDirectionOptions', > + 'base': 'AudiodevPerDirectionOptions', > + 'data': { > + '*buffer-count': 'uint32' } } > + > +## > +# @AudiodevSdlOptions: > +# > +# Options of the SDL audio backend. > +# > +# @in: options of the recording stream > +# > +# @out: options of the playback stream > +# > +# Since: 6.0 > +## > +{ 'struct': 'AudiodevSdlOptions', > + 'data': { > + '*in': 'AudiodevSdlPerDirectionOptions', > + '*out': 'AudiodevSdlPerDirectionOptions' } } > + > ## > # @AudiodevWavOptions: > # > @@ -385,6 +416,6 @@ > 'jack': 'AudiodevJackOptions', > 'oss': 'AudiodevOssOptions', > 'pa': 'AudiodevPaOptions', > - 'sdl': 'AudiodevGenericOptions', > + 'sdl': 'AudiodevSdlOptions', > 'spice': 'AudiodevGenericOptions', > 'wav': 'AudiodevWavOptions' } } > diff --git a/qemu-options.hx b/qemu-options.hx > index 1698a0c751..4e02e9bd76 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -588,6 +588,7 @@ DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev, > #endif > #ifdef CONFIG_AUDIO_SDL > "-audiodev sdl,id=id[,prop[=value][,...]]\n" > + " in|out.buffer-count= number of buffers\n" > #endif > #ifdef CONFIG_SPICE > "-audiodev spice,id=id[,prop[=value][,...]]\n" > @@ -745,7 +746,12 @@ SRST > ``-audiodev sdl,id=id[,prop[=value][,...]]`` > Creates a backend using SDL. This backend is available on most > systems, but you should use your platform's native backend if > - possible. This backend has no backend specific properties. > + possible. > + > + SDL specific options are: > + > + ``in|out.buffer-count=count`` > + Sets the count of the buffers. > > ``-audiodev spice,id=id[,prop[=value][,...]]`` > Creates a backend that sends audio through SPICE. This backend
These parts: Acked-by: Markus Armbruster <arm...@redhat.com>