[alsa-cvslog] CVS: alsa-lib/src/pcm pcm_hw.c,1.148,1.149 pcm_plugin.c,1.99,1.100
Brought to you by:
perex
From: Takashi I. <ti...@us...> - 2006-03-29 09:32:22
|
Update of /cvsroot/alsa/alsa-lib/src/pcm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15659/src/pcm Modified Files: pcm_hw.c pcm_plugin.c Log Message: Summary: Fix PCM without control/status mmap Fix the update of appl_ptr via mmap_commit when control/status structs are not mmapped (e.g. 32bit compatible mode on 64bit kernel). Index: pcm_hw.c =================================================================== RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_hw.c,v retrieving revision 1.148 retrieving revision 1.149 diff -u -r1.148 -r1.149 --- pcm_hw.c 20 Mar 2006 11:22:23 -0000 1.148 +++ pcm_hw.c 29 Mar 2006 09:32:18 -0000 1.149 @@ -942,6 +942,7 @@ } } snd_pcm_mmap_appl_forward(pcm, size); + sync_ptr(hw, 0); #ifdef DEBUG_MMAP fprintf(stderr, "appl_forward: hw_ptr = %li, appl_ptr = %li, size = %li\n", *pcm->hw.ptr, *pcm->appl.ptr, size); #endif Index: pcm_plugin.c =================================================================== RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_plugin.c,v retrieving revision 1.99 retrieving revision 1.100 diff -u -r1.99 -r1.100 --- pcm_plugin.c 23 May 2005 09:03:20 -0000 1.99 +++ pcm_plugin.c 29 Mar 2006 09:32:18 -0000 1.100 @@ -524,6 +524,9 @@ snd_atomic_read_init(&ratom, &plugin->watom); _again: snd_atomic_read_begin(&ratom); + /* sync with the latest hw and appl ptrs */ + snd_pcm_plugin_avail_update(pcm); + err = snd_pcm_status(plugin->gen.slave, status); if (err < 0) { snd_atomic_read_ok(&ratom); @@ -545,7 +548,7 @@ } snd_pcm_fast_ops_t snd_pcm_plugin_fast_ops = { - .status = snd_pcm_generic_status, + .status = snd_pcm_plugin_status, .state = snd_pcm_generic_state, .hwsync = snd_pcm_generic_hwsync, .delay = snd_pcm_plugin_delay, |