25 #ifdef CONFIG_SND_PCM_OSS_PLUGINS
27 #define snd_pcm_plug_stream(plug) ((plug)->stream)
29 enum snd_pcm_plugin_action {
34 struct snd_pcm_channel_area {
40 struct snd_pcm_plugin_channel {
42 struct snd_pcm_channel_area area;
48 struct snd_pcm_plugin_format {
54 struct snd_pcm_plugin {
57 struct snd_pcm_plugin_format src_format;
58 struct snd_pcm_plugin_format dst_format;
66 struct snd_pcm_plugin_channel **
channels);
68 const struct snd_pcm_plugin_channel *src_channels,
69 struct snd_pcm_plugin_channel *dst_channels,
71 int (*
action)(
struct snd_pcm_plugin *plugin,
72 enum snd_pcm_plugin_action
action,
74 struct snd_pcm_plugin *
prev;
75 struct snd_pcm_plugin *
next;
78 void (*private_free)(
struct snd_pcm_plugin *plugin);
81 struct snd_pcm_plugin_channel *buf_channels;
87 struct snd_pcm_plugin_format *src_format,
88 struct snd_pcm_plugin_format *dst_format,
90 struct snd_pcm_plugin **
ret);
92 int snd_pcm_plugin_clear(
struct snd_pcm_plugin **
first);
97 #define FULL ROUTE_PLUGIN_RESOLUTION
98 #define HALF ROUTE_PLUGIN_RESOLUTION / 2
102 struct snd_pcm_plugin **r_plugin);
104 struct snd_pcm_plugin_format *src_format,
105 struct snd_pcm_plugin_format *dst_format,
106 struct snd_pcm_plugin **r_plugin);
108 struct snd_pcm_plugin_format *src_format,
109 struct snd_pcm_plugin_format *dst_format,
110 struct snd_pcm_plugin **r_plugin);
112 struct snd_pcm_plugin_format *src_format,
113 struct snd_pcm_plugin_format *dst_format,
114 struct snd_pcm_plugin **r_plugin);
116 struct snd_pcm_plugin_format *src_format,
117 struct snd_pcm_plugin_format *dst_format,
118 struct snd_pcm_plugin **r_plugin);
120 struct snd_pcm_plugin_format *src_format,
121 struct snd_pcm_plugin_format *dst_format,
122 struct snd_pcm_plugin **r_plugin);
131 int snd_pcm_plugin_append(
struct snd_pcm_plugin *plugin);
134 struct snd_pcm_plugin_channel *src_channels,
137 struct snd_pcm_plugin_channel *dst_channels_final,
142 struct snd_pcm_plugin_channel **
channels);
146 struct snd_pcm_plugin_channel **
channels);
153 const struct snd_pcm_channel_area *dst_channel,
180 #define pdprintf(fmt, args...) printk(KERN_DEBUG "plugin: " fmt, ##args)
182 #define pdprintf(fmt, args...)