qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Fix video playback slowdown when spice client no audio enabled


From: zhou qi
Subject: [PATCH] Fix video playback slowdown when spice client no audio enabled
Date: Thu, 10 Sep 2020 11:17:13 +0000

From e8c2e283f0954de255a32ea70d577d5e61992399 Mon Sep 17 00:00:00 2001
From: Qi Zhou <atmgnd@outlook.com>
Date: Thu, 10 Sep 2020 19:09:29 +0800
Subject: [PATCH] Fix video playback slowdown when spice client no audio enabled

You will get video playback slowdown on the following cases

1. use official spice client with audio channel disabled, use 
--spice-disable-audio
   option
2. thirtpart client doesn't implement audio channel

ref: 
https://github.com/qemu/qemu/commit/fb35c2cec58985f0b8d2733f1b91927542eeb3fd
Signed-off-by: Qi Zhou <atmgnd@outlook.com>
---
 audio/audio.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/audio/audio.c b/audio/audio.c
index ce8c6dec5f..50febe190f 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -1091,7 +1091,11 @@ static size_t audio_pcm_hw_run_out(HWVoiceOut *hw, 
size_t live)
     while (live) {
         size_t size, decr, proc;
         void *buf = hw->pcm_ops->get_buffer_out(hw, &size);
-        if (!buf || size == 0) {
+
+        if (!buf) {
+            hw->mix_buf->pos = (hw->mix_buf->pos + live) % hw->mix_buf->size;
+            return clipped + live;
+        } else if ( size == 0) {
             break;
         }
 
-- 
2.17.1

reply via email to

[Prev in Thread] Current Thread [Next in Thread]