Lines Matching refs:areas
240 \subsection alsa_mmap_rw Direct Read / Write transfer (via mmap'ed areas)
242 Three kinds of organization of ring buffer memory areas exist in ALSA API.
244 #SND_PCM_ACCESS_MMAP_NONINTERLEAVED expects continous sample areas for
249 access to memory areas via #snd_pcm_mmap_begin() function.
250 This function returns the areas (single area is equal to a channel)
253 transfers the data in the memory areas, then it must be acknowledged
2627 * \brief Silence one or more areas
2628 * \param dst_areas areas specification (one for each channel)
2657 /* Collapse the areas */
2795 * \brief Copy one or more areas
2796 * \param dst_areas destination areas specification (one for each channel)
2798 * \param src_areas source areas specification (one for each channel)
2842 /* Collapse the areas */
6474 * \param areas Returned mmap channel areas
6487 * the direct areas.
6490 const snd_pcm_channel_area_t **areas,
6498 assert(pcm && areas && offset && frames);
6502 *areas = xareas;
6534 const snd_pcm_area_t *areas;
6548 // it is possible that contiguous areas are smaller, thus we use a loop
6552 err = snd_pcm_mmap_begin(pcm_handle, &areas, &offset, &frames);
6555 // this function fills the areas from offset with count of frames
6556 generate_sine(areas, offset, frames, &phase);
6595 void snd_pcm_areas_from_buf(snd_pcm_t *pcm, snd_pcm_channel_area_t *areas,
6600 for (channel = 0; channel < channels; ++channel, ++areas) {
6601 areas->addr = buf;
6602 areas->first = channel * pcm->sample_bits;
6603 areas->step = pcm->frame_bits;
6607 void snd_pcm_areas_from_bufs(snd_pcm_t *pcm, snd_pcm_channel_area_t *areas,
6612 for (channel = 0; channel < channels; ++channel, ++areas, ++bufs) {
6613 areas->addr = *bufs;
6614 areas->first = 0;
6615 areas->step = pcm->sample_bits;
6619 snd_pcm_sframes_t snd_pcm_read_areas(snd_pcm_t *pcm, const snd_pcm_channel_area_t *areas,
6686 err = func(pcm, areas, offset, frames);
6698 snd_pcm_sframes_t snd_pcm_write_areas(snd_pcm_t *pcm, const snd_pcm_channel_area_t *areas,
6759 err = func(pcm, areas, offset, frames);