At Mon, 22 Jun 2009 11:54:46 -0700 (PDT), Christopher Tsui wrote: > > Hi > > I am in the process of add mmap support in my ALSA driver. > > So this is what i have done so far > > In snd_pcm_hardware structure > .info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID > > In snd_pcm_ops structure > .mmap = my_pcm_mmap > > So to test my code, I use > aplay -M -Dhw:0 rock.wav > > and this is what I get > ALSA lib pcm_mmap.c:378:(snd_pcm_mmap) mmap failed: Invalid argument > aplay: set_params:1022: Unable to install hw params: > ACCESS: MMAP_INTERLEAVED > FORMAT: S16_LE > SUBFORMAT: STD > SAMPLE_BITS: 16 > FRAME_BITS: 32 > CHANNELS: 2 > RATE: 44100 > PERIOD_TIME: (27210 27211) > PERIOD_SIZE: 1200 > PERIOD_BYTES: 4800 > PERIODS: 4 > BUFFER_TIME: (108843 108844) > BUFFER_SIZE: 4800 > BUFFER_BYTES: 19200 > TICK_TIME: > 10000 The buffer setup looks strange. It couldn't be resolved to the right configuration. You see BUFFER_TIME is between 108843 and 108844, so there is no integer value between them. Maybe your snd_pcm_hardware is consistent, or you give a too strict hw_constraint. Anyway, a bit more code snippet would be helpful to analyze. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel