get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2196811/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2196811,
    "url": "http://patchwork.ozlabs.org/api/patches/2196811/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260216-audio-v1-37-e676662e4514@redhat.com/",
    "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": "<20260216-audio-v1-37-e676662e4514@redhat.com>",
    "list_archive_url": null,
    "date": "2026-02-16T11:15:26",
    "name": "[37/85] audio: AUD_ -> audio_be_",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "51c19a38359eb635049d3f06b63873792dbbff57",
    "submitter": {
        "id": 66774,
        "url": "http://patchwork.ozlabs.org/api/people/66774/?format=api",
        "name": "Marc-André Lureau",
        "email": "marcandre.lureau@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260216-audio-v1-37-e676662e4514@redhat.com/mbox/",
    "series": [
        {
            "id": 492294,
            "url": "http://patchwork.ozlabs.org/api/series/492294/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=492294",
            "date": "2026-02-16T11:14:52",
            "name": "audio: cleanups & add a manual test",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492294/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2196811/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2196811/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\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=fMCjT1T+;\n\tdkim-atps=neutral",
            "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=patchwork.ozlabs.org)"
        ],
        "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 4fF0hV5hPpz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 16 Feb 2026 22:21:14 +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 1vrweB-00028Z-4b; Mon, 16 Feb 2026 06:20:11 -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 <marcandre.lureau@redhat.com>)\n id 1vrwbd-0005mQ-BK\n for qemu-devel@nongnu.org; Mon, 16 Feb 2026 06:17:38 -0500",
            "from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <marcandre.lureau@redhat.com>)\n id 1vrwbY-0007y9-T5\n for qemu-devel@nongnu.org; Mon, 16 Feb 2026 06:17:33 -0500",
            "from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-619-AV3b09vbMyqYLKG3FayO9Q-1; Mon,\n 16 Feb 2026 06:17:23 -0500",
            "from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 947471956060; Mon, 16 Feb 2026 11:17:21 +0000 (UTC)",
            "from localhost (unknown [10.45.242.26])\n by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id 96C4E19560AD; Mon, 16 Feb 2026 11:17:20 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1771240647;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=ap0S4LWJvucVKeZmrmzMkcAQf2pEpTk0m/36qIAyWl8=;\n b=fMCjT1T+zQuJNZWiAXaqwRrQUHSrR00+NUIaGQON1Rw7VKk4c0t46/cBn4REOf43lzuq4Y\n PzWqcYBwMiGo7MVzjHXMug0+WC2Ii4CM73H3nutdydUvbpNnJhIo0ZGdJ4xv5GaoGqulco\n FuD+5MqVmUxZV0V+Ly/KZotjv2rvcuA=",
        "X-MC-Unique": "AV3b09vbMyqYLKG3FayO9Q-1",
        "X-Mimecast-MFC-AGG-ID": "AV3b09vbMyqYLKG3FayO9Q_1771240641",
        "From": "=?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>",
        "Date": "Mon, 16 Feb 2026 12:15:26 +0100",
        "Subject": "[PATCH 37/85] audio: AUD_ -> audio_be_",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "8bit",
        "Message-Id": "<20260216-audio-v1-37-e676662e4514@redhat.com>",
        "References": "<20260216-audio-v1-0-e676662e4514@redhat.com>",
        "In-Reply-To": "<20260216-audio-v1-0-e676662e4514@redhat.com>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "Gerd Hoffmann <kraxel@redhat.com>,  Eduardo Habkost <eduardo@habkost.net>,\n Paolo Bonzini <pbonzini@redhat.com>,\n =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, =?utf-8?q?Phil?=\n\t=?utf-8?q?ippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,\n  John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>,\n  Christian Schoenebeck <qemu_oss@crudebyte.com>,\n  Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,\n  Thomas Huth <huth@tuxfamily.org>, Alexandre Ratchov <alex@caoua.org>,\n\t=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,\n  Laurent Vivier <laurent@vivier.eu>, \"Michael S. Tsirkin\" <mst@redhat.com>,\n  Manos Pitsidianakis <manos.pitsidianakis@linaro.org>,\n  Alistair Francis <alistair@alistair23.me>,\n  \"Edgar E. Iglesias\" <edgar.iglesias@gmail.com>,\n  Peter Maydell <peter.maydell@linaro.org>, qemu-arm@nongnu.org, =?utf-8?q?M?=\n\t=?utf-8?q?arc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,\n  Mark Cave-Ayland <mark.caveayland@nutanix.com>",
        "X-Developer-Signature": "v=1; a=openpgp-sha256; l=76724;\n i=marcandre.lureau@redhat.com; h=from:subject:message-id;\n bh=t6Sh08OfeLc4FMHkmtlZtOKlLH2/E9kYSD7JJlCLSEw=;\n b=owEBbQKS/ZANAwAKAdro4Ql1lpzlAcsmYgBpkvxQfBoE70xLIia133zE4n7nrDEcmwf/NndSo\n dGFI/4pOpyJAjMEAAEKAB0WIQSHqb2TP4fGBtJ29i3a6OEJdZac5QUCaZL8UAAKCRDa6OEJdZac\n 5ZuED/wNb3mgce7oTV+d+2sJe/ofmeKLf6hjd0m/m+gVDalwXiw8XlcFJg0mTw+8wBtGfNGaxf5\n YwpbtSg4rm4H5pNLw97CeZJtNZDGCy9PgrVSuPTNntEPpNONvUAJnQjb1SPuQr12GCuXGnWhmKe\n WqF1ITxVS2SyE94O2miUSGRSoFjyCTgJboamKgMPoL+8JeGqu4aFtENYn2emJzybHZ0M+YRdJP8\n lcdiDYCLfS12mE7wDVnRD3C0sGZV84mP181QOT/HSL2E5vS6wwi3bv+9n/souzzftImrOpquLKa\n a/nDOgb2Ovc9uTEcc3iit1Hi4j2O4EYOY8bwX/EJtRqL4Cg5OzySwqBDvEK0pSy15AKT2gbkqsd\n z287gro+kbEbW7svRNVLNMxNG+IsLtTNW/dkaLp0X4RfEGa0uX+JM/Zllc/G4c5r4DO8BMQHZON\n 2sg8iFxIn//6a3v70ZCQMOsy2kb5+adR4uCkQeEFELSD45xczvph0Az9Ea2T2FkKDyjs82iSTkL\n dj9gS4b34EdTQf1I6iauao8f1+PWAklZPxs/ahFKYdNc5Myn97663ce48noLAdNezvOPgcDhGTX\n 78/a+TzhjGbpEVVMOgaGs3q6rF1tqzi+iaHTbN5K0V/FFksvf8tm7nDaZntLnLJsJ2WWfFdzeIa\n 54xm0Q6y2Hd+j6A==",
        "X-Developer-Key": "i=marcandre.lureau@redhat.com; a=openpgp;\n fpr=87A9BD933F87C606D276F62DDAE8E10975969CE5",
        "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.12",
        "Received-SPF": "pass client-ip=170.10.129.124;\n envelope-from=marcandre.lureau@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com",
        "X-Spam_score_int": "-20",
        "X-Spam_score": "-2.1",
        "X-Spam_bar": "--",
        "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001,\n T_FILL_THIS_FORM_SHORT=0.01 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 development <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": "Use the associate AudioBackend prefix for readability.\n\nSigned-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>\nReviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>\n---\n audio/audio_template.h       |   4 +-\n include/qemu/audio-capture.h |   4 +-\n include/qemu/audio.h         |  43 ++++++++--------\n audio/audio-be.c             |  32 ++++++------\n audio/wavcapture.c           |   4 +-\n hw/audio/ac97.c              |  42 ++++++++--------\n hw/audio/adlib.c             |  10 ++--\n hw/audio/asc.c               |  20 ++++----\n hw/audio/cs4231a.c           |  18 +++----\n hw/audio/es1370.c            |  26 +++++-----\n hw/audio/gus.c               |  10 ++--\n hw/audio/hda-codec.c         |  40 ++++++++-------\n hw/audio/lm4549.c            |  20 ++++----\n hw/audio/pcspk.c             |   8 +--\n hw/audio/sb16.c              |  22 ++++----\n hw/audio/via-ac97.c          |  20 ++++----\n hw/audio/virtio-snd.c        |  34 ++++++-------\n hw/audio/wm8750.c            |  43 ++++++++--------\n hw/display/xlnx_dp.c         |  16 +++---\n hw/usb/dev-audio.c           |  18 +++----\n tests/audio/test-audio.c     | 116 +++++++++++++++++++++----------------------\n ui/vnc.c                     |   4 +-\n 22 files changed, 278 insertions(+), 276 deletions(-)",
    "diff": "diff --git a/audio/audio_template.h b/audio/audio_template.h\nindex a7733f9e1d9..77a70d6e56a 100644\n--- a/audio/audio_template.h\n+++ b/audio/audio_template.h\n@@ -527,7 +527,7 @@ static SW *glue(audio_mixeng_backend_open_, TYPE) (\n     }\n \n     if (!pdo->fixed_settings && sw) {\n-        glue(AUD_close_, TYPE)(be, sw);\n+        glue(audio_be_close_, TYPE)(be, sw);\n         sw = NULL;\n     }\n \n@@ -564,7 +564,7 @@ static SW *glue(audio_mixeng_backend_open_, TYPE) (\n     return sw;\n \n  fail:\n-    glue(AUD_close_, TYPE)(be, sw);\n+    glue(audio_be_close_, TYPE)(be, sw);\n     return NULL;\n }\n \ndiff --git a/include/qemu/audio-capture.h b/include/qemu/audio-capture.h\nindex 5bfbdd02985..d7998232243 100644\n--- a/include/qemu/audio-capture.h\n+++ b/include/qemu/audio-capture.h\n@@ -19,13 +19,13 @@ typedef struct CaptureState {\n     QLIST_ENTRY(CaptureState) entries;\n } CaptureState;\n \n-CaptureVoiceOut *AUD_add_capture(\n+CaptureVoiceOut *audio_be_add_capture(\n     AudioBackend *be,\n     struct audsettings *as,\n     struct audio_capture_ops *ops,\n     void *opaque);\n \n-void AUD_del_capture(\n+void audio_be_del_capture(\n     AudioBackend *be,\n     CaptureVoiceOut *cap,\n     void *cb_opaque);\ndiff --git a/include/qemu/audio.h b/include/qemu/audio.h\nindex 9f85c6316a8..42f97f732a6 100644\n--- a/include/qemu/audio.h\n+++ b/include/qemu/audio.h\n@@ -109,11 +109,11 @@ typedef struct AudioBackendClass {\n #endif\n } AudioBackendClass;\n \n-bool AUD_backend_check(AudioBackend **be, Error **errp);\n+bool audio_be_check(AudioBackend **be, Error **errp);\n \n AudioBackend *audio_be_new(Audiodev *dev, Error **errp);\n \n-SWVoiceOut *AUD_open_out(\n+SWVoiceOut *audio_be_open_out(\n     AudioBackend *be,\n     SWVoiceOut *sw,\n     const char *name,\n@@ -121,34 +121,33 @@ SWVoiceOut *AUD_open_out(\n     audio_callback_fn callback_fn,\n     const struct audsettings *settings);\n \n-void AUD_close_out(AudioBackend *be, SWVoiceOut *sw);\n-size_t AUD_write(AudioBackend *be, SWVoiceOut *sw, void *pcm_buf, size_t size);\n-int  AUD_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw);\n-void AUD_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on);\n-bool AUD_is_active_out(AudioBackend *be, SWVoiceOut *sw);\n+void audio_be_close_out(AudioBackend *be, SWVoiceOut *sw);\n+size_t audio_be_write(AudioBackend *be, SWVoiceOut *sw, void *pcm_buf, size_t size);\n+int  audio_be_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw);\n+void audio_be_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on);\n+bool audio_be_is_active_out(AudioBackend *be, SWVoiceOut *sw);\n \n-void AUD_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol);\n-void AUD_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol);\n+\n+void audio_be_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol);\n+void audio_be_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol);\n \n static inline void\n-AUD_set_volume_out_lr(AudioBackend *be, SWVoiceOut *sw,\n-                      bool mut, uint8_t lvol, uint8_t rvol)\n-{\n-    AUD_set_volume_out(be, sw, &(Volume) {\n+audio_be_set_volume_out_lr(AudioBackend *be, SWVoiceOut *sw,\n+                           bool mut, uint8_t lvol, uint8_t rvol) {\n+    audio_be_set_volume_out(be, sw, &(Volume) {\n         .mute = mut, .channels = 2, .vol = { lvol, rvol }\n     });\n }\n \n static inline void\n-AUD_set_volume_in_lr(AudioBackend *be, SWVoiceIn *sw,\n-                     bool mut, uint8_t lvol, uint8_t rvol)\n-{\n-    AUD_set_volume_in(be, sw, &(Volume) {\n+audio_be_set_volume_in_lr(AudioBackend *be, SWVoiceIn *sw,\n+                          bool mut, uint8_t lvol, uint8_t rvol) {\n+    audio_be_set_volume_in(be, sw, &(Volume) {\n         .mute = mut, .channels = 2, .vol = { lvol, rvol }\n     });\n }\n \n-SWVoiceIn *AUD_open_in(\n+SWVoiceIn *audio_be_open_in(\n     AudioBackend *be,\n     SWVoiceIn *sw,\n     const char *name,\n@@ -157,10 +156,10 @@ SWVoiceIn *AUD_open_in(\n     const struct audsettings *settings\n     );\n \n-void AUD_close_in(AudioBackend *be, SWVoiceIn *sw);\n-size_t AUD_read(AudioBackend *be, SWVoiceIn *sw, void *pcm_buf, size_t size);\n-void AUD_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on);\n-bool AUD_is_active_in(AudioBackend *be, SWVoiceIn *sw);\n+void audio_be_close_in(AudioBackend *be, SWVoiceIn *sw);\n+size_t audio_be_read(AudioBackend *be, SWVoiceIn *sw, void *pcm_buf, size_t size);\n+void audio_be_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on);\n+bool audio_be_is_active_in(AudioBackend *be, SWVoiceIn *sw);\n \n void audio_cleanup(void);\n \ndiff --git a/audio/audio-be.c b/audio/audio-be.c\nindex 51fb124026a..4d3b1e2bafd 100644\n--- a/audio/audio-be.c\n+++ b/audio/audio-be.c\n@@ -5,7 +5,7 @@\n #include \"qemu/audio-capture.h\"\n #include \"qapi/error.h\"\n \n-bool AUD_backend_check(AudioBackend **be, Error **errp)\n+bool audio_be_check(AudioBackend **be, Error **errp)\n {\n     assert(be != NULL);\n \n@@ -19,7 +19,7 @@ bool AUD_backend_check(AudioBackend **be, Error **errp)\n     return true;\n }\n \n-SWVoiceIn *AUD_open_in(\n+SWVoiceIn *audio_be_open_in(\n     AudioBackend *be,\n     SWVoiceIn *sw,\n     const char *name,\n@@ -32,7 +32,7 @@ SWVoiceIn *AUD_open_in(\n     return klass->open_in(be, sw, name, callback_opaque, callback_fn, as);\n }\n \n-SWVoiceOut *AUD_open_out(\n+SWVoiceOut *audio_be_open_out(\n     AudioBackend *be,\n     SWVoiceOut *sw,\n     const char *name,\n@@ -45,84 +45,84 @@ SWVoiceOut *AUD_open_out(\n     return klass->open_out(be, sw, name, callback_opaque, callback_fn, as);\n }\n \n-void AUD_close_out(AudioBackend *be, SWVoiceOut *sw)\n+void audio_be_close_out(AudioBackend *be, SWVoiceOut *sw)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->close_out(be, sw);\n }\n \n-void AUD_close_in(AudioBackend *be, SWVoiceIn *sw)\n+void audio_be_close_in(AudioBackend *be, SWVoiceIn *sw)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->close_in(be, sw);\n }\n \n-bool AUD_is_active_out(AudioBackend *be, SWVoiceOut *sw)\n+bool audio_be_is_active_out(AudioBackend *be, SWVoiceOut *sw)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->is_active_out(be, sw);\n }\n \n-bool AUD_is_active_in(AudioBackend *be, SWVoiceIn *sw)\n+bool audio_be_is_active_in(AudioBackend *be, SWVoiceIn *sw)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->is_active_in(be, sw);\n }\n \n-size_t AUD_write(AudioBackend *be, SWVoiceOut *sw, void *buf, size_t size)\n+size_t audio_be_write(AudioBackend *be, SWVoiceOut *sw, void *buf, size_t size)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->write(be, sw, buf, size);\n }\n \n-size_t AUD_read(AudioBackend *be, SWVoiceIn *sw, void *buf, size_t size)\n+size_t audio_be_read(AudioBackend *be, SWVoiceIn *sw, void *buf, size_t size)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->read(be, sw, buf, size);\n }\n \n-int AUD_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw)\n+int audio_be_get_buffer_size_out(AudioBackend *be, SWVoiceOut *sw)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->get_buffer_size_out(be, sw);\n }\n \n-void AUD_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on)\n+void audio_be_set_active_out(AudioBackend *be, SWVoiceOut *sw, bool on)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->set_active_out(be, sw, on);\n }\n \n-void AUD_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on)\n+void audio_be_set_active_in(AudioBackend *be, SWVoiceIn *sw, bool on)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     return klass->set_active_in(be, sw, on);\n }\n \n-void AUD_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol)\n+void audio_be_set_volume_out(AudioBackend *be, SWVoiceOut *sw, Volume *vol)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     klass->set_volume_out(be, sw, vol);\n }\n \n-void AUD_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol)\n+void audio_be_set_volume_in(AudioBackend *be, SWVoiceIn *sw, Volume *vol)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \n     klass->set_volume_in(be, sw, vol);\n }\n \n-CaptureVoiceOut *AUD_add_capture(\n+CaptureVoiceOut *audio_be_add_capture(\n     AudioBackend *be,\n     struct audsettings *as,\n     struct audio_capture_ops *ops,\n@@ -133,7 +133,7 @@ CaptureVoiceOut *AUD_add_capture(\n     return klass->add_capture(be, as, ops, cb_opaque);\n }\n \n-void AUD_del_capture(AudioBackend *be, CaptureVoiceOut *cap, void *cb_opaque)\n+void audio_be_del_capture(AudioBackend *be, CaptureVoiceOut *cap, void *cb_opaque)\n {\n     AudioBackendClass *klass = AUDIO_BACKEND_GET_CLASS(be);\n \ndiff --git a/audio/wavcapture.c b/audio/wavcapture.c\nindex 2950ceaf242..69aa91e35f6 100644\n--- a/audio/wavcapture.c\n+++ b/audio/wavcapture.c\n@@ -86,7 +86,7 @@ static void wav_capture_destroy (void *opaque)\n {\n     WAVState *wav = opaque;\n \n-    AUD_del_capture(wav->audio_be, wav->cap, wav);\n+    audio_be_del_capture(wav->audio_be, wav->cap, wav);\n     g_free (wav);\n }\n \n@@ -172,7 +172,7 @@ int wav_start_capture(AudioBackend *state, CaptureState *s, const char *path,\n         goto error_free;\n     }\n \n-    cap = AUD_add_capture(wav->audio_be, &as, &ops, wav);\n+    cap = audio_be_add_capture(wav->audio_be, &as, &ops, wav);\n     if (!cap) {\n         error_report(\"Failed to add audio capture\");\n         goto error_free;\ndiff --git a/hw/audio/ac97.c b/hw/audio/ac97.c\nindex 65a4141b8af..5d442b7e067 100644\n--- a/hw/audio/ac97.c\n+++ b/hw/audio/ac97.c\n@@ -246,15 +246,15 @@ static void voice_set_active(AC97LinkState *s, int bm_index, int on)\n {\n     switch (bm_index) {\n     case PI_INDEX:\n-        AUD_set_active_in(s->audio_be, s->voice_pi, on);\n+        audio_be_set_active_in(s->audio_be, s->voice_pi, on);\n         break;\n \n     case PO_INDEX:\n-        AUD_set_active_out(s->audio_be, s->voice_po, on);\n+        audio_be_set_active_out(s->audio_be, s->voice_po, on);\n         break;\n \n     case MC_INDEX:\n-        AUD_set_active_in(s->audio_be, s->voice_mc, on);\n+        audio_be_set_active_in(s->audio_be, s->voice_mc, on);\n         break;\n \n     default:\n@@ -319,7 +319,7 @@ static void open_voice(AC97LinkState *s, int index, int freq)\n         s->invalid_freq[index] = 0;\n         switch (index) {\n         case PI_INDEX:\n-            s->voice_pi = AUD_open_in(\n+            s->voice_pi = audio_be_open_in(\n                 s->audio_be,\n                 s->voice_pi,\n                 \"ac97.pi\",\n@@ -330,7 +330,7 @@ static void open_voice(AC97LinkState *s, int index, int freq)\n             break;\n \n         case PO_INDEX:\n-            s->voice_po = AUD_open_out(\n+            s->voice_po = audio_be_open_out(\n                 s->audio_be,\n                 s->voice_po,\n                 \"ac97.po\",\n@@ -341,7 +341,7 @@ static void open_voice(AC97LinkState *s, int index, int freq)\n             break;\n \n         case MC_INDEX:\n-            s->voice_mc = AUD_open_in(\n+            s->voice_mc = audio_be_open_in(\n                 s->audio_be,\n                 s->voice_mc,\n                 \"ac97.mc\",\n@@ -355,17 +355,17 @@ static void open_voice(AC97LinkState *s, int index, int freq)\n         s->invalid_freq[index] = freq;\n         switch (index) {\n         case PI_INDEX:\n-            AUD_close_in(s->audio_be, s->voice_pi);\n+            audio_be_close_in(s->audio_be, s->voice_pi);\n             s->voice_pi = NULL;\n             break;\n \n         case PO_INDEX:\n-            AUD_close_out(s->audio_be, s->voice_po);\n+            audio_be_close_out(s->audio_be, s->voice_po);\n             s->voice_po = NULL;\n             break;\n \n         case MC_INDEX:\n-            AUD_close_in(s->audio_be, s->voice_mc);\n+            audio_be_close_in(s->audio_be, s->voice_mc);\n             s->voice_mc = NULL;\n             break;\n         }\n@@ -378,15 +378,15 @@ static void reset_voices(AC97LinkState *s, uint8_t active[LAST_INDEX])\n \n     freq = mixer_load(s, AC97_PCM_LR_ADC_Rate);\n     open_voice(s, PI_INDEX, freq);\n-    AUD_set_active_in(s->audio_be, s->voice_pi, active[PI_INDEX]);\n+    audio_be_set_active_in(s->audio_be, s->voice_pi, active[PI_INDEX]);\n \n     freq = mixer_load(s, AC97_PCM_Front_DAC_Rate);\n     open_voice(s, PO_INDEX, freq);\n-    AUD_set_active_out(s->audio_be, s->voice_po, active[PO_INDEX]);\n+    audio_be_set_active_out(s->audio_be, s->voice_po, active[PO_INDEX]);\n \n     freq = mixer_load(s, AC97_MIC_ADC_Rate);\n     open_voice(s, MC_INDEX, freq);\n-    AUD_set_active_in(s->audio_be, s->voice_mc, active[MC_INDEX]);\n+    audio_be_set_active_in(s->audio_be, s->voice_mc, active[MC_INDEX]);\n }\n \n static void get_volume(uint16_t vol, uint16_t mask, int inverse,\n@@ -416,7 +416,7 @@ static void update_combined_volume_out(AC97LinkState *s)\n     lvol = (lvol * plvol) / 255;\n     rvol = (rvol * prvol) / 255;\n \n-    AUD_set_volume_out_lr(s->audio_be, s->voice_po, mute, lvol, rvol);\n+    audio_be_set_volume_out_lr(s->audio_be, s->voice_po, mute, lvol, rvol);\n }\n \n static void update_volume_in(AC97LinkState *s)\n@@ -427,7 +427,7 @@ static void update_volume_in(AC97LinkState *s)\n     get_volume(mixer_load(s, AC97_Record_Gain_Mute), 0x0f, 0,\n                &mute, &lvol, &rvol);\n \n-    AUD_set_volume_in_lr(s->audio_be, s->voice_pi, mute, lvol, rvol);\n+    audio_be_set_volume_in_lr(s->audio_be, s->voice_pi, mute, lvol, rvol);\n }\n \n static void set_volume(AC97LinkState *s, int index, uint32_t val)\n@@ -904,7 +904,7 @@ static int write_audio(AC97LinkState *s, AC97BusMasterRegs *r,\n         int copied;\n         to_copy = MIN(temp, sizeof(tmpbuf));\n         pci_dma_read(&s->dev, addr, tmpbuf, to_copy);\n-        copied = AUD_write(s->audio_be, s->voice_po, tmpbuf, to_copy);\n+        copied = audio_be_write(s->audio_be, s->voice_po, tmpbuf, to_copy);\n         dolog(\"write_audio max=%x to_copy=%x copied=%x\",\n               max, to_copy, copied);\n         if (!copied) {\n@@ -948,7 +948,7 @@ static void write_bup(AC97LinkState *s, int elapsed)\n     while (elapsed) {\n         int temp = MIN(elapsed, sizeof(s->silence));\n         while (temp) {\n-            int copied = AUD_write(s->audio_be, s->voice_po, s->silence, temp);\n+            int copied = audio_be_write(s->audio_be, s->voice_po, s->silence, temp);\n             if (!copied) {\n                 return;\n             }\n@@ -978,7 +978,7 @@ static int read_audio(AC97LinkState *s, AC97BusMasterRegs *r,\n     while (temp) {\n         int acquired;\n         to_copy = MIN(temp, sizeof(tmpbuf));\n-        acquired = AUD_read(s->audio_be, voice, tmpbuf, to_copy);\n+        acquired = audio_be_read(s->audio_be, voice, tmpbuf, to_copy);\n         if (!acquired) {\n             *stop = 1;\n             break;\n@@ -1275,7 +1275,7 @@ static void ac97_realize(PCIDevice *dev, Error **errp)\n     AC97LinkState *s = AC97(dev);\n     uint8_t *c = s->dev.config;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -1301,9 +1301,9 @@ static void ac97_exit(PCIDevice *dev)\n {\n     AC97LinkState *s = AC97(dev);\n \n-    AUD_close_in(s->audio_be, s->voice_pi);\n-    AUD_close_out(s->audio_be, s->voice_po);\n-    AUD_close_in(s->audio_be, s->voice_mc);\n+    audio_be_close_in(s->audio_be, s->voice_pi);\n+    audio_be_close_out(s->audio_be, s->voice_po);\n+    audio_be_close_in(s->audio_be, s->voice_mc);\n }\n \n static const Property ac97_properties[] = {\ndiff --git a/hw/audio/adlib.c b/hw/audio/adlib.c\nindex dd5d9cf6772..ce17e21d5fd 100644\n--- a/hw/audio/adlib.c\n+++ b/hw/audio/adlib.c\n@@ -95,7 +95,7 @@ static void adlib_write(void *opaque, uint32_t nport, uint32_t val)\n     int a = nport & 3;\n \n     s->active = 1;\n-    AUD_set_active_out(s->audio_be, s->voice, 1);\n+    audio_be_set_active_out(s->audio_be, s->voice, 1);\n \n     adlib_kill_timers (s);\n \n@@ -143,7 +143,7 @@ static int write_audio (AdlibState *s, int samples)\n         int nbytes, wbytes, wsampl;\n \n         nbytes = samples << SHIFT;\n-        wbytes = AUD_write(\n+        wbytes = audio_be_write(\n             s->audio_be,\n             s->voice,\n             s->mixbuf + (pos << (SHIFT - 1)),\n@@ -237,7 +237,7 @@ static void adlib_realizefn (DeviceState *dev, Error **errp)\n     AdlibState *s = ADLIB(dev);\n     struct audsettings as;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -256,7 +256,7 @@ static void adlib_realizefn (DeviceState *dev, Error **errp)\n     as.fmt = AUDIO_FORMAT_S16;\n     as.endianness = HOST_BIG_ENDIAN;\n \n-    s->voice = AUD_open_out(\n+    s->voice = audio_be_open_out(\n         s->audio_be,\n         s->voice,\n         \"adlib\",\n@@ -270,7 +270,7 @@ static void adlib_realizefn (DeviceState *dev, Error **errp)\n         return;\n     }\n \n-    s->samples = AUD_get_buffer_size_out(s->audio_be, s->voice) >> SHIFT;\n+    s->samples = audio_be_get_buffer_size_out(s->audio_be, s->voice) >> SHIFT;\n     s->mixbuf = g_malloc0 (s->samples << SHIFT);\n \n     adlib_portio_list[0].offset = s->port;\ndiff --git a/hw/audio/asc.c b/hw/audio/asc.c\nindex 43cd51939a3..35c7b5750d6 100644\n--- a/hw/audio/asc.c\n+++ b/hw/audio/asc.c\n@@ -355,12 +355,12 @@ static void asc_out_cb(void *opaque, int free_b)\n              * loop because the FIFO has run out of data, and the driver\n              * reuses the stale content in its circular audio buffer.\n              */\n-            AUD_write(s->audio_be, s->voice, s->silentbuf, samples << s->shift);\n+            audio_be_write(s->audio_be, s->voice, s->silentbuf, samples << s->shift);\n         }\n         return;\n     }\n \n-    AUD_write(s->audio_be, s->voice, s->mixbuf, generated << s->shift);\n+    audio_be_write(s->audio_be, s->voice, s->mixbuf, generated << s->shift);\n }\n \n static uint64_t asc_fifo_read(void *opaque, hwaddr addr,\n@@ -470,9 +470,9 @@ static void asc_write(void *opaque, hwaddr addr, uint64_t value,\n             asc_fifo_reset(&s->fifos[1]);\n             asc_lower_irq(s);\n             if (value != 0) {\n-                AUD_set_active_out(s->audio_be, s->voice, 1);\n+                audio_be_set_active_out(s->audio_be, s->voice, 1);\n             } else {\n-                AUD_set_active_out(s->audio_be, s->voice, 0);\n+                audio_be_set_active_out(s->audio_be, s->voice, 0);\n             }\n         }\n         break;\n@@ -489,7 +489,7 @@ static void asc_write(void *opaque, hwaddr addr, uint64_t value,\n         {\n             int vol = (value & 0xe0);\n \n-            AUD_set_volume_out_lr(s->audio_be, s->voice, 0, vol, vol);\n+            audio_be_set_volume_out_lr(s->audio_be, s->voice, 0, vol, vol);\n             break;\n         }\n     }\n@@ -545,7 +545,7 @@ static int asc_post_load(void *opaque, int version)\n     ASCState *s = ASC(opaque);\n \n     if (s->regs[ASC_MODE] != 0) {\n-        AUD_set_active_out(s->audio_be, s->voice, 1);\n+        audio_be_set_active_out(s->audio_be, s->voice, 1);\n     }\n \n     return 0;\n@@ -614,7 +614,7 @@ static void asc_reset_hold(Object *obj, ResetType type)\n {\n     ASCState *s = ASC(obj);\n \n-    AUD_set_active_out(s->audio_be, s->voice, 0);\n+    audio_be_set_active_out(s->audio_be, s->voice, 0);\n \n     memset(s->regs, 0, sizeof(s->regs));\n     asc_fifo_reset(&s->fifos[0]);\n@@ -641,7 +641,7 @@ static void asc_realize(DeviceState *dev, Error **errp)\n     ASCState *s = ASC(dev);\n     struct audsettings as;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -650,7 +650,7 @@ static void asc_realize(DeviceState *dev, Error **errp)\n     as.fmt = AUDIO_FORMAT_U8;\n     as.endianness = HOST_BIG_ENDIAN;\n \n-    s->voice = AUD_open_out(s->audio_be, s->voice, \"asc.out\", s, asc_out_cb,\n+    s->voice = audio_be_open_out(s->audio_be, s->voice, \"asc.out\", s, asc_out_cb,\n                             &as);\n     if (!s->voice) {\n         error_setg(errp, \"Initializing audio stream failed\");\n@@ -658,7 +658,7 @@ static void asc_realize(DeviceState *dev, Error **errp)\n     }\n \n     s->shift = 1;\n-    s->samples = AUD_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;\n+    s->samples = audio_be_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;\n     s->mixbuf = g_malloc0(s->samples << s->shift);\n \n     s->silentbuf = g_malloc(s->samples << s->shift);\ndiff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c\nindex 3b8ed092fe4..e6cae9c988e 100644\n--- a/hw/audio/cs4231a.c\n+++ b/hw/audio/cs4231a.c\n@@ -327,7 +327,7 @@ static void cs_reset_voices (CSState *s, uint32_t val)\n         goto error;\n     }\n \n-    s->voice = AUD_open_out(\n+    s->voice = audio_be_open_out(\n         s->audio_be,\n         s->voice,\n         \"cs4231a\",\n@@ -339,7 +339,7 @@ static void cs_reset_voices (CSState *s, uint32_t val)\n     if (s->dregs[Interface_Configuration] & PEN) {\n         if (!s->dma_running) {\n             k->hold_DREQ(s->isa_dma, s->dma);\n-            AUD_set_active_out(s->audio_be, s->voice, 1);\n+            audio_be_set_active_out(s->audio_be, s->voice, 1);\n             s->transferred = 0;\n         }\n         s->dma_running = 1;\n@@ -347,7 +347,7 @@ static void cs_reset_voices (CSState *s, uint32_t val)\n     else {\n         if (s->dma_running) {\n             k->release_DREQ(s->isa_dma, s->dma);\n-            AUD_set_active_out(s->audio_be, s->voice, 0);\n+            audio_be_set_active_out(s->audio_be, s->voice, 0);\n         }\n         s->dma_running = 0;\n     }\n@@ -356,7 +356,7 @@ static void cs_reset_voices (CSState *s, uint32_t val)\n  error:\n     if (s->dma_running) {\n         k->release_DREQ(s->isa_dma, s->dma);\n-        AUD_set_active_out(s->audio_be, s->voice, 0);\n+        audio_be_set_active_out(s->audio_be, s->voice, 0);\n     }\n }\n \n@@ -465,7 +465,7 @@ static void cs_write (void *opaque, hwaddr addr,\n                 if (s->dma_running) {\n                     IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma);\n                     k->release_DREQ(s->isa_dma, s->dma);\n-                    AUD_set_active_out(s->audio_be, s->voice, 0);\n+                    audio_be_set_active_out(s->audio_be, s->voice, 0);\n                     s->dma_running = 0;\n                 }\n             }\n@@ -551,11 +551,11 @@ static int cs_write_audio (CSState *s, int nchan, int dma_pos,\n \n             for (i = 0; i < copied; ++i)\n                 linbuf[i] = s->tab[tmpbuf[i]];\n-            copied = AUD_write(s->audio_be, s->voice, linbuf, copied << 1);\n+            copied = audio_be_write(s->audio_be, s->voice, linbuf, copied << 1);\n             copied >>= 1;\n         }\n         else {\n-            copied = AUD_write(s->audio_be, s->voice, tmpbuf, copied);\n+            copied = audio_be_write(s->audio_be, s->voice, tmpbuf, copied);\n         }\n \n         temp -= copied;\n@@ -614,7 +614,7 @@ static int cs4231a_pre_load (void *opaque)\n     if (s->dma_running) {\n         IsaDmaClass *k = ISADMA_GET_CLASS(s->isa_dma);\n         k->release_DREQ(s->isa_dma, s->dma);\n-        AUD_set_active_out(s->audio_be, s->voice, 0);\n+        audio_be_set_active_out(s->audio_be, s->voice, 0);\n     }\n     s->dma_running = 0;\n     return 0;\n@@ -678,7 +678,7 @@ static void cs4231a_realizefn (DeviceState *dev, Error **errp)\n         return;\n     }\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \ndiff --git a/hw/audio/es1370.c b/hw/audio/es1370.c\nindex 44b204730b5..e1658393c6a 100644\n--- a/hw/audio/es1370.c\n+++ b/hw/audio/es1370.c\n@@ -330,10 +330,10 @@ static void es1370_reset (ES1370State *s)\n         d->scount = 0;\n         d->leftover = 0;\n         if (i == ADC_CHANNEL) {\n-            AUD_close_in(s->audio_be, s->adc_voice);\n+            audio_be_close_in(s->audio_be, s->adc_voice);\n             s->adc_voice = NULL;\n         } else {\n-            AUD_close_out(s->audio_be, s->dac_voice[i]);\n+            audio_be_close_out(s->audio_be, s->dac_voice[i]);\n             s->dac_voice[i] = NULL;\n         }\n     }\n@@ -411,7 +411,7 @@ static void es1370_update_voices (ES1370State *s, uint32_t ctl, uint32_t sctl)\n \n                 if (i == ADC_CHANNEL) {\n                     s->adc_voice =\n-                        AUD_open_in(\n+                        audio_be_open_in(\n                             s->audio_be,\n                             s->adc_voice,\n                             \"es1370.adc\",\n@@ -421,7 +421,7 @@ static void es1370_update_voices (ES1370State *s, uint32_t ctl, uint32_t sctl)\n                             );\n                 } else {\n                     s->dac_voice[i] =\n-                        AUD_open_out(\n+                        audio_be_open_out(\n                             s->audio_be,\n                             s->dac_voice[i],\n                             i ? \"es1370.dac2\" : \"es1370.dac1\",\n@@ -438,9 +438,9 @@ static void es1370_update_voices (ES1370State *s, uint32_t ctl, uint32_t sctl)\n             int on = (ctl & b->ctl_en) && !(sctl & b->sctl_pause);\n \n             if (i == ADC_CHANNEL) {\n-                AUD_set_active_in(s->audio_be, s->adc_voice, on);\n+                audio_be_set_active_in(s->audio_be, s->adc_voice, on);\n             } else {\n-                AUD_set_active_out(s->audio_be, s->dac_voice[i], on);\n+                audio_be_set_active_out(s->audio_be, s->dac_voice[i], on);\n             }\n         }\n     }\n@@ -627,7 +627,7 @@ static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,\n             int acquired, to_copy;\n \n             to_copy = MIN(to_transfer, sizeof(tmpbuf));\n-            acquired = AUD_read(s->audio_be, s->adc_voice, tmpbuf, to_copy);\n+            acquired = audio_be_read(s->audio_be, s->adc_voice, tmpbuf, to_copy);\n             if (!acquired) {\n                 break;\n             }\n@@ -646,7 +646,7 @@ static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,\n \n             to_copy = MIN(to_transfer, sizeof(tmpbuf));\n             pci_dma_read (&s->dev, addr, tmpbuf, to_copy);\n-            copied = AUD_write(s->audio_be, voice, tmpbuf, to_copy);\n+            copied = audio_be_write(s->audio_be, voice, tmpbuf, to_copy);\n             if (!copied) {\n                 break;\n             }\n@@ -784,12 +784,12 @@ static int es1370_post_load (void *opaque, int version_id)\n     for (i = 0; i < NB_CHANNELS; ++i) {\n         if (i == ADC_CHANNEL) {\n             if (s->adc_voice) {\n-                AUD_close_in(s->audio_be, s->adc_voice);\n+                audio_be_close_in(s->audio_be, s->adc_voice);\n                 s->adc_voice = NULL;\n             }\n         } else {\n             if (s->dac_voice[i]) {\n-                AUD_close_out(s->audio_be, s->dac_voice[i]);\n+                audio_be_close_out(s->audio_be, s->dac_voice[i]);\n                 s->dac_voice[i] = NULL;\n             }\n         }\n@@ -833,7 +833,7 @@ static void es1370_realize(PCIDevice *dev, Error **errp)\n     ES1370State *s = ES1370(dev);\n     uint8_t *c = s->dev.config;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -861,10 +861,10 @@ static void es1370_exit(PCIDevice *dev)\n     int i;\n \n     for (i = 0; i < 2; ++i) {\n-        AUD_close_out(s->audio_be, s->dac_voice[i]);\n+        audio_be_close_out(s->audio_be, s->dac_voice[i]);\n     }\n \n-    AUD_close_in(s->audio_be, s->adc_voice);\n+    audio_be_close_in(s->audio_be, s->adc_voice);\n }\n \n static const Property es1370_properties[] = {\ndiff --git a/hw/audio/gus.c b/hw/audio/gus.c\nindex 1ede1c4a51d..5c2a34c09d2 100644\n--- a/hw/audio/gus.c\n+++ b/hw/audio/gus.c\n@@ -87,7 +87,7 @@ static int write_audio (GUSState *s, int samples)\n         int nbytes, wbytes, wsampl;\n \n         nbytes = samples << s->shift;\n-        wbytes = AUD_write(\n+        wbytes = audio_be_write(\n             s->audio_be,\n             s->voice,\n             s->mixbuf + (pos << (s->shift - 1)),\n@@ -243,7 +243,7 @@ static void gus_realizefn (DeviceState *dev, Error **errp)\n     IsaDmaClass *k;\n     struct audsettings as;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -258,7 +258,7 @@ static void gus_realizefn (DeviceState *dev, Error **errp)\n     as.fmt = AUDIO_FORMAT_S16;\n     as.endianness = HOST_BIG_ENDIAN;\n \n-    s->voice = AUD_open_out(\n+    s->voice = audio_be_open_out(\n         s->audio_be,\n         NULL,\n         \"gus\",\n@@ -273,7 +273,7 @@ static void gus_realizefn (DeviceState *dev, Error **errp)\n     }\n \n     s->shift = 2;\n-    s->samples = AUD_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;\n+    s->samples = audio_be_get_buffer_size_out(s->audio_be, s->voice) >> s->shift;\n     s->mixbuf = g_malloc0 (s->samples << s->shift);\n \n     isa_register_portio_list(d, &s->portio_list1, s->port,\n@@ -288,7 +288,7 @@ static void gus_realizefn (DeviceState *dev, Error **errp)\n     s->emu.opaque = s;\n     s->pic = isa_bus_get_irq(bus, s->emu.gusirq);\n \n-    AUD_set_active_out(s->audio_be, s->voice, 1);\n+    audio_be_set_active_out(s->audio_be, s->voice, 1);\n }\n \n static const Property gus_properties[] = {\ndiff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c\nindex 0373d2f7271..984029a8db1 100644\n--- a/hw/audio/hda-codec.c\n+++ b/hw/audio/hda-codec.c\n@@ -275,8 +275,8 @@ static void hda_audio_input_cb(void *opaque, int avail)\n     while (to_transfer) {\n         uint32_t start = (uint32_t) (wpos & B_MASK);\n         uint32_t chunk = (uint32_t) MIN(B_SIZE - start, to_transfer);\n-        uint32_t read = AUD_read(st->state->audio_be, st->voice.in,\n-                                 st->buf + start, chunk);\n+        uint32_t read = audio_be_read(st->state->audio_be, st->voice.in,\n+                                      st->buf + start, chunk);\n         wpos += read;\n         to_transfer -= read;\n         st->wpos += read;\n@@ -355,8 +355,8 @@ static void hda_audio_output_cb(void *opaque, int avail)\n     while (to_transfer) {\n         uint32_t start = (uint32_t) (rpos & B_MASK);\n         uint32_t chunk = (uint32_t) MIN(B_SIZE - start, to_transfer);\n-        uint32_t written = AUD_write(st->state->audio_be, st->voice.out,\n-                                     st->buf + start, chunk);\n+        uint32_t written = audio_be_write(st->state->audio_be, st->voice.out,\n+                                          st->buf + start, chunk);\n         rpos += written;\n         to_transfer -= written;\n         st->rpos += written;\n@@ -377,9 +377,9 @@ static void hda_audio_compat_input_cb(void *opaque, int avail)\n \n     while (avail - recv >= sizeof(st->compat_buf)) {\n         if (st->compat_bpos != sizeof(st->compat_buf)) {\n-            len = AUD_read(st->state->audio_be, st->voice.in,\n-                           st->compat_buf + st->compat_bpos,\n-                           sizeof(st->compat_buf) - st->compat_bpos);\n+            len = audio_be_read(st->state->audio_be, st->voice.in,\n+                                st->compat_buf + st->compat_bpos,\n+                                sizeof(st->compat_buf) - st->compat_bpos);\n             st->compat_bpos += len;\n             recv += len;\n             if (st->compat_bpos != sizeof(st->compat_buf)) {\n@@ -411,9 +411,9 @@ static void hda_audio_compat_output_cb(void *opaque, int avail)\n             }\n             st->compat_bpos = 0;\n         }\n-        len = AUD_write(st->state->audio_be, st->voice.out,\n-                        st->compat_buf + st->compat_bpos,\n-                        sizeof(st->compat_buf) - st->compat_bpos);\n+        len = audio_be_write(st->state->audio_be, st->voice.out,\n+                             st->compat_buf + st->compat_bpos,\n+                             sizeof(st->compat_buf) - st->compat_bpos);\n         st->compat_bpos += len;\n         sent += len;\n         if (st->compat_bpos != sizeof(st->compat_buf)) {\n@@ -444,9 +444,9 @@ static void hda_audio_set_running(HDAAudioStream *st, bool running)\n         }\n     }\n     if (st->output) {\n-        AUD_set_active_out(st->state->audio_be, st->voice.out, st->running);\n+        audio_be_set_active_out(st->state->audio_be, st->voice.out, st->running);\n     } else {\n-        AUD_set_active_in(st->state->audio_be, st->voice.in, st->running);\n+        audio_be_set_active_in(st->state->audio_be, st->voice.in, st->running);\n     }\n }\n \n@@ -470,9 +470,11 @@ static void hda_audio_set_amp(HDAAudioStream *st)\n         return;\n     }\n     if (st->output) {\n-        AUD_set_volume_out_lr(st->state->audio_be, st->voice.out, muted, left, right);\n+        audio_be_set_volume_out_lr(st->state->audio_be, st->voice.out,\n+                                   muted, left, right);\n     } else {\n-        AUD_set_volume_in_lr(st->state->audio_be, st->voice.in, muted, left, right);\n+        audio_be_set_volume_in_lr(st->state->audio_be, st->voice.in,\n+                                  muted, left, right);\n     }\n }\n \n@@ -495,7 +497,7 @@ static void hda_audio_setup(HDAAudioStream *st)\n         } else {\n             cb = hda_audio_compat_output_cb;\n         }\n-        st->voice.out = AUD_open_out(st->state->audio_be, st->voice.out,\n+        st->voice.out = audio_be_open_out(st->state->audio_be, st->voice.out,\n                                      st->node->name, st, cb, &st->as);\n     } else {\n         if (use_timer) {\n@@ -504,7 +506,7 @@ static void hda_audio_setup(HDAAudioStream *st)\n         } else {\n             cb = hda_audio_compat_input_cb;\n         }\n-        st->voice.in = AUD_open_in(st->state->audio_be, st->voice.in,\n+        st->voice.in = audio_be_open_in(st->state->audio_be, st->voice.in,\n                                    st->node->name, st, cb, &st->as);\n     }\n }\n@@ -700,7 +702,7 @@ static void hda_audio_init(HDACodecDevice *hda,\n     const desc_param *param;\n     uint32_t i, type;\n \n-    if (!AUD_backend_check(&a->audio_be, errp)) {\n+    if (!audio_be_check(&a->audio_be, errp)) {\n         return;\n     }\n \n@@ -758,9 +760,9 @@ static void hda_audio_exit(HDACodecDevice *hda)\n         }\n         timer_free(st->buft);\n         if (st->output) {\n-            AUD_close_out(a->audio_be, st->voice.out);\n+            audio_be_close_out(a->audio_be, st->voice.out);\n         } else {\n-            AUD_close_in(a->audio_be, st->voice.in);\n+            audio_be_close_in(a->audio_be, st->voice.in);\n         }\n     }\n }\ndiff --git a/hw/audio/lm4549.c b/hw/audio/lm4549.c\nindex b875e83d454..14e15a844ba 100644\n--- a/hw/audio/lm4549.c\n+++ b/hw/audio/lm4549.c\n@@ -101,11 +101,11 @@ static void lm4549_audio_transfer(lm4549_state *s)\n     uint32_t i;\n \n     /* Activate the voice */\n-    AUD_set_active_out(s->audio_be, s->voice, 1);\n+    audio_be_set_active_out(s->audio_be, s->voice, 1);\n     s->voice_is_active = 1;\n \n     /* Try to write the buffer content */\n-    written_bytes = AUD_write(s->audio_be, s->voice, s->buffer,\n+    written_bytes = audio_be_write(s->audio_be, s->voice, s->buffer,\n                               s->buffer_level * sizeof(uint16_t));\n     written_samples = written_bytes >> 1;\n \n@@ -129,14 +129,14 @@ static void lm4549_audio_out_callback(void *opaque, int free)\n     static uint32_t prev_buffer_level;\n \n #ifdef LM4549_DEBUG\n-    int size = AUD_get_buffer_size_out(s->audio_be, s->voice);\n+    int size = audio_be_get_buffer_size_out(s->audio_be, s->voice);\n     DPRINTF(\"audio_out_callback size = %i free = %i\\n\", size, free);\n #endif\n \n     /* Detect that no data are consumed\n        => disable the voice */\n     if (s->buffer_level == prev_buffer_level) {\n-        AUD_set_active_out(s->audio_be, s->voice, 0);\n+        audio_be_set_active_out(s->audio_be, s->voice, 0);\n         s->voice_is_active = 0;\n     }\n     prev_buffer_level = s->buffer_level;\n@@ -204,7 +204,7 @@ void lm4549_write(lm4549_state *s,\n         as.fmt = AUDIO_FORMAT_S16;\n         as.endianness = 0;\n \n-        s->voice = AUD_open_out(\n+        s->voice = audio_be_open_out(\n             s->audio_be,\n             s->voice,\n             \"lm4549.out\",\n@@ -274,7 +274,7 @@ static int lm4549_post_load(void *opaque, int version_id)\n     as.fmt = AUDIO_FORMAT_S16;\n     as.endianness = 0;\n \n-    s->voice = AUD_open_out(\n+    s->voice = audio_be_open_out(\n         s->audio_be,\n         s->voice,\n         \"lm4549.out\",\n@@ -285,7 +285,7 @@ static int lm4549_post_load(void *opaque, int version_id)\n \n     /* Request data */\n     if (s->voice_is_active == 1) {\n-        lm4549_audio_out_callback(s, AUD_get_buffer_size_out(s->audio_be, s->voice));\n+        lm4549_audio_out_callback(s, audio_be_get_buffer_size_out(s->audio_be, s->voice));\n     }\n \n     return 0;\n@@ -297,7 +297,7 @@ void lm4549_init(lm4549_state *s, lm4549_callback data_req_cb, void* opaque,\n     struct audsettings as;\n \n     /* Register an audio card */\n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -314,7 +314,7 @@ void lm4549_init(lm4549_state *s, lm4549_callback data_req_cb, void* opaque,\n     as.fmt = AUDIO_FORMAT_S16;\n     as.endianness = 0;\n \n-    s->voice = AUD_open_out(\n+    s->voice = audio_be_open_out(\n         s->audio_be,\n         s->voice,\n         \"lm4549.out\",\n@@ -323,7 +323,7 @@ void lm4549_init(lm4549_state *s, lm4549_callback data_req_cb, void* opaque,\n         &as\n     );\n \n-    AUD_set_volume_out_lr(s->audio_be, s->voice, 0, 255, 255);\n+    audio_be_set_volume_out_lr(s->audio_be, s->voice, 0, 255, 255);\n \n     s->voice_is_active = 0;\n \ndiff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c\nindex 07ebfcfccf6..6b826507ce3 100644\n--- a/hw/audio/pcspk.c\n+++ b/hw/audio/pcspk.c\n@@ -105,7 +105,7 @@ static void pcspk_callback(void *opaque, int free)\n \n     while (free > 0) {\n         n = MIN(s->samples - s->play_pos, (unsigned int)free);\n-        n = AUD_write(s->audio_be, s->voice, &s->sample_buf[s->play_pos], n);\n+        n = audio_be_write(s->audio_be, s->voice, &s->sample_buf[s->play_pos], n);\n         if (!n)\n             break;\n         s->play_pos = (s->play_pos + n) % s->samples;\n@@ -122,7 +122,7 @@ static int pcspk_audio_init(PCSpkState *s)\n         return 0;\n     }\n \n-    s->voice = AUD_open_out(s->audio_be, s->voice, s_spk, s, pcspk_callback, &as);\n+    s->voice = audio_be_open_out(s->audio_be, s->voice, s_spk, s, pcspk_callback, &as);\n     if (!s->voice) {\n         error_report(\"pcspk: Could not open voice\");\n         return -1;\n@@ -163,7 +163,7 @@ static void pcspk_io_write(void *opaque, hwaddr addr, uint64_t val,\n     if (s->voice) {\n         if (gate) /* restart */\n             s->play_pos = 0;\n-        AUD_set_active_out(s->audio_be, s->voice, gate & s->data_on);\n+        audio_be_set_active_out(s->audio_be, s->voice, gate & s->data_on);\n     }\n }\n \n@@ -195,7 +195,7 @@ static void pcspk_realizefn(DeviceState *dev, Error **errp)\n \n     isa_register_ioport(isadev, &s->ioport, s->iobase);\n \n-    if (s->audio_be && AUD_backend_check(&s->audio_be, errp)) {\n+    if (s->audio_be && audio_be_check(&s->audio_be, errp)) {\n         pcspk_audio_init(s);\n         return;\n     }\ndiff --git a/hw/audio/sb16.c b/hw/audio/sb16.c\nindex da0c33ea41b..c8fc7df8b44 100644\n--- a/hw/audio/sb16.c\n+++ b/hw/audio/sb16.c\n@@ -171,7 +171,7 @@ static void log_dsp (SB16State *dsp)\n static void speaker (SB16State *s, int on)\n {\n     s->speaker = on;\n-    /* AUD_enable (s->voice, on); */\n+    /* audio_be_enable (s->voice, on); */\n }\n \n static void control (SB16State *s, int hold)\n@@ -185,11 +185,11 @@ static void control (SB16State *s, int hold)\n \n     if (hold) {\n         k->hold_DREQ(isa_dma, dma);\n-        AUD_set_active_out(s->audio_be, s->voice, 1);\n+        audio_be_set_active_out(s->audio_be, s->voice, 1);\n     }\n     else {\n         k->release_DREQ(isa_dma, dma);\n-        AUD_set_active_out(s->audio_be, s->voice, 0);\n+        audio_be_set_active_out(s->audio_be, s->voice, 0);\n     }\n }\n \n@@ -215,7 +215,7 @@ static void continue_dma8 (SB16State *s)\n         as.fmt = s->fmt;\n         as.endianness = 0;\n \n-        s->voice = AUD_open_out(\n+        s->voice = audio_be_open_out(\n             s->audio_be,\n             s->voice,\n             \"sb16\",\n@@ -378,7 +378,7 @@ static void dma_cmd (SB16State *s, uint8_t cmd, uint8_t d0, int dma_len)\n         as.fmt = s->fmt;\n         as.endianness = 0;\n \n-        s->voice = AUD_open_out(\n+        s->voice = audio_be_open_out(\n             s->audio_be,\n             s->voice,\n             \"sb16\",\n@@ -879,7 +879,7 @@ static void legacy_reset (SB16State *s)\n     as.fmt = AUDIO_FORMAT_U8;\n     as.endianness = 0;\n \n-    s->voice = AUD_open_out(\n+    s->voice = audio_be_open_out(\n         s->audio_be,\n         s->voice,\n         \"sb16\",\n@@ -889,7 +889,7 @@ static void legacy_reset (SB16State *s)\n         );\n \n     /* Not sure about that... */\n-    /* AUD_set_active_out (s->voice, 1); */\n+    /* audio_be_set_active_out (s->voice, 1); */\n }\n \n static void reset (SB16State *s)\n@@ -1196,7 +1196,7 @@ static int write_audio (SB16State *s, int nchan, int dma_pos,\n         }\n \n         copied = k->read_memory(isa_dma, nchan, tmpbuf, dma_pos, to_copy);\n-        copied = AUD_write(s->audio_be, s->voice, tmpbuf, copied);\n+        copied = audio_be_write(s->audio_be, s->voice, tmpbuf, copied);\n \n         temp -= copied;\n         dma_pos = (dma_pos + copied) % dma_len;\n@@ -1287,7 +1287,7 @@ static int sb16_post_load (void *opaque, int version_id)\n     SB16State *s = opaque;\n \n     if (s->voice) {\n-        AUD_close_out(s->audio_be, s->voice);\n+        audio_be_close_out(s->audio_be, s->voice);\n         s->voice = NULL;\n     }\n \n@@ -1302,7 +1302,7 @@ static int sb16_post_load (void *opaque, int version_id)\n             as.fmt = s->fmt;\n             as.endianness = 0;\n \n-            s->voice = AUD_open_out(\n+            s->voice = audio_be_open_out(\n                 s->audio_be,\n                 s->voice,\n                 \"sb16\",\n@@ -1401,7 +1401,7 @@ static void sb16_realizefn (DeviceState *dev, Error **errp)\n     SB16State *s = SB16 (dev);\n     IsaDmaClass *k;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \ndiff --git a/hw/audio/via-ac97.c b/hw/audio/via-ac97.c\nindex 5b344d7a0fc..84d137b41a3 100644\n--- a/hw/audio/via-ac97.c\n+++ b/hw/audio/via-ac97.c\n@@ -53,7 +53,7 @@ static void codec_volume_set_out(ViaAC97State *s)\n     rvol /= 255;\n     mute = CODEC_REG(s, AC97_Master_Volume_Mute) >> MUTE_SHIFT;\n     mute |= CODEC_REG(s, AC97_PCM_Out_Volume_Mute) >> MUTE_SHIFT;\n-    AUD_set_volume_out_lr(s->audio_be, s->vo, mute, lvol, rvol);\n+    audio_be_set_volume_out_lr(s->audio_be, s->vo, mute, lvol, rvol);\n }\n \n static void codec_reset(ViaAC97State *s)\n@@ -189,7 +189,7 @@ static void out_cb(void *opaque, int avail)\n         while (temp) {\n             to_copy = MIN(temp, sizeof(tmpbuf));\n             pci_dma_read(&s->dev, c->addr, tmpbuf, to_copy);\n-            copied = AUD_write(s->audio_be, s->vo, tmpbuf, to_copy);\n+            copied = audio_be_write(s->audio_be, s->vo, tmpbuf, to_copy);\n             if (!copied) {\n                 stop = true;\n                 break;\n@@ -208,7 +208,7 @@ static void out_cb(void *opaque, int avail)\n                     c->stat |= STAT_PAUSED;\n                 } else {\n                     c->stat &= ~STAT_ACTIVE;\n-                    AUD_set_active_out(s->audio_be, s->vo, 0);\n+                    audio_be_set_active_out(s->audio_be, s->vo, 0);\n                 }\n                 if (c->type & STAT_EOL) {\n                     via_isa_set_irq(&s->dev, 0, 1);\n@@ -239,7 +239,7 @@ static void open_voice_out(ViaAC97State *s)\n         .fmt = s->aur.type & BIT(5) ? AUDIO_FORMAT_S16 : AUDIO_FORMAT_S8,\n         .endianness = 0,\n     };\n-    s->vo = AUD_open_out(s->audio_be, s->vo, \"via-ac97.out\", s, out_cb, &as);\n+    s->vo = audio_be_open_out(s->audio_be, s->vo, \"via-ac97.out\", s, out_cb, &as);\n }\n \n static uint64_t sgd_read(void *opaque, hwaddr addr, unsigned size)\n@@ -317,20 +317,20 @@ static void sgd_write(void *opaque, hwaddr addr, uint64_t val, unsigned size)\n         break;\n     case 1:\n         if (val & CNTL_START) {\n-            AUD_set_active_out(s->audio_be, s->vo, 1);\n+            audio_be_set_active_out(s->audio_be, s->vo, 1);\n             s->aur.stat = STAT_ACTIVE;\n         }\n         if (val & CNTL_TERM) {\n-            AUD_set_active_out(s->audio_be, s->vo, 0);\n+            audio_be_set_active_out(s->audio_be, s->vo, 0);\n             s->aur.stat &= ~(STAT_ACTIVE | STAT_PAUSED);\n             s->aur.clen = 0;\n         }\n         if (val & CNTL_PAUSE) {\n-            AUD_set_active_out(s->audio_be, s->vo, 0);\n+            audio_be_set_active_out(s->audio_be, s->vo, 0);\n             s->aur.stat &= ~STAT_ACTIVE;\n             s->aur.stat |= STAT_PAUSED;\n         } else if (!(val & CNTL_PAUSE) && (s->aur.stat & STAT_PAUSED)) {\n-            AUD_set_active_out(s->audio_be, s->vo, 1);\n+            audio_be_set_active_out(s->audio_be, s->vo, 1);\n             s->aur.stat |= STAT_ACTIVE;\n             s->aur.stat &= ~STAT_PAUSED;\n         }\n@@ -426,7 +426,7 @@ static void via_ac97_realize(PCIDevice *pci_dev, Error **errp)\n     ViaAC97State *s = VIA_AC97(pci_dev);\n     Object *o = OBJECT(s);\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -455,7 +455,7 @@ static void via_ac97_exit(PCIDevice *dev)\n {\n     ViaAC97State *s = VIA_AC97(dev);\n \n-    AUD_close_out(s->audio_be, s->vo);\n+    audio_be_close_out(s->audio_be, s->vo);\n }\n \n static const Property via_ac97_properties[] = {\ndiff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c\nindex 47fef61af88..89e24c0a8e0 100644\n--- a/hw/audio/virtio-snd.c\n+++ b/hw/audio/virtio-snd.c\n@@ -391,10 +391,10 @@ static void virtio_snd_pcm_close(VirtIOSoundPCMStream *stream)\n     if (stream) {\n         virtio_snd_pcm_flush(stream);\n         if (stream->info.direction == VIRTIO_SND_D_OUTPUT) {\n-            AUD_close_out(stream->pcm->snd->audio_be, stream->voice.out);\n+            audio_be_close_out(stream->pcm->snd->audio_be, stream->voice.out);\n             stream->voice.out = NULL;\n         } else if (stream->info.direction == VIRTIO_SND_D_INPUT) {\n-            AUD_close_in(stream->pcm->snd->audio_be, stream->voice.in);\n+            audio_be_close_in(stream->pcm->snd->audio_be, stream->voice.in);\n             stream->voice.in = NULL;\n         }\n     }\n@@ -457,21 +457,21 @@ static uint32_t virtio_snd_pcm_prepare(VirtIOSound *s, uint32_t stream_id)\n     stream->as = as;\n \n     if (stream->info.direction == VIRTIO_SND_D_OUTPUT) {\n-        stream->voice.out = AUD_open_out(s->audio_be,\n+        stream->voice.out = audio_be_open_out(s->audio_be,\n                                          stream->voice.out,\n                                          \"virtio-sound.out\",\n                                          stream,\n                                          virtio_snd_pcm_out_cb,\n                                          &as);\n-        AUD_set_volume_out_lr(s->audio_be, stream->voice.out, 0, 255, 255);\n+        audio_be_set_volume_out_lr(s->audio_be, stream->voice.out, 0, 255, 255);\n     } else {\n-        stream->voice.in = AUD_open_in(s->audio_be,\n+        stream->voice.in = audio_be_open_in(s->audio_be,\n                                         stream->voice.in,\n                                         \"virtio-sound.in\",\n                                         stream,\n                                         virtio_snd_pcm_in_cb,\n                                         &as);\n-        AUD_set_volume_in_lr(s->audio_be, stream->voice.in, 0, 255, 255);\n+        audio_be_set_volume_in_lr(s->audio_be, stream->voice.in, 0, 255, 255);\n     }\n \n     return cpu_to_le32(VIRTIO_SND_S_OK);\n@@ -561,9 +561,9 @@ static void virtio_snd_handle_pcm_start_stop(VirtIOSound *s,\n             stream->active = start;\n         }\n         if (stream->info.direction == VIRTIO_SND_D_OUTPUT) {\n-            AUD_set_active_out(s->audio_be, stream->voice.out, start);\n+            audio_be_set_active_out(s->audio_be, stream->voice.out, start);\n         } else {\n-            AUD_set_active_in(s->audio_be, stream->voice.in, start);\n+            audio_be_set_active_in(s->audio_be, stream->voice.in, start);\n         }\n     } else {\n         error_report(\"Invalid stream id: %\"PRIu32, stream_id);\n@@ -1053,7 +1053,7 @@ static void virtio_snd_realize(DeviceState *dev, Error **errp)\n         return;\n     }\n \n-    if (!AUD_backend_check(&vsnd->audio_be, errp)) {\n+    if (!audio_be_check(&vsnd->audio_be, errp)) {\n         return;\n     }\n \n@@ -1135,10 +1135,10 @@ static inline void return_tx_buffer(VirtIOSoundPCMStream *stream,\n }\n \n /*\n- * AUD_* output callback.\n+ * audio_be_* output callback.\n  *\n  * @data: VirtIOSoundPCMStream stream\n- * @available: number of bytes that can be written with AUD_write()\n+ * @available: number of bytes that can be written with audio_be_write()\n  */\n static void virtio_snd_pcm_out_cb(void *data, int available)\n {\n@@ -1153,7 +1153,7 @@ static void virtio_snd_pcm_out_cb(void *data, int available)\n                 return;\n             }\n             if (!stream->active) {\n-                /* Stream has stopped, so do not perform AUD_write. */\n+                /* Stream has stopped, so do not perform audio_be_write. */\n                 return_tx_buffer(stream, buffer);\n                 continue;\n             }\n@@ -1166,7 +1166,7 @@ static void virtio_snd_pcm_out_cb(void *data, int available)\n                 buffer->populated = true;\n             }\n             for (;;) {\n-                size = AUD_write(stream->s->audio_be,\n+                size = audio_be_write(stream->s->audio_be,\n                                  stream->voice.out,\n                                  buffer->data + buffer->offset,\n                                  MIN(buffer->size, available));\n@@ -1230,10 +1230,10 @@ static inline void return_rx_buffer(VirtIOSoundPCMStream *stream,\n \n \n /*\n- * AUD_* input callback.\n+ * audio_be_* input callback.\n  *\n  * @data: VirtIOSoundPCMStream stream\n- * @available: number of bytes that can be read with AUD_read()\n+ * @available: number of bytes that can be read with audio_be_read()\n  */\n static void virtio_snd_pcm_in_cb(void *data, int available)\n {\n@@ -1248,7 +1248,7 @@ static void virtio_snd_pcm_in_cb(void *data, int available)\n                 return;\n             }\n             if (!stream->active) {\n-                /* Stream has stopped, so do not perform AUD_read. */\n+                /* Stream has stopped, so do not perform audio_be_read. */\n                 return_rx_buffer(stream, buffer);\n                 continue;\n             }\n@@ -1259,7 +1259,7 @@ static void virtio_snd_pcm_in_cb(void *data, int available)\n                     return_rx_buffer(stream, buffer);\n                     break;\n                 }\n-                size = AUD_read(stream->s->audio_be,\n+                size = audio_be_read(stream->s->audio_be,\n                         stream->voice.in,\n                         buffer->data + buffer->size,\n                         MIN(available, (stream->params.period_bytes -\ndiff --git a/hw/audio/wm8750.c b/hw/audio/wm8750.c\nindex bc347fe5376..2a286515b14 100644\n--- a/hw/audio/wm8750.c\n+++ b/hw/audio/wm8750.c\n@@ -72,7 +72,7 @@ static inline void wm8750_in_load(WM8750State *s)\n     if (s->idx_in + s->req_in <= sizeof(s->data_in))\n         return;\n     s->idx_in = MAX(0, (int) sizeof(s->data_in) - s->req_in);\n-    AUD_read(s->audio_be, *s->in[0], s->data_in + s->idx_in,\n+    audio_be_read(s->audio_be, *s->in[0], s->data_in + s->idx_in,\n              sizeof(s->data_in) - s->idx_in);\n }\n \n@@ -80,7 +80,8 @@ static inline void wm8750_out_flush(WM8750State *s)\n {\n     int sent = 0;\n     while (sent < s->idx_out)\n-        sent += AUD_write(s->audio_be, *s->out[0], s->data_out + sent, s->idx_out - sent)\n+        sent += audio_be_write(s->audio_be, *s->out[0],\n+                               s->data_out + sent, s->idx_out - sent)\n                 ?: s->idx_out;\n     s->idx_out = 0;\n }\n@@ -145,30 +146,30 @@ static void wm8750_vol_update(WM8750State *s)\n {\n     /* FIXME: multiply all volumes by s->invol[2], s->invol[3] */\n \n-    AUD_set_volume_in_lr(s->audio_be, s->adc_voice[0], s->mute,\n+    audio_be_set_volume_in_lr(s->audio_be, s->adc_voice[0], s->mute,\n                     s->inmute[0] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[0]),\n                     s->inmute[1] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[1]));\n-    AUD_set_volume_in_lr(s->audio_be, s->adc_voice[1], s->mute,\n+    audio_be_set_volume_in_lr(s->audio_be, s->adc_voice[1], s->mute,\n                     s->inmute[0] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[0]),\n                     s->inmute[1] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[1]));\n-    AUD_set_volume_in_lr(s->audio_be, s->adc_voice[2], s->mute,\n+    audio_be_set_volume_in_lr(s->audio_be, s->adc_voice[2], s->mute,\n                     s->inmute[0] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[0]),\n                     s->inmute[1] ? 0 : WM8750_INVOL_TRANSFORM(s->invol[1]));\n \n     /* FIXME: multiply all volumes by s->outvol[0], s->outvol[1] */\n \n     /* Speaker: LOUT2VOL ROUT2VOL */\n-    AUD_set_volume_out_lr(s->audio_be, s->dac_voice[0], s->mute,\n+    audio_be_set_volume_out_lr(s->audio_be, s->dac_voice[0], s->mute,\n                     s->outmute[0] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[4]),\n                     s->outmute[1] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[5]));\n \n     /* Headphone: LOUT1VOL ROUT1VOL */\n-    AUD_set_volume_out_lr(s->audio_be, s->dac_voice[1], s->mute,\n+    audio_be_set_volume_out_lr(s->audio_be, s->dac_voice[1], s->mute,\n                     s->outmute[0] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[2]),\n                     s->outmute[1] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[3]));\n \n     /* MONOOUT: MONOVOL MONOVOL */\n-    AUD_set_volume_out_lr(s->audio_be, s->dac_voice[2], s->mute,\n+    audio_be_set_volume_out_lr(s->audio_be, s->dac_voice[2], s->mute,\n                     s->outmute[0] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[6]),\n                     s->outmute[1] ? 0 : WM8750_OUTVOL_TRANSFORM(s->outvol[6]));\n }\n@@ -182,18 +183,18 @@ static void wm8750_set_format(WM8750State *s)\n     wm8750_out_flush(s);\n \n     if (s->in[0] && *s->in[0])\n-        AUD_set_active_in(s->audio_be, *s->in[0], 0);\n+        audio_be_set_active_in(s->audio_be, *s->in[0], 0);\n     if (s->out[0] && *s->out[0])\n-        AUD_set_active_out(s->audio_be, *s->out[0], 0);\n+        audio_be_set_active_out(s->audio_be, *s->out[0], 0);\n \n     for (i = 0; i < IN_PORT_N; i ++)\n         if (s->adc_voice[i]) {\n-            AUD_close_in(s->audio_be, s->adc_voice[i]);\n+            audio_be_close_in(s->audio_be, s->adc_voice[i]);\n             s->adc_voice[i] = NULL;\n         }\n     for (i = 0; i < OUT_PORT_N; i ++)\n         if (s->dac_voice[i]) {\n-            AUD_close_out(s->audio_be, s->dac_voice[i]);\n+            audio_be_close_out(s->audio_be, s->dac_voice[i]);\n             s->dac_voice[i] = NULL;\n         }\n \n@@ -206,11 +207,11 @@ static void wm8750_set_format(WM8750State *s)\n     in_fmt.freq = s->adc_hz;\n     in_fmt.fmt = AUDIO_FORMAT_S16;\n \n-    s->adc_voice[0] = AUD_open_in(s->audio_be, s->adc_voice[0],\n+    s->adc_voice[0] = audio_be_open_in(s->audio_be, s->adc_voice[0],\n                     CODEC \".input1\", s, wm8750_audio_in_cb, &in_fmt);\n-    s->adc_voice[1] = AUD_open_in(s->audio_be, s->adc_voice[1],\n+    s->adc_voice[1] = audio_be_open_in(s->audio_be, s->adc_voice[1],\n                     CODEC \".input2\", s, wm8750_audio_in_cb, &in_fmt);\n-    s->adc_voice[2] = AUD_open_in(s->audio_be, s->adc_voice[2],\n+    s->adc_voice[2] = audio_be_open_in(s->audio_be, s->adc_voice[2],\n                     CODEC \".input3\", s, wm8750_audio_in_cb, &in_fmt);\n \n     /* Setup output */\n@@ -219,12 +220,12 @@ static void wm8750_set_format(WM8750State *s)\n     out_fmt.freq = s->dac_hz;\n     out_fmt.fmt = AUDIO_FORMAT_S16;\n \n-    s->dac_voice[0] = AUD_open_out(s->audio_be, s->dac_voice[0],\n+    s->dac_voice[0] = audio_be_open_out(s->audio_be, s->dac_voice[0],\n                     CODEC \".speaker\", s, wm8750_audio_out_cb, &out_fmt);\n-    s->dac_voice[1] = AUD_open_out(s->audio_be, s->dac_voice[1],\n+    s->dac_voice[1] = audio_be_open_out(s->audio_be, s->dac_voice[1],\n                     CODEC \".headphone\", s, wm8750_audio_out_cb, &out_fmt);\n     /* MONOMIX is also in stereo for simplicity */\n-    s->dac_voice[2] = AUD_open_out(s->audio_be, s->dac_voice[2],\n+    s->dac_voice[2] = audio_be_open_out(s->audio_be, s->dac_voice[2],\n                     CODEC \".monomix\", s, wm8750_audio_out_cb, &out_fmt);\n     /* no sense emulating OUT3 which is a mix of other outputs */\n \n@@ -235,9 +236,9 @@ static void wm8750_set_format(WM8750State *s)\n      * for mixing or combining paths to different ports, so we\n      * connect both channels to where the left channel is routed.  */\n     if (s->in[0] && *s->in[0])\n-        AUD_set_active_in(s->audio_be, *s->in[0], 1);\n+        audio_be_set_active_in(s->audio_be, *s->in[0], 1);\n     if (s->out[0] && *s->out[0])\n-        AUD_set_active_out(s->audio_be, *s->out[0], 1);\n+        audio_be_set_active_out(s->audio_be, *s->out[0], 1);\n }\n \n static void wm8750_clk_update(WM8750State *s, int ext)\n@@ -624,7 +625,7 @@ static void wm8750_realize(DeviceState *dev, Error **errp)\n {\n     WM8750State *s = WM8750(dev);\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \ndiff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c\nindex deda7efe15d..9aa4709b411 100644\n--- a/hw/display/xlnx_dp.c\n+++ b/hw/display/xlnx_dp.c\n@@ -331,7 +331,7 @@ static inline void xlnx_dp_audio_activate(XlnxDPState *s)\n {\n     bool activated = ((s->core_registers[DP_TX_AUDIO_CONTROL]\n                    & DP_TX_AUD_CTRL) != 0);\n-    AUD_set_active_out(s->audio_be, s->amixer_output_stream, activated);\n+    audio_be_set_active_out(s->audio_be, s->amixer_output_stream, activated);\n     xlnx_dpdma_set_host_data_location(s->dpdma, DP_AUDIO_DMA_CHANNEL(0),\n                                       &s->audio_buffer_0);\n     xlnx_dpdma_set_host_data_location(s->dpdma, DP_AUDIO_DMA_CHANNEL(1),\n@@ -401,7 +401,7 @@ static void xlnx_dp_audio_callback(void *opaque, int avail)\n     /* Send the buffer through the audio. */\n     if (s->byte_left <= MAX_QEMU_BUFFER_SIZE) {\n         if (s->byte_left != 0) {\n-            written = AUD_write(s->audio_be, s->amixer_output_stream,\n+            written = audio_be_write(s->audio_be, s->amixer_output_stream,\n                                 &s->out_buffer[s->data_ptr], s->byte_left);\n         } else {\n              int len_to_copy;\n@@ -413,12 +413,12 @@ static void xlnx_dp_audio_callback(void *opaque, int avail)\n             while (avail) {\n                 len_to_copy = MIN(AUD_CHBUF_MAX_DEPTH, avail);\n                 memset(s->out_buffer, 0, len_to_copy);\n-                avail -= AUD_write(s->audio_be, s->amixer_output_stream, s->out_buffer,\n-                                   len_to_copy);\n+                avail -= audio_be_write(s->audio_be, s->amixer_output_stream,\n+                                        s->out_buffer, len_to_copy);\n             }\n         }\n     } else {\n-        written = AUD_write(s->audio_be, s->amixer_output_stream,\n+        written = audio_be_write(s->audio_be, s->amixer_output_stream,\n                             &s->out_buffer[s->data_ptr], MAX_QEMU_BUFFER_SIZE);\n     }\n     s->byte_left -= written;\n@@ -1373,7 +1373,7 @@ static void xlnx_dp_realize(DeviceState *dev, Error **errp)\n     DisplaySurface *surface;\n     struct audsettings as;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -1395,13 +1395,13 @@ static void xlnx_dp_realize(DeviceState *dev, Error **errp)\n     as.fmt = AUDIO_FORMAT_S16;\n     as.endianness = 0;\n \n-    s->amixer_output_stream = AUD_open_out(s->audio_be,\n+    s->amixer_output_stream = audio_be_open_out(s->audio_be,\n                                            s->amixer_output_stream,\n                                            \"xlnx_dp.audio.out\",\n                                            s,\n                                            xlnx_dp_audio_callback,\n                                            &as);\n-    AUD_set_volume_out_lr(s->audio_be, s->amixer_output_stream, 0, 255, 255);\n+    audio_be_set_volume_out_lr(s->audio_be, s->amixer_output_stream, 0, 255, 255);\n     xlnx_dp_audio_activate(s);\n     s->vblank = ptimer_init(vblank_hit, s, DP_VBLANK_PTIMER_POLICY);\n     ptimer_transaction_begin(s->vblank);\ndiff --git a/hw/usb/dev-audio.c b/hw/usb/dev-audio.c\nindex 0f36587fc6f..7b758718c12 100644\n--- a/hw/usb/dev-audio.c\n+++ b/hw/usb/dev-audio.c\n@@ -669,7 +669,7 @@ static void output_callback(void *opaque, int avail)\n             return;\n         }\n \n-        written = AUD_write(s->audio_be, s->out.voice, data, len);\n+        written = audio_be_write(s->audio_be, s->out.voice, data, len);\n         avail -= written;\n         s->out.buf.cons += written;\n \n@@ -683,7 +683,7 @@ static int usb_audio_set_output_altset(USBAudioState *s, int altset)\n {\n     switch (altset) {\n     case ALTSET_OFF:\n-        AUD_set_active_out(s->audio_be, s->out.voice, false);\n+        audio_be_set_active_out(s->audio_be, s->out.voice, false);\n         break;\n     case ALTSET_STEREO:\n     case ALTSET_51:\n@@ -692,7 +692,7 @@ static int usb_audio_set_output_altset(USBAudioState *s, int altset)\n             usb_audio_reinit(USB_DEVICE(s), altset_channels[altset]);\n         }\n         streambuf_init(&s->out.buf, s->buffer, s->out.channels);\n-        AUD_set_active_out(s->audio_be, s->out.voice, true);\n+        audio_be_set_active_out(s->audio_be, s->out.voice, true);\n         break;\n     default:\n         return -1;\n@@ -805,7 +805,7 @@ static int usb_audio_set_control(USBAudioState *s, uint8_t attrib,\n             }\n             fprintf(stderr, \"\\n\");\n         }\n-        AUD_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);\n+        audio_be_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);\n     }\n \n     return ret;\n@@ -931,7 +931,7 @@ static void usb_audio_unrealize(USBDevice *dev)\n     }\n \n     usb_audio_set_output_altset(s, ALTSET_OFF);\n-    AUD_close_out(s->audio_be, s->out.voice);\n+    audio_be_close_out(s->audio_be, s->out.voice);\n \n     streambuf_fini(&s->out.buf);\n }\n@@ -941,7 +941,7 @@ static void usb_audio_realize(USBDevice *dev, Error **errp)\n     USBAudioState *s = USB_AUDIO(dev);\n     int i;\n \n-    if (!AUD_backend_check(&s->audio_be, errp)) {\n+    if (!audio_be_check(&s->audio_be, errp)) {\n         return;\n     }\n \n@@ -978,10 +978,10 @@ static void usb_audio_reinit(USBDevice *dev, unsigned channels)\n     s->out.as.endianness = 0;\n     streambuf_init(&s->out.buf, s->buffer, s->out.channels);\n \n-    s->out.voice = AUD_open_out(s->audio_be, s->out.voice, TYPE_USB_AUDIO,\n+    s->out.voice = audio_be_open_out(s->audio_be, s->out.voice, TYPE_USB_AUDIO,\n                                 s, output_callback, &s->out.as);\n-    AUD_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);\n-    AUD_set_active_out(s->audio_be, s->out.voice, 0);\n+    audio_be_set_volume_out(s->audio_be, s->out.voice, &s->out.vol);\n+    audio_be_set_active_out(s->audio_be, s->out.voice, 0);\n }\n \n static const VMStateDescription vmstate_usb_audio = {\ndiff --git a/tests/audio/test-audio.c b/tests/audio/test-audio.c\nindex 6c182ee7c60..1827c084ac8 100644\n--- a/tests/audio/test-audio.c\n+++ b/tests/audio/test-audio.c\n@@ -94,7 +94,7 @@ static SWVoiceOut *open_test_voice_out(AudioBackend *be, const char *name,\n     struct audsettings as = default_test_settings;\n     SWVoiceOut *voice;\n \n-    voice = AUD_open_out(be, NULL, name, opaque, cb, &as);\n+    voice = audio_be_open_out(be, NULL, name, opaque, cb, &as);\n     g_assert_nonnull(voice);\n     return voice;\n }\n@@ -104,7 +104,7 @@ static SWVoiceIn *open_test_voice_in(AudioBackend *be, const char *name,\n {\n     struct audsettings as = default_test_settings;\n \n-    return AUD_open_in(be, NULL, name, opaque, cb, &as);\n+    return audio_be_open_in(be, NULL, name, opaque, cb, &as);\n }\n \n /*\n@@ -142,8 +142,8 @@ static void test_sine_callback(void *opaque, int avail)\n \n     generate_sine_samples(buffer, frames_to_write, s->frames_written);\n \n-    bytes_written = AUD_write(s->be, s->voice, buffer,\n-                              frames_to_write * sizeof(int16_t) * CHANNELS);\n+    bytes_written = audio_be_write(s->be, s->voice, buffer,\n+                                   frames_to_write * sizeof(int16_t) * CHANNELS);\n     s->frames_written += bytes_written / (sizeof(int16_t) * CHANNELS);\n }\n \n@@ -163,7 +163,7 @@ static void test_audio_out_sine_wave(void)\n                                       &state, test_sine_callback);\n \n     g_test_message(\"Playing 440Hz sine wave for %d seconds...\", DURATION_SECS);\n-    AUD_set_active_out(state.be, state.voice, true);\n+    audio_be_set_active_out(state.be, state.voice, true);\n \n     /*\n      * Run the audio subsystem until all frames are written or timeout.\n@@ -188,8 +188,8 @@ static void test_audio_out_sine_wave(void)\n \n     g_assert_cmpint(state.frames_written, ==, state.total_frames);\n \n-    AUD_set_active_out(state.be, state.voice, false);\n-    AUD_close_out(state.be, state.voice);\n+    audio_be_set_active_out(state.be, state.voice, false);\n+    audio_be_close_out(state.be, state.voice);\n }\n \n static void test_audio_prio_list(void)\n@@ -224,15 +224,15 @@ static void test_audio_out_active_state(void)\n     be = get_test_audio_backend();\n     voice = open_test_voice_out(be, \"test-active\", NULL, dummy_audio_callback);\n \n-    g_assert_false(AUD_is_active_out(be, voice));\n+    g_assert_false(audio_be_is_active_out(be, voice));\n \n-    AUD_set_active_out(be, voice, true);\n-    g_assert_true(AUD_is_active_out(be, voice));\n+    audio_be_set_active_out(be, voice, true);\n+    g_assert_true(audio_be_is_active_out(be, voice));\n \n-    AUD_set_active_out(be, voice, false);\n-    g_assert_false(AUD_is_active_out(be, voice));\n+    audio_be_set_active_out(be, voice, false);\n+    g_assert_false(audio_be_is_active_out(be, voice));\n \n-    AUD_close_out(be, voice);\n+    audio_be_close_out(be, voice);\n }\n \n static void test_audio_out_buffer_size(void)\n@@ -244,13 +244,13 @@ static void test_audio_out_buffer_size(void)\n     be = get_test_audio_backend();\n     voice = open_test_voice_out(be, \"test-buffer\", NULL, dummy_audio_callback);\n \n-    buffer_size = AUD_get_buffer_size_out(be, voice);\n+    buffer_size = audio_be_get_buffer_size_out(be, voice);\n     g_test_message(\"Buffer size: %d bytes\", buffer_size);\n     g_assert_cmpint(buffer_size, >, 0);\n \n-    AUD_close_out(be, voice);\n+    audio_be_close_out(be, voice);\n \n-    g_assert_cmpint(AUD_get_buffer_size_out(NULL, NULL), ==, 0);\n+    g_assert_cmpint(audio_be_get_buffer_size_out(be, NULL), ==, 0);\n }\n \n static void test_audio_out_volume(void)\n@@ -263,15 +263,15 @@ static void test_audio_out_volume(void)\n     voice = open_test_voice_out(be, \"test-volume\", NULL, dummy_audio_callback);\n \n     vol = (Volume){ .mute = false, .channels = 2, .vol = {255, 255} };\n-    AUD_set_volume_out(be, voice, &vol);\n+    audio_be_set_volume_out(be, voice, &vol);\n \n     vol = (Volume){ .mute = true, .channels = 2, .vol = {255, 255} };\n-    AUD_set_volume_out(be, voice, &vol);\n+    audio_be_set_volume_out(be, voice, &vol);\n \n     vol = (Volume){ .mute = false, .channels = 2, .vol = {128, 128} };\n-    AUD_set_volume_out(be, voice, &vol);\n+    audio_be_set_volume_out(be, voice, &vol);\n \n-    AUD_close_out(be, voice);\n+    audio_be_close_out(be, voice);\n }\n \n static void test_audio_in_active_state(void)\n@@ -286,15 +286,15 @@ static void test_audio_in_active_state(void)\n         return;\n     }\n \n-    g_assert_false(AUD_is_active_in(be, voice));\n+    g_assert_false(audio_be_is_active_in(be, voice));\n \n-    AUD_set_active_in(be, voice, true);\n-    g_assert_true(AUD_is_active_in(be, voice));\n+    audio_be_set_active_in(be, voice, true);\n+    g_assert_true(audio_be_is_active_in(be, voice));\n \n-    AUD_set_active_in(be, voice, false);\n-    g_assert_false(AUD_is_active_in(be, voice));\n+    audio_be_set_active_in(be, voice, false);\n+    g_assert_false(audio_be_is_active_in(be, voice));\n \n-    AUD_close_in(be, voice);\n+    audio_be_close_in(be, voice);\n }\n \n static void test_audio_in_volume(void)\n@@ -311,12 +311,12 @@ static void test_audio_in_volume(void)\n     }\n \n     vol = (Volume){ .mute = false, .channels = 2, .vol = {255, 255} };\n-    AUD_set_volume_in(be, voice, &vol);\n+    audio_be_set_volume_in(be, voice, &vol);\n \n     vol = (Volume){ .mute = true, .channels = 2, .vol = {255, 255} };\n-    AUD_set_volume_in(be, voice, &vol);\n+    audio_be_set_volume_in(be, voice, &vol);\n \n-    AUD_close_in(be, voice);\n+    audio_be_close_in(be, voice);\n }\n \n \n@@ -416,7 +416,7 @@ static void test_audio_capture(void)\n     state.captured_bytes = 0;\n     state.capture_buffer_size = CAPTURE_BUFFER_SIZE;\n \n-    cap = AUD_add_capture(be, &as, &ops, &state);\n+    cap = audio_be_add_capture(be, &as, &ops, &state);\n     g_assert_nonnull(cap);\n \n     sine_state.be = be;\n@@ -427,7 +427,7 @@ static void test_audio_capture(void)\n                                 &sine_state, test_sine_callback);\n     sine_state.voice = voice;\n \n-    AUD_set_active_out(be, voice, true);\n+    audio_be_set_active_out(be, voice, true);\n \n     start_time = g_get_monotonic_time();\n     while (sine_state.frames_written < sine_state.total_frames ||\n@@ -472,10 +472,10 @@ static void test_audio_capture(void)\n         g_assert_cmpfloat(match_ratio, >=, 0.9);\n     }\n \n-    AUD_set_active_out(be, voice, false);\n-    AUD_close_out(be, voice);\n+    audio_be_set_active_out(be, voice, false);\n+    audio_be_close_out(be, voice);\n \n-    AUD_del_capture(be, cap, &state);\n+    audio_be_del_capture(be, cap, &state);\n     g_assert_true(state.destroy_called);\n \n     g_free(state.captured_samples);\n@@ -486,24 +486,24 @@ static void test_audio_null_handling(void)\n     AudioBackend *be = get_test_audio_backend();\n     uint8_t buffer[64];\n \n-    /* AUD_is_active_out/in(NULL) should return false */\n-    g_assert_false(AUD_is_active_out(be, NULL));\n-    g_assert_false(AUD_is_active_in(be, NULL));\n+    /* audio_be_is_active_out/in(NULL) should return false */\n+    g_assert_false(audio_be_is_active_out(be, NULL));\n+    g_assert_false(audio_be_is_active_in(be, NULL));\n \n-    /* AUD_get_buffer_size_out(NULL) should return 0 */\n-    g_assert_cmpint(AUD_get_buffer_size_out(be, NULL), ==, 0);\n+    /* audio_be_get_buffer_size_out(NULL) should return 0 */\n+    g_assert_cmpint(audio_be_get_buffer_size_out(be, NULL), ==, 0);\n \n-    /* AUD_write/read(NULL, ...) should return size (no-op) */\n-    g_assert_cmpuint(AUD_write(be, NULL, buffer, sizeof(buffer)), ==,\n+    /* audio_be_write/read(NULL, ...) should return size (no-op) */\n+    g_assert_cmpuint(audio_be_write(be, NULL, buffer, sizeof(buffer)), ==,\n                      sizeof(buffer));\n-    g_assert_cmpuint(AUD_read(be, NULL, buffer, sizeof(buffer)), ==,\n+    g_assert_cmpuint(audio_be_read(be, NULL, buffer, sizeof(buffer)), ==,\n                      sizeof(buffer));\n \n     /* These should not crash */\n-    AUD_set_active_out(be, NULL, true);\n-    AUD_set_active_out(be, NULL, false);\n-    AUD_set_active_in(be, NULL, true);\n-    AUD_set_active_in(be, NULL, false);\n+    audio_be_set_active_out(be, NULL, true);\n+    audio_be_set_active_out(be, NULL, false);\n+    audio_be_set_active_in(be, NULL, true);\n+    audio_be_set_active_in(be, NULL, false);\n }\n \n static void test_audio_multiple_voices(void)\n@@ -517,23 +517,23 @@ static void test_audio_multiple_voices(void)\n     out2 = open_test_voice_out(be, \"test-multi-out2\", NULL, dummy_audio_callback);\n     in1 = open_test_voice_in(be, \"test-multi-in1\", NULL, dummy_audio_callback);\n \n-    AUD_set_active_out(be, out1, true);\n-    AUD_set_active_out(be, out2, true);\n-    AUD_set_active_in(be, in1, true);\n+    audio_be_set_active_out(be, out1, true);\n+    audio_be_set_active_out(be, out2, true);\n+    audio_be_set_active_in(be, in1, true);\n \n-    g_assert_true(AUD_is_active_out(be, out1));\n-    g_assert_true(AUD_is_active_out(be, out2));\n+    g_assert_true(audio_be_is_active_out(be, out1));\n+    g_assert_true(audio_be_is_active_out(be, out2));\n     if (in1) {\n-        g_assert_true(AUD_is_active_in(be, in1));\n+        g_assert_true(audio_be_is_active_in(be, in1));\n     }\n \n-    AUD_set_active_out(be, out1, false);\n-    AUD_set_active_out(be, out2, false);\n-    AUD_set_active_in(be, in1, false);\n+    audio_be_set_active_out(be, out1, false);\n+    audio_be_set_active_out(be, out2, false);\n+    audio_be_set_active_in(be, in1, false);\n \n-    AUD_close_in(be, in1);\n-    AUD_close_out(be, out2);\n-    AUD_close_out(be, out1);\n+    audio_be_close_in(be, in1);\n+    audio_be_close_out(be, out2);\n+    audio_be_close_out(be, out1);\n }\n \n int main(int argc, char **argv)\ndiff --git a/ui/vnc.c b/ui/vnc.c\nindex c142d9fc7c0..d56fe2c180e 100644\n--- a/ui/vnc.c\n+++ b/ui/vnc.c\n@@ -1280,7 +1280,7 @@ static void audio_add(VncState *vs)\n     ops.destroy = audio_capture_destroy;\n     ops.capture = audio_capture;\n \n-    vs->audio_cap = AUD_add_capture(vs->vd->audio_be, &vs->as, &ops, vs);\n+    vs->audio_cap = audio_be_add_capture(vs->vd->audio_be, &vs->as, &ops, vs);\n     if (!vs->audio_cap) {\n         error_report(\"Failed to add audio capture\");\n     }\n@@ -1289,7 +1289,7 @@ static void audio_add(VncState *vs)\n static void audio_del(VncState *vs)\n {\n     if (vs->audio_cap) {\n-        AUD_del_capture(vs->vd->audio_be, vs->audio_cap, vs);\n+        audio_be_del_capture(vs->vd->audio_be, vs->audio_cap, vs);\n         vs->audio_cap = NULL;\n     }\n }\n",
    "prefixes": [
        "37/85"
    ]
}