[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 04/15] audio: inline function audio_pcm_sw_get_rpos_in()
From: |
Volker Rümelin |
Subject: |
[PATCH v3 04/15] audio: inline function audio_pcm_sw_get_rpos_in() |
Date: |
Tue, 1 Mar 2022 20:13:00 +0100 |
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>
---
audio/audio.c | 23 +++++------------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/audio/audio.c b/audio/audio.c
index f28e91853f..35437986d9 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 (!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;
- if (!live) {
- return 0;
- }
swlim = (live * sw->ratio) >> 32;
swlim = MIN (swlim, samples);
--
2.34.1
- [PATCH v3 00/15] reduce audio playback latency, Volker Rümelin, 2022/03/01
- [PATCH v3 01/15] audio: replace open-coded buffer arithmetic, Volker Rümelin, 2022/03/01
- [PATCH v3 02/15] audio: move function audio_pcm_hw_clip_out(), Volker Rümelin, 2022/03/01
- [PATCH v3 03/15] audio: add function audio_pcm_hw_conv_in(), Volker Rümelin, 2022/03/01
- [PATCH v3 05/15] paaudio: increase default latency to 46ms, Volker Rümelin, 2022/03/01
- [PATCH v3 07/15] audio: copy playback stream in sequential order, Volker Rümelin, 2022/03/01
- [PATCH v3 06/15] jackaudio: use more jack audio buffers, Volker Rümelin, 2022/03/01
- [PATCH v3 04/15] audio: inline function audio_pcm_sw_get_rpos_in(),
Volker Rümelin <=
- [PATCH v3 08/15] audio: add pcm_ops function table for capture backend, Volker Rümelin, 2022/03/01
- [PATCH v3 09/15] Revert "audio: fix wavcapture segfault", Volker Rümelin, 2022/03/01
- [PATCH v3 14/15] paaudio: fix samples vs. frames mix-up, Volker Rümelin, 2022/03/01
- [PATCH v3 13/15] ossaudio: reduce effective playback buffer size, Volker Rümelin, 2022/03/01
- [PATCH v3 10/15] audio: restore mixing-engine playback buffer size, Volker Rümelin, 2022/03/01
- [PATCH v3 11/15] paaudio: reduce effective playback buffer size, Volker Rümelin, 2022/03/01
- [PATCH v3 12/15] dsoundaudio: reduce effective playback buffer size, Volker Rümelin, 2022/03/01
- [PATCH v3 15/15] sdlaudio: fix samples vs. frames mix-up, Volker Rümelin, 2022/03/01