32#ifndef __ALSA_PCM_PLUGIN_H
33#define __ALSA_PCM_PLUGIN_H
42#define SND_PCM_PLUGIN_RATE_MIN 4000
43#define SND_PCM_PLUGIN_RATE_MAX 768000
47#define SND_PCM_PLUGIN_ROUTE_FLOAT 0
49#define SND_PCM_PLUGIN_ROUTE_FLOAT 1
52#define SND_PCM_PLUGIN_ROUTE_RESOLUTION 16
54#if SND_PCM_PLUGIN_ROUTE_FLOAT
57#define SND_PCM_PLUGIN_ROUTE_HALF 0.5
58#define SND_PCM_PLUGIN_ROUTE_FULL 1.0
62#define SND_PCM_PLUGIN_ROUTE_HALF (SND_PCM_PLUGIN_ROUTE_RESOLUTION / 2)
63#define SND_PCM_PLUGIN_ROUTE_FULL SND_PCM_PLUGIN_ROUTE_RESOLUTION
70 int card,
int device,
int subdevice,
72 int mmap_emulation,
int sync_ptr_ioctl);
142 const unsigned char *status_bits,
143 const unsigned char *preamble_vals,
153 unsigned int tt_csize,
unsigned int tt_ssize,
154 unsigned int *tt_cused,
unsigned int *tt_sused,
157 unsigned int *tt_csize,
158 unsigned int *tt_ssize);
162 unsigned int tt_ssize,
163 unsigned int tt_cused,
unsigned int tt_sused,
193 const char *ladspa_path,
194 unsigned int channels,
struct _snd_config snd_config_t
Internal structure for a configuration node object.
Definition conf.h:74
int _snd_pcm_alaw_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new A-Law conversion PCM.
Definition pcm_alaw.c:508
int snd_pcm_hooks_open(snd_pcm_t **pcmp, const char *name, snd_pcm_t *slave, int close_slave)
Creates a new hooks PCM.
Definition pcm_hooks.c:216
int snd_pcm_hw_open(snd_pcm_t **pcmp, const char *name, int card, int device, int subdevice, snd_pcm_stream_t stream, int mode, int mmap_emulation, int sync_ptr_ioctl)
Creates a new hw PCM.
Definition pcm_hw.c:1757
int _snd_pcm_lfloat_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new linear<->float conversion PCM.
Definition pcm_lfloat.c:466
int snd_pcm_lfloat_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
Creates a new linear conversion PCM.
Definition pcm_lfloat.c:382
int _snd_pcm_copy_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new copy PCM.
Definition pcm_copy.c:262
int _snd_pcm_hooks_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new hooks PCM.
Definition pcm_hooks.c:482
int snd_pcm_mulaw_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
Creates a new Mu-Law conversion PCM.
Definition pcm_mulaw.c:439
int snd_pcm_route_ttable_entry_t
Definition pcm_plugin.h:61
int _snd_pcm_linear_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new linear conversion PCM.
Definition pcm_linear.c:509
int _snd_pcm_adpcm_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new Ima-ADPCM conversion PCM.
Definition pcm_adpcm.c:633
int snd_pcm_route_determine_ttable(snd_config_t *tt, unsigned int *tt_csize, unsigned int *tt_ssize)
Determine route matrix sizes.
Definition pcm_route.c:1134
int _snd_pcm_hw_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new hw PCM.
Definition pcm_hw.c:1884
int _snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new Jack PCM (internal)
int snd_pcm_copy_open(snd_pcm_t **pcmp, const char *name, snd_pcm_t *slave, int close_slave)
Creates a new copy PCM.
Definition pcm_copy.c:184
int snd_pcm_iec958_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave, const unsigned char *status_bits, const unsigned char *preamble_vals, int hdmi_mode)
Creates a new IEC958 subframe conversion PCM.
Definition pcm_iec958.c:564
int _snd_pcm_rate_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new rate PCM.
Definition pcm_rate.c:1688
int _snd_pcm_iec958_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new IEC958 subframe conversion PCM.
Definition pcm_iec958.c:686
int _snd_pcm_mulaw_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new Mu-Law conversion PCM.
Definition pcm_mulaw.c:523
int snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name, snd_config_t *playback_conf, snd_config_t *capture_conf, snd_pcm_stream_t stream, int mode)
Creates a new Jack PCM.
int snd_pcm_route_load_ttable(snd_config_t *tt, snd_pcm_route_ttable_entry_t *ttable, unsigned int tt_csize, unsigned int tt_ssize, unsigned int *tt_cused, unsigned int *tt_sused, int schannels)
Load route matrix.
Definition pcm_route.c:1235
int _snd_pcm_route_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new Route & Volume PCM.
Definition pcm_route.c:1297
int snd_pcm_rate_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, unsigned int srate, const snd_config_t *converter, snd_pcm_t *slave, int close_slave)
Creates a new rate PCM.
Definition pcm_rate.c:1504
int snd_pcm_linear_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
Creates a new linear conversion PCM.
Definition pcm_linear.c:427
int snd_pcm_ladspa_open(snd_pcm_t **pcmp, const char *name, const char *ladspa_path, unsigned int channels, snd_config_t *ladspa_pplugins, snd_config_t *ladspa_cplugins, snd_pcm_t *slave, int close_slave)
Creates a new LADSPA<->ALSA Plugin.
Definition pcm_ladspa.c:1586
int snd_pcm_alaw_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
Creates a new A-Law conversion PCM.
Definition pcm_alaw.c:424
int snd_pcm_route_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, int schannels, snd_pcm_route_ttable_entry_t *ttable, unsigned int tt_ssize, unsigned int tt_cused, unsigned int tt_sused, snd_pcm_t *slave, int close_slave)
Creates a new Route & Volume PCM.
Definition pcm_route.c:1025
int _snd_pcm_ladspa_open(snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
Creates a new LADSPA<->ALSA PCM.
Definition pcm_ladspa.c:1733
int snd_pcm_adpcm_open(snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
Creates a new Ima-ADPCM conversion PCM.
Definition pcm_adpcm.c:550
struct _snd_pcm snd_pcm_t
Definition pcm.h:422
snd_pcm_format_t
Definition pcm.h:129
snd_pcm_stream_t
Definition pcm.h:105