[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/35] audio: inline function audio_pcm_sw_get_rpos_in()
From: |
Gerd Hoffmann |
Subject: |
[PULL 11/35] audio: inline function audio_pcm_sw_get_rpos_in() |
Date: |
Fri, 4 Mar 2022 15:20:59 +0100 |
From: Volker RĂ¼melin <vr_qemu@t-online.de>
Simplify code by inlining function audio_pcm_sw_get_rpos_in()
at the only call site and remove the duplicated audio_bug()
test.
Signed-off-by: Volker RĂ¼melin <vr_qemu@t-online.de>
Message-Id: <20220301191311.26695-4-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
audio/audio.c | 29 ++++++++---------------------
1 file changed, 8 insertions(+), 21 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
index f28e91853f0b..35437986d9dd 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -569,37 +569,24 @@ static size_t audio_pcm_hw_conv_in(HWVoiceIn *hw, void
*pcm_buf, size_t samples)
/*
* Soft voice (capture)
*/
-static size_t audio_pcm_sw_get_rpos_in(SWVoiceIn *sw)
-{
- HWVoiceIn *hw = sw->hw;
- ssize_t live = hw->total_samples_captured - sw->total_hw_samples_acquired;
-
- if (audio_bug(__func__, live < 0 || live > hw->conv_buf->size)) {
- dolog("live=%zu hw->conv_buf->size=%zu\n", live, hw->conv_buf->size);
- return 0;
- }
-
- return audio_ring_posb(hw->conv_buf->pos, live, hw->conv_buf->size);
-}
-
static size_t audio_pcm_sw_read(SWVoiceIn *sw, void *buf, size_t size)
{
HWVoiceIn *hw = sw->hw;
size_t samples, live, ret = 0, swlim, isamp, osamp, rpos, total = 0;
struct st_sample *src, *dst = sw->buf;
- rpos = audio_pcm_sw_get_rpos_in(sw) % hw->conv_buf->size;
-
live = hw->total_samples_captured - sw->total_hw_samples_acquired;
- if (audio_bug(__func__, live > hw->conv_buf->size)) {
- dolog("live_in=%zu hw->conv_buf->size=%zu\n", live,
hw->conv_buf->size);
- return 0;
- }
-
- samples = size / sw->info.bytes_per_frame;
if (!live) {
return 0;
}
+ if (audio_bug(__func__, live > hw->conv_buf->size)) {
+ dolog("live_in=%zu hw->conv_buf->size=%zu\n", live,
hw->conv_buf->size);
+ return 0;
+ }
+
+ rpos = audio_ring_posb(hw->conv_buf->pos, live, hw->conv_buf->size);
+
+ samples = size / sw->info.bytes_per_frame;
swlim = (live * sw->ratio) >> 32;
swlim = MIN (swlim, samples);
--
2.35.1
- [PULL 02/35] hw/usb/dev-mtp: create directories with a+x mode mask, (continued)
- [PULL 02/35] hw/usb/dev-mtp: create directories with a+x mode mask, Gerd Hoffmann, 2022/03/04
- [PULL 04/35] usb/ohci: Move cancelling async packet to ohci_stop_endpoints(), Gerd Hoffmann, 2022/03/04
- [PULL 03/35] usb/ohci: Move trace point and log ep number to help debugging, Gerd Hoffmann, 2022/03/04
- [PULL 05/35] usb/ohci: Move USBPortOps related functions together, Gerd Hoffmann, 2022/03/04
- [PULL 06/35] usb/ohci: Merge ohci_async_cancel_device() into ohci_child_detach(), Gerd Hoffmann, 2022/03/04
- [PULL 08/35] audio: replace open-coded buffer arithmetic, Gerd Hoffmann, 2022/03/04
- [PULL 07/35] usb/ohci: Don't use packet from OHCIState for isochronous transfers, Gerd Hoffmann, 2022/03/04
- [PULL 09/35] audio: move function audio_pcm_hw_clip_out(), Gerd Hoffmann, 2022/03/04
- [PULL 10/35] audio: add function audio_pcm_hw_conv_in(), Gerd Hoffmann, 2022/03/04
- [PULL 12/35] paaudio: increase default latency to 46ms, Gerd Hoffmann, 2022/03/04
- [PULL 11/35] audio: inline function audio_pcm_sw_get_rpos_in(),
Gerd Hoffmann <=
- [PULL 13/35] jackaudio: use more jack audio buffers, Gerd Hoffmann, 2022/03/04
- [PULL 14/35] audio: copy playback stream in sequential order, Gerd Hoffmann, 2022/03/04
- [PULL 15/35] audio: add pcm_ops function table for capture backend, Gerd Hoffmann, 2022/03/04
- [PULL 16/35] Revert "audio: fix wavcapture segfault", Gerd Hoffmann, 2022/03/04
- [PULL 17/35] audio: restore mixing-engine playback buffer size, Gerd Hoffmann, 2022/03/04
- [PULL 19/35] dsoundaudio: reduce effective playback buffer size, Gerd Hoffmann, 2022/03/04
- [PULL 18/35] paaudio: reduce effective playback buffer size, Gerd Hoffmann, 2022/03/04
- [PULL 21/35] paaudio: fix samples vs. frames mix-up, Gerd Hoffmann, 2022/03/04
- [PULL 25/35] hw/i386: Improve bounds checking in OVMF table parsing, Gerd Hoffmann, 2022/03/04
- [PULL 20/35] ossaudio: reduce effective playback buffer size, Gerd Hoffmann, 2022/03/04