[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: Roger Mach <bigmach@us.ibm.com> Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
This commit is contained in:
Родитель
71fe7b82db
Коммит
c3a9cfac75
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче