Lines Matching refs:frames
49 static int snd_pcm_plugin_alloc(struct snd_pcm_plugin *plugin, snd_pcm_uframes_t frames) in snd_pcm_plugin_alloc() argument
65 size = frames * format->channels * width; in snd_pcm_plugin_alloc()
69 if (plugin->buf_frames < frames) { in snd_pcm_plugin_alloc()
72 plugin->buf_frames = frames; in snd_pcm_plugin_alloc()
81 c->frames = frames; in snd_pcm_plugin_alloc()
93 c->frames = frames; in snd_pcm_plugin_alloc()
105 int snd_pcm_plug_alloc(struct snd_pcm_substream *plug, snd_pcm_uframes_t frames) in snd_pcm_plug_alloc() argument
114 frames = plugin->dst_frames(plugin, frames); in snd_pcm_plug_alloc()
115 if ((snd_pcm_sframes_t)frames <= 0) in snd_pcm_plug_alloc()
118 err = snd_pcm_plugin_alloc(plugin, frames); in snd_pcm_plug_alloc()
126 frames = plugin->src_frames(plugin, frames); in snd_pcm_plug_alloc()
127 if ((snd_pcm_sframes_t)frames <= 0) in snd_pcm_plug_alloc()
130 err = snd_pcm_plugin_alloc(plugin, frames); in snd_pcm_plug_alloc()
140 snd_pcm_uframes_t frames, in snd_pcm_plugin_client_channels() argument
144 return frames; in snd_pcm_plugin_client_channels()
201 snd_pcm_sframes_t frames, in calc_dst_frames() argument
207 while (plugin && frames > 0) { in calc_dst_frames()
210 frames > plugin->buf_frames) in calc_dst_frames()
211 frames = plugin->buf_frames; in calc_dst_frames()
213 frames = plugin->dst_frames(plugin, frames); in calc_dst_frames()
214 if (frames < 0) in calc_dst_frames()
215 return frames; in calc_dst_frames()
219 return frames; in calc_dst_frames()
223 snd_pcm_sframes_t frames, in calc_src_frames() argument
229 while (plugin && frames > 0) { in calc_src_frames()
232 frames = plugin->src_frames(plugin, frames); in calc_src_frames()
233 if (frames < 0) in calc_src_frames()
234 return frames; in calc_src_frames()
237 frames > plugin->buf_frames) in calc_src_frames()
238 frames = plugin->buf_frames; in calc_src_frames()
241 return frames; in calc_src_frames()
584 v->frames = count; in snd_pcm_plug_client_channels_buf()
599 snd_pcm_sframes_t frames = size; in snd_pcm_plug_write_transfer() local
603 if (frames <= 0) in snd_pcm_plug_write_transfer()
604 return frames; in snd_pcm_plug_write_transfer()
607 snd_pcm_sframes_t frames1 = frames; in snd_pcm_plug_write_transfer()
609 frames1 = plugin->dst_frames(plugin, frames); in snd_pcm_plug_write_transfer()
617 frames = err; in snd_pcm_plug_write_transfer()
619 frames = plugin->src_frames(plugin, frames1); in snd_pcm_plug_write_transfer()
620 if (frames <= 0) in snd_pcm_plug_write_transfer()
621 return frames; in snd_pcm_plug_write_transfer()
626 pdprintf("write plugin: %s, %li\n", plugin->name, frames); in snd_pcm_plug_write_transfer()
627 frames = plugin->transfer(plugin, src_channels, dst_channels, frames); in snd_pcm_plug_write_transfer()
628 if (frames < 0) in snd_pcm_plug_write_transfer()
629 return frames; in snd_pcm_plug_write_transfer()
633 return calc_src_frames(plug, frames, true); in snd_pcm_plug_write_transfer()
640 snd_pcm_sframes_t frames = size; in snd_pcm_plug_read_transfer() local
643 frames = calc_src_frames(plug, frames, true); in snd_pcm_plug_read_transfer()
644 if (frames < 0) in snd_pcm_plug_read_transfer()
645 return frames; in snd_pcm_plug_read_transfer()
649 while (plugin && frames > 0) { in snd_pcm_plug_read_transfer()
652 err = plugin->client_channels(plugin, frames, &dst_channels); in snd_pcm_plug_read_transfer()
655 frames = err; in snd_pcm_plug_read_transfer()
659 pdprintf("read plugin: %s, %li\n", plugin->name, frames); in snd_pcm_plug_read_transfer()
660 frames = plugin->transfer(plugin, src_channels, dst_channels, frames); in snd_pcm_plug_read_transfer()
661 if (frames < 0) in snd_pcm_plug_read_transfer()
662 return frames; in snd_pcm_plug_read_transfer()
666 return frames; in snd_pcm_plug_read_transfer()