diff options
author | cg <cg@FreeBSD.org> | 2000-08-20 22:18:56 +0000 |
---|---|---|
committer | cg <cg@FreeBSD.org> | 2000-08-20 22:18:56 +0000 |
commit | cc65486f22393469327f3952efc2526af719e4a2 (patch) | |
tree | f4dad15d15847c43242bb2f8e08bd8143dae99e5 /sys/dev/sound/isa | |
parent | b648921accec69a7e5c83e915ded3037cbca7f3d (diff) | |
download | FreeBSD-src-cc65486f22393469327f3952efc2526af719e4a2.zip FreeBSD-src-cc65486f22393469327f3952efc2526af719e4a2.tar.gz |
rework feeder sytem to allow feeders in klds
modify driver capability reporting format to list every audio format
seperately- required for above and because we could not previously indicate
that mono was unsupported.
there should be no functional impact.
Diffstat (limited to 'sys/dev/sound/isa')
-rw-r--r-- | sys/dev/sound/isa/ad1816.c | 16 | ||||
-rw-r--r-- | sys/dev/sound/isa/ess.c | 32 | ||||
-rw-r--r-- | sys/dev/sound/isa/mss.c | 43 | ||||
-rw-r--r-- | sys/dev/sound/isa/sb.c | 51 | ||||
-rw-r--r-- | sys/dev/sound/isa/sb16.c | 51 | ||||
-rw-r--r-- | sys/dev/sound/isa/sb8.c | 51 |
6 files changed, 152 insertions, 92 deletions
diff --git a/sys/dev/sound/isa/ad1816.c b/sys/dev/sound/isa/ad1816.c index a041ba9..ec7a61e 100644 --- a/sys/dev/sound/isa/ad1816.c +++ b/sys/dev/sound/isa/ad1816.c @@ -85,12 +85,20 @@ static int ad1816chan_trigger(void *data, int go); static int ad1816chan_getptr(void *data); static pcmchan_caps *ad1816chan_getcaps(void *data); -static pcmchan_caps ad1816_caps = { - 4000, 55200, - AFMT_STEREO | AFMT_U8 | AFMT_S16_LE | AFMT_MU_LAW | AFMT_A_LAW, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t ad1816_fmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + AFMT_MU_LAW, + AFMT_STEREO | AFMT_MU_LAW, + AFMT_A_LAW, + AFMT_STEREO | AFMT_A_LAW, + 0 }; +static pcmchan_caps ad1816_caps = {4000, 55200, ad1816_fmt, 0}; + static pcm_channel ad1816_chantemplate = { ad1816chan_init, ad1816chan_setdir, diff --git a/sys/dev/sound/isa/ess.c b/sys/dev/sound/isa/ess.c index 709549b..2252cd9 100644 --- a/sys/dev/sound/isa/ess.c +++ b/sys/dev/sound/isa/ess.c @@ -55,18 +55,34 @@ static int esschan_trigger(void *data, int go); static int esschan_getptr(void *data); static pcmchan_caps *esschan_getcaps(void *data); -static pcmchan_caps ess_playcaps = { - 5000, 49000, - AFMT_STEREO | AFMT_U8 | AFMT_S8 | AFMT_U16_LE | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t ess_pfmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S8, + AFMT_STEREO | AFMT_S8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + AFMT_U16_LE, + AFMT_STEREO | AFMT_U16_LE, + 0 }; -static pcmchan_caps ess_reccaps = { - 5000, 49000, - AFMT_STEREO | AFMT_U8 | AFMT_S8 | AFMT_U16_LE | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static pcmchan_caps ess_playcaps = {5000, 49000, ess_pfmt, 0}; + +static u_int32_t ess_rfmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S8, + AFMT_STEREO | AFMT_S8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + AFMT_U16_LE, + AFMT_STEREO | AFMT_U16_LE, + 0 }; +static pcmchan_caps ess_reccaps = {5000, 49000, ess_rfmt, 0}; + static pcm_channel ess_chantemplate = { esschan_init, esschan_setdir, diff --git a/sys/dev/sound/isa/mss.c b/sys/dev/sound/isa/mss.c index 5240938..71f9dd5 100644 --- a/sys/dev/sound/isa/mss.c +++ b/sys/dev/sound/isa/mss.c @@ -136,23 +136,38 @@ static int msschan_trigger(void *data, int go); static int msschan_getptr(void *data); static pcmchan_caps *msschan_getcaps(void *data); -static pcmchan_caps mss_caps = { - 4000, 48000, - AFMT_STEREO | AFMT_U8 | AFMT_S16_LE | AFMT_MU_LAW | AFMT_A_LAW, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t mss_fmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + AFMT_MU_LAW, + AFMT_STEREO | AFMT_MU_LAW, + AFMT_A_LAW, + AFMT_STEREO | AFMT_A_LAW, + 0 }; - -static pcmchan_caps guspnp_caps = { - 4000, 48000, - AFMT_STEREO | AFMT_U8 | AFMT_S16_LE | AFMT_A_LAW, - AFMT_STEREO | AFMT_S16_LE +static pcmchan_caps mss_caps = {4000, 48000, mss_fmt, 0}; + +static u_int32_t guspnp_fmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + AFMT_A_LAW, + AFMT_STEREO | AFMT_A_LAW, + 0 }; - -static pcmchan_caps opti931_caps = { - 4000, 48000, - AFMT_STEREO | AFMT_U8 | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static pcmchan_caps guspnp_caps = {4000, 48000, guspnp_fmt, 0}; + +static u_int32_t opti931_fmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + 0 }; +static pcmchan_caps opti931_caps = {4000, 48000, opti931_fmt, 0}; static pcm_channel mss_chantemplate = { msschan_init, diff --git a/sys/dev/sound/isa/sb.c b/sys/dev/sound/isa/sb.c index f984d5c..d975311 100644 --- a/sys/dev/sound/isa/sb.c +++ b/sys/dev/sound/isa/sb.c @@ -49,47 +49,54 @@ static int sbchan_trigger(void *data, int go); static int sbchan_getptr(void *data); static pcmchan_caps *sbchan_getcaps(void *data); -static pcmchan_caps sb_playcaps = { - 4000, 22050, +static u_int32_t sb_playfmt[] = { AFMT_U8, - AFMT_U8 + 0 }; +static pcmchan_caps sb_playcaps = {4000, 22050, sb_playfmt, 0}; -static pcmchan_caps sb_reccaps = { - 4000, 13000, +static u_int32_t sb_recfmt[] = { AFMT_U8, - AFMT_U8 + 0 }; +static pcmchan_caps sb_reccaps = {4000, 13000, sb_recfmt, 0}; -static pcmchan_caps sbpro_playcaps = { - 4000, 45000, +static u_int32_t sbpro_playfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sbpro_playcaps = {4000, 45000, sbpro_playfmt, 0}; -static pcmchan_caps sbpro_reccaps = { - 4000, 15000, +static u_int32_t sbpro_recfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sbpro_reccaps = {4000, 15000, sbpro_recfmt, 0}; -static pcmchan_caps sb16_hcaps = { - 5000, 45000, +static u_int32_t sb16_hfmt[] = { + AFMT_S16_LE, AFMT_STEREO | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE + 0 }; +static pcmchan_caps sb16_hcaps = {5000, 45000, sb16_hfmt, 0}; -static pcmchan_caps sb16_lcaps = { - 5000, 45000, +static u_int32_t sb16_lfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sb16_lcaps = {5000, 45000, sb16_lfmt, 0}; -static pcmchan_caps sb16x_caps = { - 5000, 49000, - AFMT_STEREO | AFMT_U8 | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t sb16x_fmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + 0 }; +static pcmchan_caps sb16x_caps = {5000, 49000, sb16x_fmt, 0}; static pcm_channel sb_chantemplate = { sbchan_init, diff --git a/sys/dev/sound/isa/sb16.c b/sys/dev/sound/isa/sb16.c index f984d5c..d975311 100644 --- a/sys/dev/sound/isa/sb16.c +++ b/sys/dev/sound/isa/sb16.c @@ -49,47 +49,54 @@ static int sbchan_trigger(void *data, int go); static int sbchan_getptr(void *data); static pcmchan_caps *sbchan_getcaps(void *data); -static pcmchan_caps sb_playcaps = { - 4000, 22050, +static u_int32_t sb_playfmt[] = { AFMT_U8, - AFMT_U8 + 0 }; +static pcmchan_caps sb_playcaps = {4000, 22050, sb_playfmt, 0}; -static pcmchan_caps sb_reccaps = { - 4000, 13000, +static u_int32_t sb_recfmt[] = { AFMT_U8, - AFMT_U8 + 0 }; +static pcmchan_caps sb_reccaps = {4000, 13000, sb_recfmt, 0}; -static pcmchan_caps sbpro_playcaps = { - 4000, 45000, +static u_int32_t sbpro_playfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sbpro_playcaps = {4000, 45000, sbpro_playfmt, 0}; -static pcmchan_caps sbpro_reccaps = { - 4000, 15000, +static u_int32_t sbpro_recfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sbpro_reccaps = {4000, 15000, sbpro_recfmt, 0}; -static pcmchan_caps sb16_hcaps = { - 5000, 45000, +static u_int32_t sb16_hfmt[] = { + AFMT_S16_LE, AFMT_STEREO | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE + 0 }; +static pcmchan_caps sb16_hcaps = {5000, 45000, sb16_hfmt, 0}; -static pcmchan_caps sb16_lcaps = { - 5000, 45000, +static u_int32_t sb16_lfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sb16_lcaps = {5000, 45000, sb16_lfmt, 0}; -static pcmchan_caps sb16x_caps = { - 5000, 49000, - AFMT_STEREO | AFMT_U8 | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t sb16x_fmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + 0 }; +static pcmchan_caps sb16x_caps = {5000, 49000, sb16x_fmt, 0}; static pcm_channel sb_chantemplate = { sbchan_init, diff --git a/sys/dev/sound/isa/sb8.c b/sys/dev/sound/isa/sb8.c index f984d5c..d975311 100644 --- a/sys/dev/sound/isa/sb8.c +++ b/sys/dev/sound/isa/sb8.c @@ -49,47 +49,54 @@ static int sbchan_trigger(void *data, int go); static int sbchan_getptr(void *data); static pcmchan_caps *sbchan_getcaps(void *data); -static pcmchan_caps sb_playcaps = { - 4000, 22050, +static u_int32_t sb_playfmt[] = { AFMT_U8, - AFMT_U8 + 0 }; +static pcmchan_caps sb_playcaps = {4000, 22050, sb_playfmt, 0}; -static pcmchan_caps sb_reccaps = { - 4000, 13000, +static u_int32_t sb_recfmt[] = { AFMT_U8, - AFMT_U8 + 0 }; +static pcmchan_caps sb_reccaps = {4000, 13000, sb_recfmt, 0}; -static pcmchan_caps sbpro_playcaps = { - 4000, 45000, +static u_int32_t sbpro_playfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sbpro_playcaps = {4000, 45000, sbpro_playfmt, 0}; -static pcmchan_caps sbpro_reccaps = { - 4000, 15000, +static u_int32_t sbpro_recfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sbpro_reccaps = {4000, 15000, sbpro_recfmt, 0}; -static pcmchan_caps sb16_hcaps = { - 5000, 45000, +static u_int32_t sb16_hfmt[] = { + AFMT_S16_LE, AFMT_STEREO | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE + 0 }; +static pcmchan_caps sb16_hcaps = {5000, 45000, sb16_hfmt, 0}; -static pcmchan_caps sb16_lcaps = { - 5000, 45000, +static u_int32_t sb16_lfmt[] = { + AFMT_U8, AFMT_STEREO | AFMT_U8, - AFMT_STEREO | AFMT_U8 + 0 }; +static pcmchan_caps sb16_lcaps = {5000, 45000, sb16_lfmt, 0}; -static pcmchan_caps sb16x_caps = { - 5000, 49000, - AFMT_STEREO | AFMT_U8 | AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE +static u_int32_t sb16x_fmt[] = { + AFMT_U8, + AFMT_STEREO | AFMT_U8, + AFMT_S16_LE, + AFMT_STEREO | AFMT_S16_LE, + 0 }; +static pcmchan_caps sb16x_caps = {5000, 49000, sb16x_fmt, 0}; static pcm_channel sb_chantemplate = { sbchan_init, |