Lines Matching refs:areas

241 \subsection alsa_mmap_rw Direct Read / Write transfer (via mmap'ed areas)
243 Three kinds of organization of ring buffer memory areas exist in ALSA API.
245 #SND_PCM_ACCESS_MMAP_NONINTERLEAVED expects continous sample areas for
250 access to memory areas via #snd_pcm_mmap_begin() function.
251 This function returns the areas (single area is equal to a channel)
254 transfers the data in the memory areas, then it must be acknowledged
3251 * \brief Silence one or more areas
3252 * \param dst_areas areas specification (one for each channel)
3281 /* Collapse the areas */
3421 * \brief Copy one or more areas
3422 * \param dst_areas destination areas specification (one for each channel)
3424 * \param src_areas source areas specification (one for each channel)
3471 /* Collapse the areas */
3497 * \brief Copy one or more areas
3498 * \param dst_channels destination areas specification (one for each channel)
3501 * \param src_channels source areas specification (one for each channel)
7383 * \param areas Returned mmap channel areas
7396 * the direct areas.
7401 const snd_pcm_channel_area_t **areas,
7411 err = __snd_pcm_mmap_begin(pcm, areas, offset, frames);
7417 int __snd_pcm_mmap_begin_generic(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas,
7425 assert(pcm && areas && offset && frames);
7431 *areas = xareas;
7447 int __snd_pcm_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas,
7450 assert(pcm && areas && offset && frames);
7453 return pcm->fast_ops->mmap_begin(pcm->fast_op_arg, areas, offset, frames);
7455 return __snd_pcm_mmap_begin_generic(pcm, areas, offset, frames);
7476 const snd_pcm_area_t *areas;
7490 // it is possible that contiguous areas are smaller, thus we use a loop
7494 err = snd_pcm_mmap_begin(pcm_handle, &areas, &offset, &frames);
7497 // this function fills the areas from offset with count of frames
7498 generate_sine(areas, offset, frames, &phase);
7558 void snd_pcm_areas_from_buf(snd_pcm_t *pcm, snd_pcm_channel_area_t *areas,
7566 for (channel = 0; channel < channels; ++channel, ++areas) {
7567 areas->addr = buf;
7568 areas->first = channel * pcm->sample_bits;
7569 areas->step = pcm->frame_bits;
7574 void snd_pcm_areas_from_bufs(snd_pcm_t *pcm, snd_pcm_channel_area_t *areas,
7582 for (channel = 0; channel < channels; ++channel, ++areas, ++bufs) {
7583 areas->addr = *bufs;
7584 areas->first = 0;
7585 areas->step = pcm->sample_bits;
7590 snd_pcm_sframes_t snd_pcm_read_areas(snd_pcm_t *pcm, const snd_pcm_channel_area_t *areas,
7651 err = func(pcm, areas, offset, frames);
7664 snd_pcm_sframes_t snd_pcm_write_areas(snd_pcm_t *pcm, const snd_pcm_channel_area_t *areas,
7728 err = func(pcm, areas, offset, frames);