diff options
-rw-r--r-- | audio/audio.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/audio/audio.c b/audio/audio.c index 480b3cce1f..22d769db0c 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1388,9 +1388,8 @@ void audio_run(AudioState *s, const char *msg) void audio_generic_run_buffer_in(HWVoiceIn *hw) { if (unlikely(!hw->buf_emul)) { - size_t calc_size = hw->conv_buf->size * hw->info.bytes_per_frame; - hw->buf_emul = g_malloc(calc_size); - hw->size_emul = calc_size; + hw->size_emul = hw->samples * hw->info.bytes_per_frame; + hw->buf_emul = g_malloc(hw->size_emul); hw->pos_emul = hw->pending_emul = 0; } @@ -1452,10 +1451,8 @@ void audio_generic_run_buffer_out(HWVoiceOut *hw) void *audio_generic_get_buffer_out(HWVoiceOut *hw, size_t *size) { if (unlikely(!hw->buf_emul)) { - size_t calc_size = hw->mix_buf->size * hw->info.bytes_per_frame; - - hw->buf_emul = g_malloc(calc_size); - hw->size_emul = calc_size; + hw->size_emul = hw->samples * hw->info.bytes_per_frame; + hw->buf_emul = g_malloc(hw->size_emul); hw->pos_emul = hw->pending_emul = 0; } |