From 5a0926c23fa915f26f66f688e9030ce39fea1e35 Mon Sep 17 00:00:00 2001 From: Volker Rümelin Date: Sun, 10 Jan 2021 11:02:19 +0100 Subject: sdlaudio: add -audiodev sdl,out.buffer-count option 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 Acked-by: Markus Armbruster Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-3-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann --- audio/audio_template.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'audio/audio_template.h') diff --git a/audio/audio_template.h b/audio/audio_template.h index 8dd48ce14e..434df5d5e7 100644 --- a/audio/audio_template.h +++ b/audio/audio_template.h @@ -337,7 +337,7 @@ AudiodevPerDirectionOptions *glue(audio_get_pdo_, TYPE)(Audiodev *dev) case AUDIODEV_DRIVER_PA: return qapi_AudiodevPaPerDirectionOptions_base(dev->u.pa.TYPE); case AUDIODEV_DRIVER_SDL: - return dev->u.sdl.TYPE; + return qapi_AudiodevSdlPerDirectionOptions_base(dev->u.sdl.TYPE); case AUDIODEV_DRIVER_SPICE: return dev->u.spice.TYPE; case AUDIODEV_DRIVER_WAV: -- cgit v1.2.3-55-g7522 From 6c6886bd01dcbdc47287ac5fbdaf89a8f49bc35f Mon Sep 17 00:00:00 2001 From: Zhang Han Date: Fri, 15 Jan 2021 09:24:25 +0800 Subject: audio: Add braces for statements/fix braces' position Fix problems about braces: -braces are necessary for all arms of if/for/while statements -else should follow close brace '}' Signed-off-by: Zhang Han Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-2-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann --- audio/alsaaudio.c | 15 +++++---------- audio/audio.c | 26 ++++++++++++-------------- audio/audio_template.h | 12 ++++-------- audio/coreaudio.c | 3 +-- audio/dsoundaudio.c | 9 +++------ audio/ossaudio.c | 12 ++++-------- 6 files changed, 29 insertions(+), 48 deletions(-) (limited to 'audio/audio_template.h') diff --git a/audio/alsaaudio.c b/audio/alsaaudio.c index 5a871aaf6b..fcc2f62864 100644 --- a/audio/alsaaudio.c +++ b/audio/alsaaudio.c @@ -278,32 +278,28 @@ static snd_pcm_format_t aud_to_alsafmt (AudioFormat fmt, int endianness) case AUDIO_FORMAT_S16: if (endianness) { return SND_PCM_FORMAT_S16_BE; - } - else { + } else { return SND_PCM_FORMAT_S16_LE; } case AUDIO_FORMAT_U16: if (endianness) { return SND_PCM_FORMAT_U16_BE; - } - else { + } else { return SND_PCM_FORMAT_U16_LE; } case AUDIO_FORMAT_S32: if (endianness) { return SND_PCM_FORMAT_S32_BE; - } - else { + } else { return SND_PCM_FORMAT_S32_LE; } case AUDIO_FORMAT_U32: if (endianness) { return SND_PCM_FORMAT_U32_BE; - } - else { + } else { return SND_PCM_FORMAT_U32_LE; } @@ -722,8 +718,7 @@ static int alsa_voice_ctl (snd_pcm_t *handle, const char *typ, int ctl) alsa_logerr (err, "Could not stop %s\n", typ); return -1; } - } - else { + } else { err = snd_pcm_prepare (handle); if (err < 0) { alsa_logerr (err, "Could not prepare handle for %s\n", typ); diff --git a/audio/audio.c b/audio/audio.c index 34c9cb9182..6734c8af70 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -344,8 +344,7 @@ void audio_pcm_info_clear_buf (struct audio_pcm_info *info, void *buf, int len) if (info->is_signed || info->is_float) { memset(buf, 0x00, len * info->bytes_per_frame); - } - else { + } else { switch (info->bits) { case 8: memset(buf, 0x80, len * info->bytes_per_frame); @@ -584,8 +583,7 @@ static size_t audio_pcm_sw_get_rpos_in(SWVoiceIn *sw) rpos = hw->conv_buf->pos - live; if (rpos >= 0) { return rpos; - } - else { + } else { return hw->conv_buf->size + rpos; } } @@ -788,10 +786,14 @@ static int audio_is_timer_needed(AudioState *s) HWVoiceOut *hwo = NULL; while ((hwo = audio_pcm_hw_find_any_enabled_out(s, hwo))) { - if (!hwo->poll_mode) return 1; + if (!hwo->poll_mode) { + return 1; + } } while ((hwi = audio_pcm_hw_find_any_enabled_in(s, hwi))) { - if (!hwi->poll_mode) return 1; + if (!hwi->poll_mode) { + return 1; + } } return 0; } @@ -908,8 +910,7 @@ void AUD_set_active_out (SWVoiceOut *sw, int on) audio_reset_timer (s); } } - } - else { + } else { if (hw->enabled) { int nb_active = 0; @@ -956,8 +957,7 @@ void AUD_set_active_in (SWVoiceIn *sw, int on) } } sw->total_hw_samples_acquired = hw->total_samples_captured; - } - else { + } else { if (hw->enabled) { int nb_active = 0; @@ -1532,8 +1532,7 @@ static int audio_driver_init(AudioState *s, struct audio_driver *drv, audio_init_nb_voices_in(s, drv); s->drv = drv; return 0; - } - else { + } else { if (msg) { dolog("Could not init `%s' audio driver\n", drv->name); } @@ -1848,8 +1847,7 @@ CaptureVoiceOut *AUD_add_capture( if (cap) { QLIST_INSERT_HEAD (&cap->cb_head, cb, entries); return cap; - } - else { + } else { HWVoiceOut *hw; CaptureVoiceOut *cap; diff --git a/audio/audio_template.h b/audio/audio_template.h index 434df5d5e7..f77210e404 100644 --- a/audio/audio_template.h +++ b/audio/audio_template.h @@ -47,8 +47,7 @@ static void glue(audio_init_nb_voices_, TYPE)(AudioState *s, #ifdef DAC dolog ("Driver `%s' does not support " NAME "\n", drv->name); #endif - } - else { + } else { dolog ("Driver `%s' does not support %d " NAME " voices, max %d\n", drv->name, glue (s->nb_hw_voices_, TYPE), @@ -387,8 +386,7 @@ static SW *glue(audio_pcm_create_voice_pair_, TYPE)( if (pdo->fixed_settings) { hw_as = audiodev_to_audsettings(pdo); - } - else { + } else { hw_as = *as; } @@ -498,8 +496,7 @@ SW *glue (AUD_open_, TYPE) ( if (glue (audio_pcm_sw_init_, TYPE) (sw, hw, name, as)) { goto fail; } - } - else { + } else { sw = glue(audio_pcm_create_voice_pair_, TYPE)(s, name, as); if (!sw) { dolog ("Failed to create voice `%s'\n", name); @@ -553,8 +550,7 @@ uint64_t glue (AUD_get_elapsed_usec_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts) if (cur_ts >= old_ts) { delta = cur_ts - old_ts; - } - else { + } else { delta = UINT64_MAX - old_ts + cur_ts; } diff --git a/audio/coreaudio.c b/audio/coreaudio.c index 79a9d40bf8..408b587126 100644 --- a/audio/coreaudio.c +++ b/audio/coreaudio.c @@ -524,8 +524,7 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as, } else if (frameRange.mMaximum < frames) { core->audioDevicePropertyBufferFrameSize = (UInt32) frameRange.mMaximum; dolog ("warning: Downsizing Buffer Frames to %f\n", frameRange.mMaximum); - } - else { + } else { core->audioDevicePropertyBufferFrameSize = frames; } diff --git a/audio/dsoundaudio.c b/audio/dsoundaudio.c index d3695f3af6..e59bd83dc7 100644 --- a/audio/dsoundaudio.c +++ b/audio/dsoundaudio.c @@ -404,8 +404,7 @@ static void dsound_enable_out(HWVoiceOut *hw, bool enable) dsound_logerr (hr, "Could not stop playing buffer\n"); return; } - } - else { + } else { dolog ("warning: Voice is not playing\n"); } } @@ -509,8 +508,7 @@ static void dsound_enable_in(HWVoiceIn *hw, bool enable) dsound_logerr (hr, "Could not stop capturing\n"); return; } - } - else { + } else { dolog ("warning: Voice is not capturing\n"); } } @@ -659,8 +657,7 @@ static void *dsound_audio_init(Audiodev *dev) ); if (FAILED (hr)) { dsound_logerr (hr, "Could not create DirectSoundCapture instance\n"); - } - else { + } else { hr = IDirectSoundCapture_Initialize (s->dsound_capture, NULL); if (FAILED (hr)) { dsound_logerr (hr, "Could not initialize DirectSoundCapture\n"); diff --git a/audio/ossaudio.c b/audio/ossaudio.c index c1db89f233..60eff66424 100644 --- a/audio/ossaudio.c +++ b/audio/ossaudio.c @@ -142,16 +142,14 @@ static int aud_to_ossfmt (AudioFormat fmt, int endianness) case AUDIO_FORMAT_S16: if (endianness) { return AFMT_S16_BE; - } - else { + } else { return AFMT_S16_LE; } case AUDIO_FORMAT_U16: if (endianness) { return AFMT_U16_BE; - } - else { + } else { return AFMT_U16_LE; } @@ -542,16 +540,14 @@ static int oss_init_out(HWVoiceOut *hw, struct audsettings *as, int trig = 0; if (ioctl (fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) { oss_logerr (errno, "SNDCTL_DSP_SETTRIGGER 0 failed\n"); - } - else { + } else { trig = PCM_ENABLE_OUTPUT; if (ioctl (fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) { oss_logerr ( errno, "SNDCTL_DSP_SETTRIGGER PCM_ENABLE_OUTPUT failed\n" ); - } - else { + } else { oss->mmapped = 1; } } -- cgit v1.2.3-55-g7522 From 3c8de96c074c035cb9f3e021769e4c8872d81268 Mon Sep 17 00:00:00 2001 From: Zhang Han Date: Fri, 15 Jan 2021 09:24:26 +0800 Subject: audio: Add spaces around operator/delete redundant spaces Fix problems about spaces: -operator needs spaces around it, add them. -somespaces are redundant, remove them. Signed-off-by: Zhang Han Reviewed-by: Philippe Mathieu-Daudé Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-3-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann --- audio/audio_template.h | 2 +- audio/coreaudio.c | 2 +- audio/dsoundaudio.c | 2 +- audio/jackaudio.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'audio/audio_template.h') diff --git a/audio/audio_template.h b/audio/audio_template.h index f77210e404..f82593bb8d 100644 --- a/audio/audio_template.h +++ b/audio/audio_template.h @@ -208,7 +208,7 @@ static void glue (audio_pcm_hw_gc_, TYPE) (HW **hwp) QLIST_REMOVE (hw, entries); glue (hw->pcm_ops->fini_, TYPE) (hw); glue (s->nb_hw_voices_, TYPE) += 1; - glue (audio_pcm_hw_free_resources_ ,TYPE) (hw); + glue (audio_pcm_hw_free_resources_ , TYPE) (hw); g_free (hw); *hwp = NULL; } diff --git a/audio/coreaudio.c b/audio/coreaudio.c index 408b587126..6ca0d79c1f 100644 --- a/audio/coreaudio.c +++ b/audio/coreaudio.c @@ -270,7 +270,7 @@ static void coreaudio_logstatus (OSStatus status) { const char *str = "BUG"; - switch(status) { + switch (status) { case kAudioHardwareNoError: str = "kAudioHardwareNoError"; break; diff --git a/audio/dsoundaudio.c b/audio/dsoundaudio.c index e59bd83dc7..21c2891772 100644 --- a/audio/dsoundaudio.c +++ b/audio/dsoundaudio.c @@ -133,7 +133,7 @@ static void dsound_log_hresult (HRESULT hr) break; #endif #ifdef DSERR_GENERIC - case DSERR_GENERIC : + case DSERR_GENERIC: str = "An undetermined error occurred inside the DirectSound subsystem"; break; #endif diff --git a/audio/jackaudio.c b/audio/jackaudio.c index f8afb5cc31..3031c4e29b 100644 --- a/audio/jackaudio.c +++ b/audio/jackaudio.c @@ -277,7 +277,7 @@ static int qjack_process(jack_nframes_t nframes, void *arg) if (likely(c->enabled)) { qjack_buffer_read_l(&c->fifo, buffers, nframes); } else { - for(int i = 0; i < c->nchannels; ++i) { + for (int i = 0; i < c->nchannels; ++i) { memset(buffers[i], 0, nframes * sizeof(float)); } } -- cgit v1.2.3-55-g7522 From 8abf3feb4d464abadd5133d8810c8a3232cbbe6e Mon Sep 17 00:00:00 2001 From: Zhang Han Date: Fri, 15 Jan 2021 09:24:31 +0800 Subject: audio: space prohibited between function name and parenthesis'(' Delete spaces between function name and open parenthesis'(' Signed-off-by: Zhang Han Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-8-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann --- audio/audio_template.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'audio/audio_template.h') diff --git a/audio/audio_template.h b/audio/audio_template.h index f82593bb8d..c6714946aa 100644 --- a/audio/audio_template.h +++ b/audio/audio_template.h @@ -203,13 +203,13 @@ static void glue (audio_pcm_hw_gc_, TYPE) (HW **hwp) if (!hw->sw_head.lh_first) { #ifdef DAC - audio_detach_capture (hw); + audio_detach_capture(hw); #endif - QLIST_REMOVE (hw, entries); - glue (hw->pcm_ops->fini_, TYPE) (hw); - glue (s->nb_hw_voices_, TYPE) += 1; - glue (audio_pcm_hw_free_resources_ , TYPE) (hw); - g_free (hw); + QLIST_REMOVE(hw, entries); + glue(hw->pcm_ops->fini_, TYPE) (hw); + glue(s->nb_hw_voices_, TYPE) += 1; + glue(audio_pcm_hw_free_resources_ , TYPE) (hw); + g_free(hw); *hwp = NULL; } } -- cgit v1.2.3-55-g7522