From 7ffc90f3ae3d84562a4bda63cde961000b335542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Volker=20R=C3=BCmelin?= Date: Tue, 19 Nov 2019 07:58:49 +0100 Subject: [PATCH 1/3] audio: fix audio recording MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With current code audio recording with all audio backends except PulseAudio and DirectSound is broken. The generic audio recording buffer management forgot to update the current read position after a read. Fixes: ff095e5231 "audio: api for mixeng code free backends" Signed-off-by: Volker Rümelin Reviewed-by: Zoltán Kővágó Message-id: 2fc947cf-7b42-de68-3f11-cbcf1c096be9@t-online.de Signed-off-by: Gerd Hoffmann --- audio/audio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/audio/audio.c b/audio/audio.c index 7fc3aa9d16..56fae55047 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1390,6 +1390,7 @@ void *audio_generic_get_buffer_in(HWVoiceIn *hw, size_t *size) size_t read = hw->pcm_ops->read(hw, hw->buf_emul + hw->pos_emul, read_len); hw->pending_emul += read; + hw->pos_emul = (hw->pos_emul + read) % hw->size_emul; if (read < read_len) { break; } From 0f6ed883e74f3fd9eb3eedfe0e61be66e4834fc9 Mon Sep 17 00:00:00 2001 From: Sai Pavan Boddu Date: Fri, 15 Nov 2019 21:26:48 +0530 Subject: [PATCH 2/3] display: xlnx_dp: Provide sufficient bytes for silent audio channel Fill the audio channel with required number of bytes to cover the elapsed time. This prevents rate control reset, and avoids debug prints like below log: Resetting rate control (65692 samples) ... Resetting rate control (65721 samples) ... Signed-off-by: Sai Pavan Boddu Reviewed-by: Alistair Francis Message-id: 1573833408-2388-1-git-send-email-sai.pavan.boddu@xilinx.com Signed-off-by: Gerd Hoffmann --- hw/display/xlnx_dp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c index fde3b21ea5..7058443797 100644 --- a/hw/display/xlnx_dp.c +++ b/hw/display/xlnx_dp.c @@ -394,13 +394,18 @@ static void xlnx_dp_audio_callback(void *opaque, int avail) written = AUD_write(s->amixer_output_stream, &s->out_buffer[s->data_ptr], s->byte_left); } else { + int len_to_copy; /* * There is nothing to play.. We don't have any data! Fill the * buffer with zero's and send it. */ written = 0; - memset(s->out_buffer, 0, 1024); - AUD_write(s->amixer_output_stream, s->out_buffer, 1024); + while (avail) { + len_to_copy = MIN(AUD_CHBUF_MAX_DEPTH, avail); + memset(s->out_buffer, 0, len_to_copy); + avail -= AUD_write(s->amixer_output_stream, s->out_buffer, + len_to_copy); + } } } else { written = AUD_write(s->amixer_output_stream, From c55c974486b0dadf97fe47e2e789d5dba9b77138 Mon Sep 17 00:00:00 2001 From: yanminhui Date: Sat, 16 Nov 2019 11:10:37 +0800 Subject: [PATCH 3/3] ui/gtk: fix gettext message's charset. Signed-off-by: yanminhui Message-Id: <20191116031037.1207-1-yanminhui163@163.com> Signed-off-by: Gerd Hoffmann --- po/zh_CN.po | 2 +- ui/gtk.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index b25e8e3c02..38de6a4f2a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -66,7 +66,7 @@ msgid "Detach Tab" msgstr "分离标签页" msgid "Show Menubar" -msgstr "" +msgstr "显示菜单栏" msgid "_Machine" msgstr "虚拟机(_M)" diff --git a/ui/gtk.c b/ui/gtk.c index 2f23922afc..692ccc7bbb 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -2215,6 +2215,7 @@ static void gtk_display_init(DisplayState *ds, DisplayOptions *opts) setlocale(LC_MESSAGES, ""); setlocale(LC_CTYPE, "C.UTF-8"); bindtextdomain("qemu", CONFIG_QEMU_LOCALEDIR); + bind_textdomain_codeset("qemu", "UTF-8"); textdomain("qemu"); window_display = gtk_widget_get_display(s->window);