diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-04-27 17:15:41 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-04-27 17:15:41 +0200 |
commit | 5530f41bd2012fed6b8eb95ed46b72c9f138ca44 (patch) | |
tree | 0c06971c142049bdd1bcb576112625c43e665952 /sound/usb/caiaq/audio.c | |
parent | 0995f9dbe6521fe1141779da619bbcf037469b1b (diff) | |
parent | a9b487fa1e00b42f9667abfeca4a5295a71333db (diff) | |
download | kernel_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.c | 12 |
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]; |