提交 c3a9cfac 编写于 作者: R Roger Mach 提交者: Jaroslav Kysela

[ALSA] pcm_oss - fix SNDCTL_DSP_GETOPTR not working correctly

ALSA<-OSS emulation
This patch changes snd_pcm_oss_bytes() by adding a local variable
for the frames -> bytes conversion, which means that the frame count
is no longer corrupted by this conversion.
Signed-off-by: NRoger Mach <bigmach@us.ibm.com>
Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
上级 71fe7b82
......@@ -124,11 +124,12 @@ int snd_pcm_plugin_append(snd_pcm_plugin_t *plugin)
static long snd_pcm_oss_bytes(snd_pcm_substream_t *substream, long frames)
{
long bytes = 0;
snd_pcm_runtime_t *runtime = substream->runtime;
snd_pcm_uframes_t buffer_size = snd_pcm_lib_buffer_bytes(substream);
frames = frames_to_bytes(runtime, frames);
bytes = frames_to_bytes(runtime, frames);
if (buffer_size == runtime->oss.buffer_bytes)
return frames;
return bytes;
return (runtime->oss.buffer_bytes * frames) / buffer_size;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册