Lines Matching full:frames
49 static int snd_pcm_plugin_alloc(struct snd_pcm_plugin *plugin, snd_pcm_uframes_t frames) in snd_pcm_plugin_alloc() argument
64 size = frames * format->channels * width; in snd_pcm_plugin_alloc()
68 if (plugin->buf_frames < frames) { in snd_pcm_plugin_alloc()
71 plugin->buf_frames = frames; in snd_pcm_plugin_alloc()
80 c->frames = frames; in snd_pcm_plugin_alloc()
92 c->frames = frames; in snd_pcm_plugin_alloc()
104 int snd_pcm_plug_alloc(struct snd_pcm_substream *plug, snd_pcm_uframes_t frames) in snd_pcm_plug_alloc() argument
113 frames = plugin->dst_frames(plugin, frames); in snd_pcm_plug_alloc()
114 if ((snd_pcm_sframes_t)frames <= 0) in snd_pcm_plug_alloc()
117 err = snd_pcm_plugin_alloc(plugin, frames); in snd_pcm_plug_alloc()
125 frames = plugin->src_frames(plugin, frames); in snd_pcm_plug_alloc()
126 if ((snd_pcm_sframes_t)frames <= 0) in snd_pcm_plug_alloc()
129 err = snd_pcm_plugin_alloc(plugin, frames); in snd_pcm_plug_alloc()
139 snd_pcm_uframes_t frames, in snd_pcm_plugin_client_channels() argument
143 return frames; in snd_pcm_plugin_client_channels()
200 snd_pcm_sframes_t frames, in calc_dst_frames() argument
206 while (plugin && frames > 0) { in calc_dst_frames()
209 frames > plugin->buf_frames) in calc_dst_frames()
210 frames = plugin->buf_frames; in calc_dst_frames()
212 frames = plugin->dst_frames(plugin, frames); in calc_dst_frames()
213 if (frames < 0) in calc_dst_frames()
214 return frames; in calc_dst_frames()
218 return frames; in calc_dst_frames()
222 snd_pcm_sframes_t frames, in calc_src_frames() argument
228 while (plugin && frames > 0) { in calc_src_frames()
231 frames = plugin->src_frames(plugin, frames); in calc_src_frames()
232 if (frames < 0) in calc_src_frames()
233 return frames; in calc_src_frames()
236 frames > plugin->buf_frames) in calc_src_frames()
237 frames = plugin->buf_frames; in calc_src_frames()
240 return frames; in calc_src_frames()
582 v->frames = count; in snd_pcm_plug_client_channels_buf()
597 snd_pcm_sframes_t frames = size; in snd_pcm_plug_write_transfer() local
601 if (frames <= 0) in snd_pcm_plug_write_transfer()
602 return frames; in snd_pcm_plug_write_transfer()
604 snd_pcm_sframes_t frames1 = frames; in snd_pcm_plug_write_transfer()
606 frames1 = plugin->dst_frames(plugin, frames); in snd_pcm_plug_write_transfer()
614 frames = err; in snd_pcm_plug_write_transfer()
616 frames = plugin->src_frames(plugin, frames1); in snd_pcm_plug_write_transfer()
617 if (frames <= 0) in snd_pcm_plug_write_transfer()
618 return frames; in snd_pcm_plug_write_transfer()
623 pdprintf("write plugin: %s, %li\n", plugin->name, frames); in snd_pcm_plug_write_transfer()
624 if ((frames = plugin->transfer(plugin, src_channels, dst_channels, frames)) < 0) in snd_pcm_plug_write_transfer()
625 return frames; in snd_pcm_plug_write_transfer()
629 return calc_src_frames(plug, frames, true); in snd_pcm_plug_write_transfer()
636 snd_pcm_sframes_t frames = size; in snd_pcm_plug_read_transfer() local
639 frames = calc_src_frames(plug, frames, true); in snd_pcm_plug_read_transfer()
640 if (frames < 0) in snd_pcm_plug_read_transfer()
641 return frames; in snd_pcm_plug_read_transfer()
645 while (plugin && frames > 0) { in snd_pcm_plug_read_transfer()
647 if ((err = plugin->client_channels(plugin, frames, &dst_channels)) < 0) { in snd_pcm_plug_read_transfer()
650 frames = err; in snd_pcm_plug_read_transfer()
654 pdprintf("read plugin: %s, %li\n", plugin->name, frames); in snd_pcm_plug_read_transfer()
655 if ((frames = plugin->transfer(plugin, src_channels, dst_channels, frames)) < 0) in snd_pcm_plug_read_transfer()
656 return frames; in snd_pcm_plug_read_transfer()
660 return frames; in snd_pcm_plug_read_transfer()