static int snd_pcm_plug_mmap(snd_pcm_t *pcm ATTRIBUTE_UNUSED)
{
-#if 0
- snd_pcm_plugin_t *plug = pcm->private;
- return snd_pcm_mmap(plug->slave);
-#endif
return 0;
}
static int snd_pcm_plug_munmap(snd_pcm_t *pcm ATTRIBUTE_UNUSED)
{
-#if 0
- snd_pcm_plugin_t *plug = pcm->private;
- return snd_pcm_munmap(plug->slave);
-#endif
return 0;
}
int snd_pcm_plugin_mmap(snd_pcm_t *pcm)
{
snd_pcm_plugin_t *plug = pcm->private;
- if (!(pcm->info & SND_PCM_INFO_MMAP)) {
- size_t size = snd_pcm_frames_to_bytes(pcm, pcm->buffer_size);
- int id = shmget(IPC_PRIVATE, size, 0666);
- if (id < 0) {
- SYSERR("shmget failed");
- return -errno;
- }
- plug->shmid = id;
+ size_t size = snd_pcm_frames_to_bytes(pcm, pcm->buffer_size);
+ int id = shmget(IPC_PRIVATE, size, 0666);
+ if (id < 0) {
+ SYSERR("shmget failed");
+ return -errno;
}
+ plug->shmid = id;
return 0;
}