From 89377556cdd20bdc8cdb5861f271164b1cba6ecf Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 23 Apr 2012 21:12:27 +0200 Subject: output/alsa: multiply writei() result with out_frame_size .. and not in_frame_size, because this relates to the frame size being sent to ALSA. pcm_export_source_size() will then turn it back into the in_frame_size scale. --- src/output/alsa_output_plugin.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/output') diff --git a/src/output/alsa_output_plugin.c b/src/output/alsa_output_plugin.c index 5107d0a94..d8b184273 100644 --- a/src/output/alsa_output_plugin.c +++ b/src/output/alsa_output_plugin.c @@ -787,8 +787,10 @@ alsa_play(struct audio_output *ao, const void *chunk, size_t size, if (ret > 0) { ad->period_position = (ad->period_position + ret) % ad->period_frames; + + size_t bytes_written = ret * ad->out_frame_size; return pcm_export_source_size(&ad->export, - ret * ad->in_frame_size); + bytes_written); } if (ret < 0 && ret != -EAGAIN && ret != -EINTR && -- cgit v1.2.3