FreeBSD kernel sound device code
pcm_channel Struct Reference

#include <channel.h>

Collaboration diagram for pcm_channel:

Data Fields

kobj_t methods
 
pid_t pid
 
int refcount
 
struct pcm_feederfeeder
 
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_dbufbufhard
 
struct snd_dbufbufsoft
 
struct snddev_infoparentsnddev
 
struct pcm_channelparentchannel
 
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_syncmembersm
 
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
 

Detailed Description

Definition at line 85 of file channel.h.

Field Documentation

◆ align

u_int32_t pcm_channel::align

Definition at line 91 of file channel.h.

◆ blocks

u_int64_t pcm_channel::blocks

Definition at line 98 of file channel.h.

Referenced by chn_resetbuf(), and dsp_ioctl().

◆ bufhard

◆ bufsoft

◆  [1/2]

struct { ... } pcm_channel::busy

◆  [2/2]

struct { ... } pcm_channel::busy

◆ 

◆ 

struct { ... } pcm_channel::children

◆ comm

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().

◆ cv

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().

◆ data1

void* pcm_channel::data1

Definition at line 172 of file channel.h.

◆ data2

void * pcm_channel::data2

Definition at line 172 of file channel.h.

◆ dev

◆ devinfo

◆ direction

◆ feedcount

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().

◆ feeder

◆ feederflags

◆ flags

◆ format

◆ inprog

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().

◆ interrupts

unsigned int pcm_channel::interrupts

Definition at line 101 of file channel.h.

Referenced by chn_intr_locked(), chn_reset(), and chn_start().

◆ intr_cv

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().

◆ latency

int pcm_channel::latency

Definition at line 93 of file channel.h.

Referenced by chn_init(), and chn_resizebuf().

◆ lock

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().

◆ lw

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().

◆ matrix

struct pcmchan_matrix pcm_channel::matrix

◆ matrix_scratch

struct pcmchan_matrix pcm_channel::matrix_scratch

Definition at line 167 of file channel.h.

Referenced by feeder_chain().

◆ methods

◆ muted

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().

◆ name

◆ 

struct { ... } pcm_channel::opened

◆ parentchannel

◆ parentsnddev

◆ 

struct { ... } pcm_channel::pcm

◆ pid

pid_t pcm_channel::pid

◆ refcount

int pcm_channel::refcount

◆ sm

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().

◆ speed

◆ timeout

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().

◆ trigger

int pcm_channel::trigger

Definition at line 112 of file channel.h.

Referenced by chn_trigger(), and pcm_chn_create().

◆ unit

int pcm_channel::unit

◆ volume

int16_t pcm_channel::volume[SND_VOL_C_MAX][SND_CHN_T_VOL_MAX]

◆ xruns

unsigned int pcm_channel::xruns

The documentation for this struct was generated from the following file: