FreeBSD kernel sound device code
|
#include <channel.h>
Data Fields | |
kobj_t | methods |
pid_t | pid |
int | refcount |
struct pcm_feeder * | feeder |
u_int32_t | align |
int | latency |
u_int32_t | speed |
u_int32_t | format |
u_int32_t | flags |
u_int32_t | feederflags |
u_int64_t | blocks |
int | direction |
unsigned int | interrupts |
unsigned int | xruns |
unsigned int | feedcount |
unsigned int | timeout |
struct snd_dbuf * | bufhard |
struct snd_dbuf * | bufsoft |
struct snddev_info * | parentsnddev |
struct pcm_channel * | parentchannel |
void * | devinfo |
device_t | dev |
int | unit |
char | name [CHN_NAMELEN] |
char | comm [MAXCOMLEN+1] |
struct mtx * | lock |
int | trigger |
struct cv | intr_cv |
unsigned int | inprog |
struct cv | cv |
unsigned int | lw |
struct pcmchan_syncmember * | sm |
struct { | |
struct { | |
} busy | |
} | children |
struct { | |
struct { | |
struct { | |
} busy | |
struct { | |
} opened | |
} pcm | |
} | channels |
struct pcmchan_matrix | matrix |
struct pcmchan_matrix | matrix_scratch |
int16_t | volume [SND_VOL_C_MAX][SND_CHN_T_VOL_MAX] |
int8_t | muted [SND_VOL_C_MAX][SND_CHN_T_VOL_MAX] |
void * | data1 |
void * | data2 |
u_int64_t pcm_channel::blocks |
Definition at line 98 of file channel.h.
Referenced by chn_resetbuf(), and dsp_ioctl().
struct snd_dbuf* pcm_channel::bufhard |
Definition at line 103 of file channel.h.
Referenced by chn_abort(), chn_dmaupdate(), chn_flush(), chn_getptr(), chn_init(), chn_kill(), chn_rdfeed(), chn_resetbuf(), chn_resizebuf(), chn_setparam(), chn_start(), chn_sync(), chn_trigger(), chn_wrfeed(), feed_mixer_rec(), feeder_chain(), and vchan_sync().
struct snd_dbuf * pcm_channel::bufsoft |
Definition at line 103 of file channel.h.
Referenced by chn_abort(), chn_init(), chn_kill(), chn_poll(), chn_pollreset(), chn_polltrigger(), chn_rdfeed(), chn_read(), chn_resetbuf(), chn_resizebuf(), chn_start(), chn_sync(), chn_wakeup(), chn_wrfeed(), chn_write(), dsp_ioctl(), dsp_mmap_single(), feed_mixer_feed(), feed_mixer_rec(), and feeder_chain().
struct { ... } pcm_channel::busy |
Referenced by chn_init(), chn_notify(), feed_mixer_rec(), and sysctl_dev_pcm_vchanrate().
struct { ... } pcm_channel::busy |
struct { ... } pcm_channel::channels |
struct { ... } pcm_channel::children |
Referenced by chn_wakeup(), feed_mixer_feed(), sysctl_dev_pcm_vchanformat(), and vchan_trigger().
char pcm_channel::comm[MAXCOMLEN+1] |
Definition at line 110 of file channel.h.
Referenced by pcm_chn_create(), pcm_chnalloc(), pcm_chnrelease(), and vchan_sync().
struct cv pcm_channel::cv |
Special channel operations should examine inprog
after acquiring lock. If zero, operations may continue. Else, thread should wait on this cv for previous operation to finish.
Definition at line 127 of file channel.h.
Referenced by chn_lockdestroy(), chn_lockinit(), and dsp_ioctl().
device_t pcm_channel::dev |
Definition at line 107 of file channel.h.
Referenced by chn_dmaupdate(), chn_init(), chn_read(), chn_reset(), chn_resizebuf(), chn_setformat(), chn_setspeed(), chn_start(), chn_sync(), chn_syncstate(), chn_trigger(), chn_write(), feeder_build_eq(), feeder_build_format(), feeder_build_matrix(), feeder_build_mixer(), feeder_build_rate(), feeder_build_root(), feeder_build_volume(), feeder_chain(), pcm_chn_create(), pcm_chn_destroy(), vchan_create(), vchan_getcaps(), and vchan_sync().
void* pcm_channel::devinfo |
Definition at line 106 of file channel.h.
Referenced by chn_getcaps(), chn_getptr(), chn_getrates(), chn_init(), chn_kill(), chn_notify(), chn_oss_getmask(), chn_reset(), chn_resizebuf(), chn_setparam(), chn_trigger(), feeder_chain(), sysctl_dev_pcm_vchanrate(), and vchan_create().
int pcm_channel::direction |
Definition at line 100 of file channel.h.
Referenced by chn_dmaupdate(), chn_flush(), chn_init(), chn_intr_locked(), chn_notify(), chn_polltrigger(), chn_resizebuf(), chn_start(), chn_sync(), chn_syncstate(), dsp_ioctl_channel(), dsp_oss_audioinfo(), feed_mixer_feed(), feed_root(), feeder_chain(), mixer_ioctl_channel(), mixer_set_softpcmvol(), pcm_chn_add(), pcm_chn_create(), pcm_chnalloc(), pcm_getparentchannel(), pcm_setvchans(), sndstat_get_caps(), sysctl_dev_pcm_vchanformat(), sysctl_dev_pcm_vchanmode(), sysctl_dev_pcm_vchanrate(), and vchan_create().
unsigned int pcm_channel::feedcount |
Definition at line 101 of file channel.h.
Referenced by chn_reset(), chn_start(), feed_mixer_feed(), and feed_root().
struct pcm_feeder* pcm_channel::feeder |
Definition at line 90 of file channel.h.
Referenced by chn_addfeeder(), chn_findfeeder(), chn_init(), chn_rdfeed(), chn_removefeeder(), chn_wrfeed(), feed_mixer_feed(), feed_mixer_rec(), feeder_build_eq(), feeder_build_matrix(), feeder_build_rate(), feeder_build_root(), feeder_build_volume(), and feeder_chain().
u_int32_t pcm_channel::feederflags |
Definition at line 97 of file channel.h.
Referenced by chn_init(), chn_syncstate(), dsp_get_volume_channel(), dsp_ioctl_channel(), feeder_build_eq(), feeder_build_format(), feeder_build_matrix(), feeder_build_mixer(), feeder_build_rate(), feeder_build_root(), feeder_build_volume(), feeder_chain(), mixer_ioctl_channel(), and mixer_set_softpcmvol().
u_int32_t pcm_channel::flags |
Definition at line 96 of file channel.h.
Referenced by chn_abort(), chn_flush(), chn_init(), chn_kill(), chn_notify(), chn_poll(), chn_polltrigger(), chn_rdfeed(), chn_read(), chn_reset(), chn_resizebuf(), chn_sleep(), chn_start(), chn_sync(), chn_wakeup(), chn_wrfeed(), chn_write(), dsp_close(), dsp_ioctl(), dsp_mmap_single(), dsp_open(), dsp_oss_audioinfo(), dsp_oss_cookedmode(), dsp_oss_syncgroup(), dsp_oss_syncstart(), dsp_poll(), feed_mixer_feed(), feed_mixer_rec(), feed_root(), feeder_chain(), getchns(), pcm_chnalloc(), pcm_chnrelease(), pcm_getparentchannel(), pcm_setvchans(), snd_clone_alloc(), snd_clone_create(), snd_clone_disable(), snd_clone_enable(), snd_clone_gc(), snd_clone_getflags(), snd_clone_setflags(), snd_clone_unref(), sndstat_get_caps(), sound_oss_sysinfo(), sysctl_dev_pcm_vchanformat(), sysctl_dev_pcm_vchanmode(), sysctl_dev_pcm_vchanrate(), vchan_create(), vchan_destroy(), vchan_getcaps(), vchan_init(), and vchan_sync().
u_int32_t pcm_channel::format |
Definition at line 95 of file channel.h.
Referenced by chn_getmatrix(), chn_init(), chn_notify(), chn_oss_getorder(), chn_oss_setorder(), chn_setformat(), chn_setmatrix(), chn_setparam(), chn_setspeed(), dsp_ioctl(), feed_mixer_feed(), feeder_chain(), sysctl_dev_pcm_vchanformat(), sysctl_dev_pcm_vchanrate(), vchan_create(), vchan_destroy(), vchan_getcaps(), and vchan_init().
unsigned int pcm_channel::inprog |
Increment,decrement this around operations that temporarily yield lock.
Definition at line 121 of file channel.h.
Referenced by dsp_ioctl().
unsigned int pcm_channel::interrupts |
Definition at line 101 of file channel.h.
Referenced by chn_intr_locked(), chn_reset(), and chn_start().
struct cv pcm_channel::intr_cv |
For interrupt manipulations.
Definition at line 116 of file channel.h.
Referenced by chn_lockdestroy(), chn_lockinit(), chn_sleep(), and chn_wakeup().
int pcm_channel::latency |
Definition at line 93 of file channel.h.
Referenced by chn_init(), and chn_resizebuf().
struct mtx* pcm_channel::lock |
Definition at line 111 of file channel.h.
Referenced by chn_lockdestroy(), chn_lockinit(), chn_sleep(), dsp_ioctl(), and uaudio_chan_init().
unsigned int pcm_channel::lw |
Low water mark for select()/poll().
This is initialized to the channel's fragment size, and will be overwritten if a new fragment size is set. Users may alter this value directly with the SNDCTL_DSP_LOW_WATER
ioctl.
Definition at line 135 of file channel.h.
Referenced by chn_polltrigger(), chn_resizebuf(), and dsp_ioctl().
struct pcmchan_matrix pcm_channel::matrix |
Definition at line 166 of file channel.h.
Referenced by chn_getmatrix(), chn_init(), chn_oss_getorder(), chn_oss_setorder(), chn_setmatrix(), and feeder_chain().
struct pcmchan_matrix pcm_channel::matrix_scratch |
Definition at line 167 of file channel.h.
Referenced by feeder_chain().
kobj_t pcm_channel::methods |
Definition at line 86 of file channel.h.
Referenced by chn_getcaps(), chn_getptr(), chn_getrates(), chn_init(), chn_kill(), chn_notify(), chn_oss_getmask(), chn_reset(), chn_resizebuf(), chn_setparam(), chn_trigger(), feeder_chain(), pcm_chn_create(), pcm_chn_destroy(), sysctl_dev_pcm_vchanrate(), and vchan_create().
int8_t pcm_channel::muted[SND_VOL_C_MAX][SND_CHN_T_VOL_MAX] |
Definition at line 170 of file channel.h.
Referenced by chn_getmute_matrix(), chn_init(), chn_setmute_matrix(), and feed_volume_feed().
char pcm_channel::name[CHN_NAMELEN] |
Definition at line 109 of file channel.h.
Referenced by chn_init(), chn_lockinit(), chn_read(), chn_trigger(), chn_write(), dsp_ioctl(), dsp_oss_audioinfo(), pcm_addchan(), pcm_chn_create(), pcm_chn_destroy(), and pcm_unregister().
struct { ... } pcm_channel::opened |
struct pcm_channel* pcm_channel::parentchannel |
Definition at line 105 of file channel.h.
Referenced by chn_resizebuf(), chn_start(), feeder_chain(), pcm_chn_create(), pcm_getparentchannel(), vchan_destroy(), vchan_getcaps(), vchan_init(), vchan_sync(), and vchan_trigger().
struct snddev_info* pcm_channel::parentsnddev |
Definition at line 104 of file channel.h.
Referenced by chn_notify(), chn_syncstate(), chn_trigger(), feeder_chain(), pcm_chn_create(), pcm_chn_destroy(), pcm_chnref(), pcm_chnrelease(), vchan_create(), and vchan_destroy().
struct { ... } pcm_channel::pcm |
pid_t pcm_channel::pid |
Definition at line 88 of file channel.h.
Referenced by dsp_oss_audioinfo(), mixer_ioctl_channel(), pcm_chn_create(), pcm_chnalloc(), pcm_chnrelease(), and pcm_unregister().
int pcm_channel::refcount |
Definition at line 89 of file channel.h.
Referenced by pcm_chnref(), pcm_setvchans(), pcm_unregister(), snd_clone_create(), snd_clone_ref(), and snd_clone_unref().
struct pcmchan_syncmember* pcm_channel::sm |
If part of a sync group, this will point to the syncmember container.
Definition at line 140 of file channel.h.
Referenced by chn_init(), chn_syncdestroy(), dsp_oss_syncgroup(), and dsp_oss_syncstart().
u_int32_t pcm_channel::speed |
Definition at line 94 of file channel.h.
Referenced by chn_init(), chn_notify(), chn_setformat(), chn_setparam(), chn_setspeed(), dsp_ioctl(), envy24chan_trigger(), envy24htchan_trigger(), feeder_chain(), sysctl_dev_pcm_vchanformat(), sysctl_dev_pcm_vchanrate(), vchan_create(), vchan_destroy(), vchan_getcaps(), and vchan_sync().
unsigned int pcm_channel::timeout |
Definition at line 102 of file channel.h.
Referenced by chn_init(), chn_reset(), chn_resizebuf(), chn_sleep(), chn_start(), and chn_sync().
int pcm_channel::trigger |
Definition at line 112 of file channel.h.
Referenced by chn_trigger(), and pcm_chn_create().
int pcm_channel::unit |
Definition at line 108 of file channel.h.
Referenced by dsp_clone(), dsp_get_volume_channel(), dsp_oss_audioinfo(), dsp_unit2name(), pcm_chn_create(), pcm_chnalloc(), and vchan_sync().
int16_t pcm_channel::volume[SND_VOL_C_MAX][SND_CHN_T_VOL_MAX] |
Definition at line 169 of file channel.h.
Referenced by chn_getvolume_matrix(), chn_init(), chn_setvolume_matrix(), chn_vpc_reset(), and feed_volume_feed().
unsigned int pcm_channel::xruns |
Definition at line 101 of file channel.h.
Referenced by chn_rdfeed(), chn_reset(), chn_start(), chn_wrfeed(), dsp_ioctl(), feed_mixer_rec(), and feed_root().