Minor optimization on mmap

Minor optimization on mmap.
This commit is contained in:
Takashi Iwai 2005-11-30 11:39:21 +00:00
parent db1e39a4e8
commit 3ffeaf4cb1

View file

@ -421,27 +421,27 @@ int snd_pcm_mmap(snd_pcm_t *pcm)
default: default:
assert(0); assert(0);
} }
} for (c1 = c + 1; c1 < pcm->channels; ++c1) {
for (c1 = c + 1; c1 < pcm->channels; ++c1) { snd_pcm_channel_info_t *i1 = &pcm->mmap_channels[c1];
snd_pcm_channel_info_t *i1 = &pcm->mmap_channels[c1]; if (i1->type != i->type)
if (i1->type != i->type)
continue;
switch (i1->type) {
case SND_PCM_AREA_MMAP:
if (i1->u.mmap.fd != i->u.mmap.fd ||
i1->u.mmap.offset != i->u.mmap.offset)
continue; continue;
break; switch (i1->type) {
case SND_PCM_AREA_SHM: case SND_PCM_AREA_MMAP:
if (i1->u.shm.shmid != i->u.shm.shmid) if (i1->u.mmap.fd != i->u.mmap.fd ||
continue; i1->u.mmap.offset != i->u.mmap.offset)
break; continue;
case SND_PCM_AREA_LOCAL: break;
break; case SND_PCM_AREA_SHM:
default: if (i1->u.shm.shmid != i->u.shm.shmid)
assert(0); continue;
break;
case SND_PCM_AREA_LOCAL:
break;
default:
assert(0);
}
i1->addr = i->addr;
} }
i1->addr = i->addr;
} }
a->addr = i->addr; a->addr = i->addr;
a->first = i->first; a->first = i->first;