Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1726710/?format=api
{ "id": 1726710, "url": "http://patchwork.ozlabs.org/api/patches/1726710/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20230115131224.30751-3-volker.ruemelin@t-online.de/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20230115131224.30751-3-volker.ruemelin@t-online.de>", "list_archive_url": null, "date": "2023-01-15T13:12:10", "name": "[03/17] audio: make the resampling code greedy", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "1dce3b3afb3ac54f8d666aacbd22b7ea93863b4a", "submitter": { "id": 83211, "url": "http://patchwork.ozlabs.org/api/people/83211/?format=api", "name": "Volker Rümelin", "email": "volker.ruemelin@t-online.de" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20230115131224.30751-3-volker.ruemelin@t-online.de/mbox/", "series": [ { "id": 336714, "url": "http://patchwork.ozlabs.org/api/series/336714/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=336714", "date": "2023-01-15T13:08:29", "name": "[01/17] audio: change type of mix_buf and conv_buf", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/336714/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1726710/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1726710/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=<UNKNOWN>)", "Received": [ "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4NvwZ81hT9z23g1\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 16 Jan 2023 00:13:04 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1pH2oP-0003yp-N2; Sun, 15 Jan 2023 08:12:37 -0500", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <volker.ruemelin@t-online.de>)\n id 1pH2oN-0003yH-33\n for qemu-devel@nongnu.org; Sun, 15 Jan 2023 08:12:35 -0500", "from mailout02.t-online.de ([194.25.134.17])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <volker.ruemelin@t-online.de>)\n id 1pH2oL-00058h-6I\n for qemu-devel@nongnu.org; Sun, 15 Jan 2023 08:12:34 -0500", "from fwd79.dcpf.telekom.de (fwd79.aul.t-online.de [10.223.144.105])\n by mailout02.t-online.de (Postfix) with SMTP id 2812D13B16;\n Sun, 15 Jan 2023 14:12:31 +0100 (CET)", "from linpower.localnet ([79.208.25.151]) by fwd79.t-online.de\n with (TLSv1.3:TLS_AES_256_GCM_SHA384 encrypted)\n esmtp id 1pH2oH-3NGUb30; Sun, 15 Jan 2023 14:12:29 +0100", "by linpower.localnet (Postfix, from userid 1000)\n id 576D520062B; Sun, 15 Jan 2023 14:12:24 +0100 (CET)" ], "From": "=?utf-8?q?Volker_R=C3=BCmelin?= <volker.ruemelin@t-online.de>", "To": "Gerd Hoffmann <kraxel@redhat.com>", "Cc": "qemu-devel@nongnu.org", "Subject": "[PATCH 03/17] audio: make the resampling code greedy", "Date": "Sun, 15 Jan 2023 14:12:10 +0100", "Message-Id": "<20230115131224.30751-3-volker.ruemelin@t-online.de>", "X-Mailer": "git-send-email 2.35.3", "In-Reply-To": "<61bd351f-0683-7f58-b746-66c9578a7cdc@t-online.de>", "References": "<61bd351f-0683-7f58-b746-66c9578a7cdc@t-online.de>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-TOI-MSGID": "bc3def23-dace-4837-a75c-6e6f6e4ca583", "Received-SPF": "none client-ip=194.25.134.17;\n envelope-from=volker.ruemelin@t-online.de; helo=mailout02.t-online.de", "X-Spam_score_int": "-25", "X-Spam_score": "-2.6", "X-Spam_bar": "--", "X-Spam_report": "(-2.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FROM=0.001,\n RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,\n SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no", "X-Spam_action": "no action", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "From: Volker Rümelin <vr_qemu@t-online.de>\n\nRead the maximum possible number of audio frames instead of the\nminimum necessary number of frames when the audio stream is\ndownsampled and the output buffer is limited. This makes the\nfunction symmetrical to upsampling when the input buffer is\nlimited. The maximum possible number of frames is written here.\n\nWith this change it's easier to calculate the exact number of\naudio frames the resample function will read or write. These two\nfunctions will be introduced later.\n\nSigned-off-by: Volker Rümelin <vr_qemu@t-online.de>\n---\n audio/rate_template.h | 21 +++++++++++++--------\n 1 file changed, 13 insertions(+), 8 deletions(-)", "diff": "diff --git a/audio/rate_template.h b/audio/rate_template.h\nindex b432719ebb..6648f0d2e5 100644\n--- a/audio/rate_template.h\n+++ b/audio/rate_template.h\n@@ -40,8 +40,6 @@ void NAME (void *opaque, struct st_sample *ibuf, struct st_sample *obuf,\n int64_t t;\n #endif\n \n- ilast = rate->ilast;\n-\n istart = ibuf;\n iend = ibuf + *isamp;\n \n@@ -59,15 +57,17 @@ void NAME (void *opaque, struct st_sample *ibuf, struct st_sample *obuf,\n return;\n }\n \n- while (obuf < oend) {\n+ /* without input samples, there's nothing to do */\n+ if (ibuf >= iend) {\n+ *osamp = 0;\n+ return;\n+ }\n \n- /* Safety catch to make sure we have input samples. */\n- if (ibuf >= iend) {\n- break;\n- }\n+ ilast = rate->ilast;\n \n- /* read as many input samples so that ipos > opos */\n+ while (true) {\n \n+ /* read as many input samples so that ipos > opos */\n while (rate->ipos <= (rate->opos >> 32)) {\n ilast = *ibuf++;\n rate->ipos++;\n@@ -78,6 +78,11 @@ void NAME (void *opaque, struct st_sample *ibuf, struct st_sample *obuf,\n }\n }\n \n+ /* make sure that the next output sample can be written */\n+ if (obuf >= oend) {\n+ break;\n+ }\n+\n icur = *ibuf;\n \n /* wrap ipos and opos around long before they overflow */\n", "prefixes": [ "03/17" ] }