Home | History | Annotate | Download | only in tinyalsa

Lines Matching refs:frames

325 unsigned int pcm_frames_to_bytes(struct pcm *pcm, unsigned int frames)
327 return frames * pcm->config.channels *
403 unsigned int frames)
405 int size_bytes = pcm_frames_to_bytes(pcm, frames);
426 unsigned int pcm_offset, frames, count = 0;
429 frames = size;
430 pcm_mmap_begin(pcm, &pcm_areas, &pcm_offset, &frames);
431 pcm_areas_copy(pcm, pcm_offset, buf, offset, frames);
432 commit = pcm_mmap_commit(pcm, pcm_offset, frames);
434 oops(pcm, commit, "failed to commit %d frames\n", frames);
448 int frames;
469 frames = hw_ptr - pcm->mmap_control->appl_ptr;
471 frames = hw_ptr + pcm->buffer_size - pcm->mmap_control->appl_ptr;
473 if (frames < 0)
474 frames += pcm->boundary;
475 else if (frames > (int)pcm->boundary)
476 frames -= pcm->boundary;
478 *avail = (unsigned int)frames;
491 x.frames = count / (pcm->config.channels *
530 x.frames = count / (pcm->config.channels *
1071 static void pcm_mmap_appl_forward(struct pcm *pcm, int frames)
1074 appl_ptr += frames;
1083 unsigned int *frames)
1090 /* and the application offset in frames */
1098 /* we can only copy frames if the are availabale and continuos */
1099 copy_frames = *frames;
1104 *frames = copy_frames;
1109 int pcm_mmap_commit(struct pcm *pcm, unsigned int offset, unsigned int frames)
1112 pcm_mmap_appl_forward(pcm, frames);
1115 return frames;
1185 int err = 0, frames, avail;
1195 /* get the available space for writing new frames */
1198 fprintf(stderr, "cannot determine available mmap frames");
1215 /* sleep until we have space to write new frames */
1217 /* enable waiting for avail_min threshold when less frames than we have to write
1247 frames = count;
1248 if (frames > avail)
1249 frames = avail;
1251 if (!frames)
1254 /* copy frames from buffer */
1255 frames = pcm_mmap_transfer_areas(pcm, (void *)buffer, offset, frames);
1256 if (frames < 0) {
1261 return frames;
1264 offset += frames;
1265 count -= frames;