diff options
author | Roger Mach <bigmach@us.ibm.com> | 2005-05-26 17:58:01 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-05-29 10:14:59 +0200 |
commit | c3a9cfac750d78241b5dde7d004522f687703b90 (patch) | |
tree | 9d7245efcd1703a0f0ddf2b15b87c1aabac36e29 /sound | |
parent | [ALSA] Fix ALC880 capture problems (diff) | |
download | linux-c3a9cfac750d78241b5dde7d004522f687703b90.tar.xz linux-c3a9cfac750d78241b5dde7d004522f687703b90.zip |
[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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/oss/pcm_oss.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c index 6c8fdcaf9f4f..6f90dbb76804 100644 --- a/sound/core/oss/pcm_oss.c +++ b/sound/core/oss/pcm_oss.c @@ -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; } |