From patchwork Fri Sep 11 11:53:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: qi zhou X-Patchwork-Id: 1362399 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=outlook.com header.i=@outlook.com header.a=rsa-sha256 header.s=selector1 header.b=E0QxvY17; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Bnvgx5f88z9sTS for ; Fri, 11 Sep 2020 22:09:32 +1000 (AEST) Received: from localhost ([::1]:44224 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kGhrs-0007Kc-LB for incoming@patchwork.ozlabs.org; Fri, 11 Sep 2020 08:09:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kGhrc-0007KS-5P for qemu-devel@nongnu.org; Fri, 11 Sep 2020 08:09:12 -0400 Received: from mail-oln040092253103.outbound.protection.outlook.com ([40.92.253.103]:39520 helo=APC01-SG2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kGhra-00062X-2u for qemu-devel@nongnu.org; Fri, 11 Sep 2020 08:09:11 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NiYVYGPlrISHuLKGsJNU/J6mXOEjtWbB4lmLCRFPR4WzzJWlKiXtXbhy+FzD7LC1RZnleRNCY7qYFOVAKG+zDkgItxOnjYoaySgQQbZlhOrSwE9ug2e9D8bVPhef7ypBM8QEMVC9HrONtLJ/yoq+Dqqb97x2YCxAQqMoSEa4NgWpkCLu3tx5tG+CFuwcBDejRqN/dNNr0kPY2iLdL1Ub2T8k+Hbk1VYLZ+CQ7v95wkvn4BbJQCtnViJXpCu33DpiKyIIAbB/vV/IKY00VM51Z5PxRxnCC4WQrgk7HoRukBJuy98U3Tmd0qJ8HeGFnM+Up/wcC+9dCDb5XpskzSrSLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dfSNojWlY9msgfa0aH49aKi2sC+f09i45QemLUH3zCI=; b=EAF3yhc1nPtOslEW5d5SjdN31feh9+eSGvgLkWMdRfzLh+M+27JIKWl3d5wUyyNOV8nJKRcwBv1AerrgmbrxqxvtroPykR3Icq6NmI+H3AjeUKPfCyxX2oKL+5tfH8cH+GYX/bxmZN3L8dA1e8Vyv4SWmuypyf15MGkT61B8P2+268L/TWiijec+huc355Qr4T8JTEgWEPGSO8iz6siN5YOJQQUhH8XYZuf0soooSV5YGVmVZ4ukcWDMKuFHcgUOSxYmLIvLc/I5k9ckaG94B+IaNWz0dHWYVwr4dLe0JwR6jLWdYdL3GkMHAQSqfIL2B703by1dubLamUfSskLaYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dfSNojWlY9msgfa0aH49aKi2sC+f09i45QemLUH3zCI=; b=E0QxvY17mTjvrBQ+Rny0C+holVSE934N5BmZzvFlh/BWFanLjcVt1UhWtMwLLwVt1fPhebaJUzZV3AxWPVldk745/Sf0O7c9ma0/omXO1mCeeXIn5TffXVFV1uTXeauvgjttp9CD85Jix99lAstId6u1Ypc4ckbOcevxjRsPJj4OehXXAmDXfec79Bd/VDqec9VvN2IV+dElmM7ntf0BOcT5RtsAIyW6YEXN5IyPXL0SqM6KIvFTsVB0uPgs1U8+42koFe3ssJ2apzQutGTiMQz07vf+p4iaptOPZggNTd6eNpNmf51FZYaNvQSH6TDvBIDMH1pGTKE8O+f4SawywQ== Received: from HK2APC01FT012.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebc::50) by HK2APC01HT203.eop-APC01.prod.protection.outlook.com (2a01:111:e400:7ebc::355) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Fri, 11 Sep 2020 11:53:56 +0000 Received: from SYBP282MB0012.AUSP282.PROD.OUTLOOK.COM (10.152.248.60) by HK2APC01FT012.mail.protection.outlook.com (10.152.248.165) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16 via Frontend Transport; Fri, 11 Sep 2020 11:53:56 +0000 Received: from SYBP282MB0012.AUSP282.PROD.OUTLOOK.COM ([fe80::69c8:4a0a:9647:972f]) by SYBP282MB0012.AUSP282.PROD.OUTLOOK.COM ([fe80::69c8:4a0a:9647:972f%6]) with mapi id 15.20.3370.017; Fri, 11 Sep 2020 11:53:56 +0000 From: zhou qi To: "DirtY.iCE.hu@gmail.com" , "qemu-devel@nongnu.org" Subject: =?utf-8?q?=E8=BD=AC=E5=8F=91=3A_=5BPATCH_RESEND=5D_Fix_video_playba?= =?utf-8?q?ck_slowdown_when_spice_client_no_audio_enabled?= Thread-Topic: [PATCH RESEND] Fix video playback slowdown when spice client no audio enabled Thread-Index: AQHWiDI6at0TaITbzk2yFrosmHXFkQ== Date: Fri, 11 Sep 2020 11:53:56 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:0371851A5E7B9F0C68C31C5A0D526BF10AF79F451B333181D3924E3E764971F3; UpperCasedChecksum:E513796088DC452173C55B3E0009FF9CC3D3ACBC8E5B54C454EE6573E3447D23; SizeAsReceived:2973; Count:43 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [vL75E4LPXN1/N0xRrkgf5Iac/N25Go21ZsY6uWs2Brc=] x-ms-publictraffictype: Email x-incomingheadercount: 43 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: f2216fad-24a7-47a5-5a07-08d856495cde x-ms-traffictypediagnostic: HK2APC01HT203: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5WlIgeoF2N7luio605Xq90fzs06tWRKDHUTgDU1txU6HyDWxBHB6EoaLHsBjXjdt5/nAvn16wIFMC15B+7Q6lxTMbidKsMJFEkp7VYeOfIrigz1Kc8tq8zI/qvqyZ678bTQlVCHl+eRwtk9pvmMhs5jCpuzWhyO2zmutdeEQwzMFa0QPtlsHwmZzi76O5L41Trl5bxgxAxMfSqdrGsrW3UY5LveS+I+bpBBBT8Ld0xU= x-ms-exchange-antispam-messagedata: o0H+GRNWdzhbu659kRyRVXyLS0okLaKqd+/XpllNvcF/pNbfMq7/UJy9WsDWEyNbid1J8jopCncLXiwiXNAu7xv92X5j+eJaNQTnklGLHs04ntO/wLyCETTQA7Fi/CBz8SF+MMFYJKHC99Ap8Wwwhg== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-AuthSource: HK2APC01FT012.eop-APC01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: f2216fad-24a7-47a5-5a07-08d856495cde X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Sep 2020 11:53:56.2123 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2APC01HT203 Received-SPF: pass client-ip=40.92.253.103; envelope-from=atmgnd@outlook.com; helo=APC01-SG2-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/11 08:09:06 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.999, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Because I don't received any feedback, so i have decide resend again. with more detail. @DirtY.iCE.hu, Can you review this patch? or someone else has time ? Issue: video playback slowdown, using spice client --spice-disable-audio option How to reproduce: 1. compile qemu master for x86_64 target with spice enabled. 2. laucher a windows 7 virtual machine with some like: qemu-system-x86_64 --enable-kvm -M q35,accel=kvm -display none -spice port=5907,addr=0.0.0.0,disable-ticketing -device intel-hda,id=s0 -device hda-duplex,id=s0-codec0,bus=s0.0,cad=0 3. connect the virtual machine using official remote-viewer without spice audio channel. which is: remote-viewer spice://localhost:5907 --spice-disable-audio 4. open windows sample video using default media player. video location: C:\Users\Public\Videos\Sample Videos\Wildlife.wmv You will see the video playback speed is very slow. I HAVE TEST QEMU 4.2.1 DOES NOT HAVE THIS ISSUE. And I believe this issue was indroduced by this commit: https://github.com/qemu/qemu/commit/fb35c2cec58985f0b8d2733f1b91927542eeb3fd best regards 发件人: zhou qi 发送时间: 2020年9月10日 19:17 收件人: qemu-devel@nongnu.org 主题: [PATCH] Fix video playback slowdown when spice client no audio enabled   From e8c2e283f0954de255a32ea70d577d5e61992399 Mon Sep 17 00:00:00 2001 From: Qi Zhou 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 ---  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;          }