Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3a9cfac authored by Roger Mach's avatar Roger Mach Committed by Jaroslav Kysela
Browse files

[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: default avatarRoger Mach <bigmach@us.ibm.com>
Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
parent 71fe7b82
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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;
}