FreeBSD kernel sound device code
|
#include <dev/sound/pcm/sound.h>
Go to the source code of this file.
Variables | |
INTERFACE | channel |
CODE | |
METHOD void * | init |
void * | devinfo |
struct snd_dbuf * | b |
struct pcm_channel * | c |
int | dir |
METHOD int | free |
void * | data |
DEFAULT | channel_nofree |
METHOD int | reset |
DEFAULT | channel_noreset |
METHOD int | resetdone |
DEFAULT | channel_noresetdone |
METHOD int | setformat |
u_int32_t | format |
METHOD u_int32_t | setspeed |
u_int32_t | speed |
METHOD u_int32_t | setblocksize |
u_int32_t | blocksize |
METHOD int | setfragments |
u_int32_t | blockcount |
DEFAULT | channel_nosetfragments |
METHOD int | trigger |
int | go |
METHOD u_int32_t | getptr |
DEFAULT | channel_nogetptr |
METHOD struct pcmchan_caps * | getcaps |
METHOD int | notify |
u_int32_t | changed |
DEFAULT | channel_nonotify |
METHOD int | getpeaks |
Retrieve channel peak values. More... | |
int * | lpeak |
int * | rpeak |
DEFAULT | channel_nogetpeaks |
METHOD int | getrates |
Retrieve discrete supported sample rates. More... | |
int ** | rates |
DEFAULT | channel_nogetrates |
METHOD struct pcmchan_matrix * | getmatrix |
DEFAULT | channel_nogetmatrix |
METHOD int | setmatrix |
struct pcmchan_matrix * | m |
DEFAULT | channel_nosetmatrix |
struct snd_dbuf* b |
Definition at line 105 of file channel_if.m.
Referenced by ad1816chan_init(), alschan_init(), aoa_chan_init(), atiixp_chan_init(), audio_soc_chan_init(), chn_abort(), chn_dmaupdate(), chn_flush(), chn_init(), chn_kill(), chn_rdfeed(), chn_resetbuf(), chn_resizebuf(), chn_start(), chn_sync(), chn_trigger(), chn_wrfeed(), cmi_mwrite(), cmichan_init(), cs4281chan_init(), csachan_init(), csamidi_mwrite(), dsp_ioctl(), emu_mwrite(), emu_vinit(), emufxrchan_init(), emupchan_init(), emurchan_init(), envy24chan_init(), envy24htchan_init(), eschan_init(), eschan_trigger(), esschan_init(), feed_eq_feed(), feed_format_feed(), feed_matrix_feed(), feed_mixer_feed(), feed_mixer_rec(), feed_volume_feed(), fm801ch_init(), gcd(), hdaa_channel_init(), hdspechan_init(), ichchan_init(), lcm(), m3_pchan_init(), m3_rchan_init(), mpu401_intr(), msschan_init(), nmchan_init(), sb16chan_init(), sb_reset_dsp(), sbchan_init(), sndbuf_acquire(), sndbuf_alloc(), sndbuf_clear(), sndbuf_clearshadow(), sndbuf_create(), sndbuf_destroy(), sndbuf_dispose(), sndbuf_dma(), sndbuf_dmabounce(), sndbuf_dmaptr(), sndbuf_dmasetdir(), sndbuf_dmasetup(), sndbuf_dump(), sndbuf_fillsilence(), sndbuf_fillsilence_rl(), sndbuf_free(), sndbuf_getalign(), sndbuf_getallocsize(), sndbuf_getblkcnt(), sndbuf_getblksz(), sndbuf_getblocks(), sndbuf_getbps(), sndbuf_getbuf(), sndbuf_getbufofs(), sndbuf_getflags(), sndbuf_getfmt(), sndbuf_getfree(), sndbuf_getfreeptr(), sndbuf_gethwptr(), sndbuf_getmaxsize(), sndbuf_getprevblocks(), sndbuf_getprevtotal(), sndbuf_getready(), sndbuf_getreadyptr(), sndbuf_getsel(), sndbuf_getsize(), sndbuf_getspd(), sndbuf_gettotal(), sndbuf_getxrun(), sndbuf_remalloc(), sndbuf_reset(), sndbuf_resize(), sndbuf_runsz(), sndbuf_setblkcnt(), sndbuf_setblksz(), sndbuf_setflags(), sndbuf_setfmt(), sndbuf_sethwptr(), sndbuf_setmap(), sndbuf_setrun(), sndbuf_setspd(), sndbuf_setup(), sndbuf_setxrun(), sndbuf_softreset(), sndbuf_updateprevtotal(), svchan_init(), trpchan_init(), trrchan_init(), ua_chan_init(), uaudio_chan_init(), umidi_convert_to_usb(), via8233dxs_init(), via8233msgd_init(), via8233wr_init(), viachan_init(), z_resampler_feed(), and z_resampler_feed_internal().
u_int32_t blockcount |
Definition at line 147 of file channel_if.m.
Referenced by ua_chan_setfragments(), and uaudio_chan_play_callback().
u_int32_t blocksize |
Definition at line 140 of file channel_if.m.
Referenced by ad1816chan_setblocksize(), alschan_setblocksize(), cmichan_setblocksize(), cs4281chan_setblocksize(), emufxrchan_setblocksize(), emupchan_setblocksize(), emurchan_setblocksize(), envy24chan_setblocksize(), envy24htchan_setblocksize(), esschan_setblocksize(), fm801ch_setblocksize(), hdspechan_setblocksize(), ichchan_setblocksize(), m3_pchan_setblocksize(), m3_rchan_setblocksize(), msschan_setblocksize(), nmchan_setblocksize(), sb16chan_setblocksize(), sbchan_setblocksize(), svchan_setblocksize(), trpchan_setblocksize(), trrchan_setblocksize(), ua_chan_setblocksize(), ua_chan_setfragments(), and viachan_setblocksize().
struct pcm_channel* c |
Definition at line 106 of file channel_if.m.
Referenced by ad1816_intr(), ad1816chan_init(), alschan_init(), aoa_chan_init(), atiixp_chan_init(), audio_soc_chan_init(), chn_abort(), chn_addfeeder(), chn_dmaupdate(), chn_findfeeder(), chn_flush(), chn_getcaps(), chn_getformats(), chn_getmatrix(), chn_getmute_matrix(), chn_getptr(), chn_getrates(), chn_getvolume_matrix(), chn_init(), chn_intr(), chn_intr_locked(), chn_kill(), chn_lockdestroy(), chn_lockinit(), chn_notify(), chn_oss_getmask(), chn_oss_getorder(), chn_oss_setorder(), chn_poll(), chn_pollreset(), chn_polltrigger(), chn_rdfeed(), chn_rdintr(), chn_read(), chn_removefeeder(), chn_reset(), chn_resetbuf(), chn_resizebuf(), chn_setblocksize(), chn_setformat(), chn_setlatency(), chn_setmatrix(), chn_setmute_matrix(), chn_setmute_multi(), chn_setparam(), chn_setspeed(), chn_setvolume(), chn_setvolume_matrix(), chn_setvolume_multi(), chn_sleep(), chn_start(), chn_sync(), chn_syncdestroy(), chn_syncstate(), chn_trigger(), chn_vpc_proc(), chn_vpc_reset(), chn_wakeup(), chn_wrfeed(), chn_wrintr(), chn_write(), cmichan_init(), cs4281chan_init(), csachan_init(), dsp_clone(), dsp_get_volume_channel(), dsp_mmap_single(), dsp_oss_syncstart(), dsp_stdclone(), emufxrchan_init(), emupchan_init(), emurchan_init(), envy24chan_init(), envy24htchan_init(), eschan_init(), esschan_init(), feed_eq_feed(), feed_format_feed(), feed_matrix_feed(), feed_mixer_feed(), feed_mixer_rec(), feed_volume_feed(), feeder_build_eq(), feeder_build_format(), feeder_build_formatne(), feeder_build_matrix(), feeder_build_mixer(), feeder_build_rate(), feeder_build_root(), feeder_build_volume(), feeder_chain(), fm801ch_init(), gcd(), hdaa_audio_setup(), hdaa_chan_formula(), hdaa_channel_init(), hdspechan_init(), ichchan_init(), m3_pchan_init(), m3_rchan_init(), midisynth_bender(), midisynth_controller(), midisynth_killnote(), midisynth_setinstr(), midisynth_startnote(), mixer_ioctl_channel(), mixer_set_eq(), mixer_set_softpcmvol(), mss_intr(), msschan_init(), nmchan_init(), opti931_intr(), opti_detect(), pcm_chnalloc(), pcm_chnref(), pcm_chnrelease(), pcm_getparentchannel(), pcm_setvchans(), sb16chan_init(), sb_intr(), sbchan_init(), snd_c2unit(), snd_clone_alloc(), snd_clone_busy(), snd_clone_create(), snd_clone_destroy(), snd_clone_disable(), snd_clone_enable(), snd_clone_gc(), snd_clone_getdeadline(), snd_clone_getflags(), snd_clone_getmaxunit(), snd_clone_getsize(), snd_clone_ref(), snd_clone_setdeadline(), snd_clone_setflags(), snd_clone_setmaxunit(), snd_clone_unref(), snd_max_c(), snd_mkunit(), snd_unit2c(), sndstat_get_caps(), sound_oss_sysinfo(), svchan_init(), sysctl_dev_pcm_eq(), sysctl_dev_pcm_eq_preamp(), sysctl_dev_pcm_vchanformat(), sysctl_dev_pcm_vchanmode(), sysctl_dev_pcm_vchanrate(), sysctl_hw_snd_feeder_rate_quality(), trpchan_init(), trrchan_init(), ua_chan_init(), uaudio20_mixer_add_mixer(), uaudio_chan_init(), uaudio_mixer_add_mixer(), vchan_destroy(), vchan_getcaps(), vchan_init(), vchan_sync(), vchan_trigger(), via8233dxs_init(), via8233msgd_init(), via8233wr_init(), viachan_init(), z_resampler_build_polyphase(), z_resampler_feed(), z_resampler_feed_internal(), and z_resampler_sinc_len().
u_int32_t changed |
Definition at line 169 of file channel_if.m.
INTERFACE channel |
Definition at line 35 of file channel_if.m.
Referenced by ac97_setmixer(), ac97_setrecsrc(), emu_enastop(), emu_vstop(), midi_init(), sndbuf_create(), sndbuf_feed(), and sv_channel_gain().
DEFAULT channel_nofree |
Definition at line 113 of file channel_if.m.
DEFAULT channel_nogetmatrix |
Definition at line 227 of file channel_if.m.
DEFAULT channel_nogetpeaks |
Definition at line 197 of file channel_if.m.
DEFAULT channel_nogetptr |
Definition at line 159 of file channel_if.m.
DEFAULT channel_nogetrates |
Definition at line 221 of file channel_if.m.
DEFAULT channel_nonotify |
Definition at line 170 of file channel_if.m.
DEFAULT channel_noreset |
Definition at line 118 of file channel_if.m.
DEFAULT channel_noresetdone |
Definition at line 123 of file channel_if.m.
DEFAULT channel_nosetfragments |
Definition at line 148 of file channel_if.m.
DEFAULT channel_nosetmatrix |
Definition at line 233 of file channel_if.m.
CODE |
Definition at line 37 of file channel_if.m.
void* data |
Definition at line 112 of file channel_if.m.
void* devinfo |
Definition at line 104 of file channel_if.m.
int dir |
Definition at line 107 of file channel_if.m.
u_int32_t format |
Definition at line 128 of file channel_if.m.
METHOD int free |
Definition at line 110 of file channel_if.m.
Referenced by ac97_destroy(), ad1816_release_resources(), als_pci_attach(), als_pci_detach(), aoa_dma_delete(), atiixp_release_resource(), audio_soc_chan_free(), audio_soc_chan_init(), audio_soc_detach(), chn_syncdestroy(), clkrun_hack(), cmi_attach(), cmi_detach(), cs4281_pci_attach(), cs4281_pci_detach(), csa_detach(), csa_releaseres(), dsp_cdevinfo_flush(), dsp_cdevinfo_free(), dsp_oss_syncgroup(), dsp_oss_syncstart(), emu_memalloc(), emu_memfree(), emu_pci_attach(), emu_pci_detach(), emu_pcm_attach(), emu_pcm_detach(), emu_rm_uninit(), envy24_cfgfree(), envy24_delta_ak4524_create(), envy24_delta_ak4524_destroy(), envy24_pci_attach(), envy24_pci_detach(), envy24chan_free(), envy24ht_cfgfree(), envy24ht_pci_attach(), envy24ht_pci_detach(), envy24ht_spi_create(), envy24ht_spi_destroy(), envy24htchan_free(), es_pci_attach(), es_pci_detach(), ess_release_resources(), feed_eq_free(), feed_format_free(), feed_matrix_free(), feed_matrix_init(), feed_volume_free(), feed_volume_init(), feeder_unregisterall(), fm801_pci_attach(), fm801_pci_detach(), hdaa_audio_bind_as(), hdaa_detach(), hdaa_eld_handler(), hdaa_unconfigure(), hdac_attach(), hdac_detach(), hdacc_detach(), hdacc_pindump(), hdspe_intr(), hdspe_running(), hdspechan_free(), i2s_postattach(), ich_pci_attach(), ich_pci_detach(), m3_pci_attach(), m3_pci_detach(), midi_destroy(), midi_init(), mpu401_init(), mpu401_uninit(), mss_release_resources(), nm_pci_attach(), nm_pci_detach(), nm_pci_probe(), pcm_chn_create(), pcm_chn_destroy(), pnpmss_attach(), sb16_release_resources(), sb_release_resources(), seq_addunit(), seq_delunit(), snd_clone_destroy(), snd_clone_gc(), snd_mtxfree(), sndbuf_destroy(), sndbuf_free(), sndbuf_remalloc(), sndbuf_resize(), sndstat_close(), sndstat_get_devs(), sndstat_line2userdev(), sndstat_open(), sndstat_refresh_devs(), sndstat_remove_all_userdevs(), sndstat_unpack_user_nvlbuf(), sndstat_unregister(), sndstat_unregisterfile(), spicds_destroy(), sv_detach(), sysctl_hdac_pindump(), tr_pci_attach(), tr_pci_detach(), uaudio_chan_free(), uaudio_hid_probe(), uaudio_mixer_ctl_free(), uaudio_mixer_fill_info(), vchan_free(), via_attach(), via_detach(), z_resampler_build_polyphase(), z_resampler_free(), z_resampler_init(), z_resampler_reset(), and z_resampler_setup().
METHOD struct pcmchan_caps* getcaps |
Definition at line 161 of file channel_if.m.
METHOD struct pcmchan_matrix* getmatrix |
Definition at line 223 of file channel_if.m.
METHOD int getpeaks |
Retrieve channel peak values.
This function is intended to obtain peak volume values for samples played/recorded on a channel. Values are on a linear scale from 0 to
lpeak
.If hardware support isn't available, the SNDCTL_DSP_GET[IO]PEAKS operation should return EINVAL. However, we may opt to provide software support that the user may toggle via sysctl/mixext.
obj | standard kobj object (usually channel->methods ) |
data | driver-specific data (usually channel->devinfo ) |
lpeak | pointer to store left peak level |
rpeak | pointer to store right peak level |
-1 | Error; usually operation isn't supported. |
0 | success |
Definition at line 192 of file channel_if.m.
METHOD u_int32_t getptr |
Definition at line 156 of file channel_if.m.
METHOD int getrates |
Retrieve discrete supported sample rates.
Some cards operate at fixed rates, and this call is intended to retrieve those rates primarily for when in-kernel rate adjustment is undesirable (e.g., application wants direct DMA access after setting a channel to run "uncooked").
The parameter rates
is a double pointer which will be reset to point to an array of supported sample rates. The number of elements in the array is returned to the caller.
obj | standard kobj object (usually channel->methods ) |
data | driver-specific data (usually channel->devinfo ) |
rates | rate array pointer |
Definition at line 217 of file channel_if.m.
int go |
Definition at line 153 of file channel_if.m.
METHOD void* init |
Definition at line 102 of file channel_if.m.
int* lpeak |
Definition at line 195 of file channel_if.m.
Referenced by dsp_ioctl().
struct pcmchan_matrix* m |
Definition at line 232 of file channel_if.m.
Referenced by ac97mix_init(), ac97mix_reinit(), ac97mix_set(), ac97mix_setrecsrc(), ac97mix_uninit(), ad1816mix_init(), ad1816mix_set(), ad1816mix_setrecsrc(), alsmix_init(), alsmix_set(), alsmix_setrecsrc(), aoagpio_probe(), burgundy_init(), burgundy_set(), chn_oss_getmask(), chn_oss_setorder(), chn_setmatrix(), chn_syncstate(), cmimix_init(), cmimix_set(), cmimix_setrecsrc(), cmpdesc(), dsp_ioctl(), emu_dspmixer_init(), emu_dspmixer_set(), emu_dspmixer_setrecsrc(), emu_dspmixer_uninit(), emu_efxmixer_init(), emu_vinit(), envy24htmixer_init(), envy24htmixer_reinit(), envy24htmixer_set(), envy24htmixer_setrecsrc(), envy24htmixer_uninit(), envy24mixer_init(), envy24mixer_reinit(), envy24mixer_set(), envy24mixer_setrecsrc(), envy24mixer_uninit(), es1370_mixinit(), es1370_mixset(), es1370_mixsetrecsrc(), essmix_init(), essmix_set(), essmix_setrecsrc(), feed_volume_init(), feed_volume_set(), feeder_default_matrix(), feeder_matrix_default_format(), feeder_matrix_oss_get_channel_order(), feeder_matrix_oss_set_channel_order(), feeder_volume_apply_matrix(), hdaa_audio_ctl_ossmixer_init(), hdaa_audio_ctl_ossmixer_set(), hdaa_audio_ctl_ossmixer_setrecsrc(), hdaa_audio_trace_adc(), hdaa_audio_trace_dac(), hdaa_channels_handler(), hdspemixer_init(), hdspemixer_set(), midi_close(), midi_destroy(), midi_in(), midi_init(), midi_open(), midi_out(), midi_poll(), midi_read(), midi_uninit(), midi_unload(), midi_write(), midimapper_fetch_synth(), midimapper_open(), midistat_prepare(), midisynth_close(), midisynth_open(), midisynth_writeraw(), mix_get(), mix_get_dev(), mix_get_locked(), mix_get_type(), mix_getchild(), mix_getdevinfo(), mix_getdevs(), mix_getmutedevs(), mix_getparent(), mix_getrecdevs(), mix_getrecsrc(), mix_set(), mix_set_locked(), mix_setdevs(), mix_setparentchild(), mix_setrealdev(), mix_setrecdevs(), mix_setrecsrc(), mixer_busy(), mixer_close(), mixer_create(), mixer_delete(), mixer_get_lock(), mixer_get_recroute(), mixer_hwvol_init(), mixer_hwvol_mute(), mixer_hwvol_mute_locked(), mixer_hwvol_step(), mixer_hwvol_step_locked(), mixer_init(), mixer_ioctl_channel(), mixer_ioctl_cmd(), mixer_mixerinfo(), mixer_obj_create(), mixer_open(), mixer_oss_mixerinfo(), mixer_reinit(), mixer_set(), mixer_set_eq(), mixer_set_recroute(), mixer_set_softpcmvol(), mixer_uninit(), mpu401_init(), mpu401_intr(), mpu401_mcallback(), mpu401_minit(), mpu401_muninit(), mpu401_timeout(), mpu401_uninit(), mss_trigger(), mssmix_init(), mssmix_set(), mssmix_setrecsrc(), onyx_init(), onyx_set(), sb16mix_init(), sb16mix_set(), sb16mix_setrecsrc(), sbmix_init(), sbmix_set(), sbpromix_init(), sbpromix_set(), sbpromix_setrecsrc(), screamer_init(), screamer_set(), seq_processevent(), seq_reset(), snapper_init(), snapper_set(), snd_mtxassert(), snd_mtxcreate(), snd_mtxfree(), sndstat_line2userdev(), sv_mix_init(), sv_mix_set(), sv_mix_setrecsrc(), sv_set_recspeed(), sysctl_es137x_single_pcm_mixer(), sysctl_hw_snd_hwvol_mixer(), tumbler_init(), tumbler_set(), ua_mixer_init(), ua_mixer_set(), ua_mixer_setrecsrc(), ua_mixer_uninit(), uaudio_chan_record_callback(), uaudio_hid_rx_callback(), uaudio_mixer_init_sub(), uaudio_mixer_set(), uaudio_mixer_setrecsrc(), uaudio_mixer_uninit_sub(), ymmix_init(), ymmix_set(), and ymmix_setrecsrc().
METHOD int notify |
Definition at line 166 of file channel_if.m.
int** rates |
Definition at line 220 of file channel_if.m.
Referenced by chn_getrates(), dsp_oss_audioinfo(), emufxrchan_getrates(), and uaudio20_check_rate().
METHOD int reset |
Definition at line 115 of file channel_if.m.
METHOD int resetdone |
Definition at line 120 of file channel_if.m.
int* rpeak |
Definition at line 196 of file channel_if.m.
Referenced by dsp_ioctl().
METHOD u_int32_t setblocksize |
Definition at line 137 of file channel_if.m.
METHOD int setformat |
Definition at line 125 of file channel_if.m.
METHOD int setfragments |
Definition at line 143 of file channel_if.m.
METHOD int setmatrix |
Definition at line 229 of file channel_if.m.
METHOD u_int32_t setspeed |
Definition at line 131 of file channel_if.m.
u_int32_t speed |
Definition at line 134 of file channel_if.m.
METHOD int trigger |
Definition at line 150 of file channel_if.m.