[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 09/26] audio: rename audio_sw_bytes_free()
From: |
Gerd Hoffmann |
Subject: |
[PULL 09/26] audio: rename audio_sw_bytes_free() |
Date: |
Thu, 13 Oct 2022 08:52:07 +0200 |
From: Volker Rümelin <vr_qemu@t-online.de>
Rename and refactor audio_sw_bytes_free(). This function is not
limited to calculate the free audio buffer size. The renamed
function returns the number of frames instead of bytes.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20220923183640.8314-9-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
audio/audio.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
index 7213f8bf07ca..28262ffd58a5 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -1010,9 +1010,16 @@ static size_t audio_get_avail (SWVoiceIn *sw)
return (((int64_t) live << 32) / sw->ratio) * sw->info.bytes_per_frame;
}
-static size_t audio_sw_bytes_free(SWVoiceOut *sw, size_t free)
+/**
+ * audio_frontend_frames_out() - returns the number of frames needed to
+ * get frames_out frames after resampling
+ *
+ * @sw: audio playback frontend
+ * @frames_out: number of frames
+ */
+static size_t audio_frontend_frames_out(SWVoiceOut *sw, size_t frames_out)
{
- return (((int64_t)free << 32) / sw->ratio) * sw->info.bytes_per_frame;
+ return ((int64_t)frames_out << 32) / sw->ratio;
}
static size_t audio_get_free(SWVoiceOut *sw)
@@ -1034,8 +1041,8 @@ static size_t audio_get_free(SWVoiceOut *sw)
dead = sw->hw->mix_buf->size - live;
#ifdef DEBUG_OUT
- dolog("%s: get_free live %zu dead %zu sw_bytes %zu\n",
- SW_NAME(sw), live, dead, audio_sw_bytes_free(sw, dead));
+ dolog("%s: get_free live %zu dead %zu frontend frames %zu\n",
+ SW_NAME(sw), live, dead, audio_frontend_frames_out(sw, dead));
#endif
return dead;
@@ -1156,13 +1163,14 @@ static void audio_run_out (AudioState *s)
size_t free;
if (hw_free > sw->total_hw_samples_mixed) {
- free = audio_sw_bytes_free(sw,
+ free = audio_frontend_frames_out(sw,
MIN(sw_free, hw_free - sw->total_hw_samples_mixed));
} else {
free = 0;
}
if (free > 0) {
- sw->callback.fn(sw->callback.opaque, free);
+ sw->callback.fn(sw->callback.opaque,
+ free * sw->info.bytes_per_frame);
}
}
}
--
2.37.3
- [PULL 22/26] ui/gtk: Fix the implicit mouse ungrabbing logic, (continued)
- [PULL 22/26] ui/gtk: Fix the implicit mouse ungrabbing logic, Gerd Hoffmann, 2022/10/13
- [PULL 19/26] pci-ids: drop PCI_DEVICE_ID_VIRTIO_PMEM, Gerd Hoffmann, 2022/10/13
- [PULL 20/26] pci-ids: drop list of modern virtio devices, Gerd Hoffmann, 2022/10/13
- [PULL 13/26] ui/vnc-clipboard: fix integer underflow in vnc_client_cut_text_ext, Gerd Hoffmann, 2022/10/13
- [PULL 11/26] audio: fix sw->buf size for audio recording, Gerd Hoffmann, 2022/10/13
- [PULL 18/26] pci-ids: drop PCI_DEVICE_ID_VIRTIO_MEM, Gerd Hoffmann, 2022/10/13
- [PULL 14/26] ui/gtk-egl: egl context needs to be unbound in the end of gd_egl_switch, Gerd Hoffmann, 2022/10/13
- [PULL 21/26] pci-ids: document modern virtio-pci ids in pci.h too, Gerd Hoffmann, 2022/10/13
- [PULL 24/26] gtk: Add show_menubar=on|off command line option., Gerd Hoffmann, 2022/10/13
- [PULL 26/26] audio: improve out.voices test, Gerd Hoffmann, 2022/10/13
- [PULL 09/26] audio: rename audio_sw_bytes_free(),
Gerd Hoffmann <=
- [PULL 25/26] audio: fix in.voices test, Gerd Hoffmann, 2022/10/13
- Re: [PULL 00/26] Kraxel 20221013 patches, Stefan Hajnoczi, 2022/10/13