diff options
author | Jaroslav Kysela <perex@suse.cz> | 2004-05-23 14:22:27 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2004-05-23 14:22:27 +0200 |
commit | 3c65bcbbfdebee6372ad34771a8fc94d628d8408 (patch) | |
tree | 2ca6f7d5254d0b2a595aad405ebb59cbb0a48d25 /sound | |
parent | 2b38ae751eeef2faa6193cdcae6be01c7ad8def3 (diff) | |
download | history-3c65bcbbfdebee6372ad34771a8fc94d628d8408.tar.gz |
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
PCM Midlevel,ALSA Core
Added SNDRV_PCM_SYNC_PTR_APPL and SNDRV_PCM_SYNC_PTR_AVAIL_MIN extensions
to SYNC_PTR ioctl for PCM API.
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/pcm_native.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 217ae426a7a131..38d5641862c400 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -2356,8 +2356,14 @@ static int snd_pcm_sync_ptr(snd_pcm_substream_t *substream, struct sndrv_pcm_syn return err; } snd_pcm_stream_lock_irq(substream); - control->appl_ptr = sync_ptr.c.control.appl_ptr; - control->avail_min = sync_ptr.c.control.avail_min; + if (!(sync_ptr.flags & SNDRV_PCM_SYNC_PTR_APPL)) + control->appl_ptr = sync_ptr.c.control.appl_ptr; + else + sync_ptr.c.control.appl_ptr = control->appl_ptr; + if (!(sync_ptr.flags & SNDRV_PCM_SYNC_PTR_AVAIL_MIN)) + control->avail_min = sync_ptr.c.control.avail_min; + else + sync_ptr.c.control.avail_min = control->avail_min; sync_ptr.s.status.state = status->state; sync_ptr.s.status.hw_ptr = status->hw_ptr; sync_ptr.s.status.tstamp = status->tstamp; |