Lines Matching refs:plugin
25 typedef void (*rate_f)(struct snd_pcm_plugin *plugin,
38 static void rate_init(struct snd_pcm_plugin *plugin) in rate_init() argument
41 struct rate_priv *data = (struct rate_priv *)plugin->extra_data; in rate_init()
43 for (channel = 0; channel < plugin->src_format.channels; channel++) { in rate_init()
49 static void resample_expand(struct snd_pcm_plugin *plugin, in resample_expand() argument
61 struct rate_priv *data = (struct rate_priv *)plugin->extra_data; in resample_expand()
64 for (channel = 0; channel < plugin->src_format.channels; channel++) { in resample_expand()
70 snd_pcm_area_silence(&dst_channels[channel].area, 0, dst_frames, plugin->dst_format.format); in resample_expand()
108 static void resample_shrink(struct snd_pcm_plugin *plugin, in resample_shrink() argument
120 struct rate_priv *data = (struct rate_priv *)plugin->extra_data; in resample_shrink()
123 for (channel = 0; channel < plugin->src_format.channels; ++channel) { in resample_shrink()
129 snd_pcm_area_silence(&dst_channels[channel].area, 0, dst_frames, plugin->dst_format.format); in resample_shrink()
168 static snd_pcm_sframes_t rate_src_frames(struct snd_pcm_plugin *plugin, snd_pcm_uframes_t frames) in rate_src_frames() argument
173 if (snd_BUG_ON(!plugin)) in rate_src_frames()
177 data = (struct rate_priv *)plugin->extra_data; in rate_src_frames()
178 if (plugin->src_format.rate < plugin->dst_format.rate) { in rate_src_frames()
201 static snd_pcm_sframes_t rate_dst_frames(struct snd_pcm_plugin *plugin, snd_pcm_uframes_t frames) in rate_dst_frames() argument
206 if (snd_BUG_ON(!plugin)) in rate_dst_frames()
210 data = (struct rate_priv *)plugin->extra_data; in rate_dst_frames()
211 if (plugin->src_format.rate < plugin->dst_format.rate) { in rate_dst_frames()
234 static snd_pcm_sframes_t rate_transfer(struct snd_pcm_plugin *plugin, in rate_transfer() argument
242 if (snd_BUG_ON(!plugin || !src_channels || !dst_channels)) in rate_transfer()
249 for (channel = 0; channel < plugin->src_format.channels; channel++) { in rate_transfer()
260 dst_frames = rate_dst_frames(plugin, frames); in rate_transfer()
263 data = (struct rate_priv *)plugin->extra_data; in rate_transfer()
264 data->func(plugin, src_channels, dst_channels, frames, dst_frames); in rate_transfer()
268 static int rate_action(struct snd_pcm_plugin *plugin, in rate_action() argument
272 if (snd_BUG_ON(!plugin)) in rate_action()
277 rate_init(plugin); in rate_action()
292 struct snd_pcm_plugin *plugin; in snd_pcm_plugin_build_rate() local
313 &plugin); in snd_pcm_plugin_build_rate()
316 data = (struct rate_priv *)plugin->extra_data; in snd_pcm_plugin_build_rate()
325 rate_init(plugin); in snd_pcm_plugin_build_rate()
327 plugin->transfer = rate_transfer; in snd_pcm_plugin_build_rate()
328 plugin->src_frames = rate_src_frames; in snd_pcm_plugin_build_rate()
329 plugin->dst_frames = rate_dst_frames; in snd_pcm_plugin_build_rate()
330 plugin->action = rate_action; in snd_pcm_plugin_build_rate()
331 *r_plugin = plugin; in snd_pcm_plugin_build_rate()