aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/caiaq/audio.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-04-27 17:15:41 +0200
committerTakashi Iwai <tiwai@suse.de>2009-04-27 17:15:41 +0200
commit5530f41bd2012fed6b8eb95ed46b72c9f138ca44 (patch)
tree0c06971c142049bdd1bcb576112625c43e665952 /sound/usb/caiaq/audio.c
parent0995f9dbe6521fe1141779da619bbcf037469b1b (diff)
parenta9b487fa1e00b42f9667abfeca4a5295a71333db (diff)
downloadkernel_samsung_smdk4412-5530f41bd2012fed6b8eb95ed46b72c9f138ca44.zip
kernel_samsung_smdk4412-5530f41bd2012fed6b8eb95ed46b72c9f138ca44.tar.gz
kernel_samsung_smdk4412-5530f41bd2012fed6b8eb95ed46b72c9f138ca44.tar.bz2
Merge branch 'fix/caiaq' into for-linus
* fix/caiaq: ALSA: snd-usb-caiaq: fix reported elapsed periods
Diffstat (limited to 'sound/usb/caiaq/audio.c')
-rw-r--r--sound/usb/caiaq/audio.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c
index 3f45c0f..b13ce76 100644
--- a/sound/usb/caiaq/audio.c
+++ b/sound/usb/caiaq/audio.c
@@ -195,11 +195,14 @@ static int snd_usb_caiaq_pcm_prepare(struct snd_pcm_substream *substream)
debug("%s(%p)\n", __func__, substream);
- if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ dev->period_out_count[index] = BYTES_PER_SAMPLE + 1;
dev->audio_out_buf_pos[index] = BYTES_PER_SAMPLE + 1;
- else
+ } else {
+ dev->period_in_count[index] = BYTES_PER_SAMPLE;
dev->audio_in_buf_pos[index] = BYTES_PER_SAMPLE;
-
+ }
+
if (dev->streaming)
return 0;
@@ -300,8 +303,7 @@ static void check_for_elapsed_periods(struct snd_usb_caiaqdev *dev,
if (!sub)
continue;
- pb = frames_to_bytes(sub->runtime,
- sub->runtime->period_size);
+ pb = snd_pcm_lib_period_bytes(sub);
cnt = (sub->stream == SNDRV_PCM_STREAM_PLAYBACK) ?
&dev->period_out_count[stream] :
&dev->period_in_count[stream];