please test uaudio capabilities patch

Julian Elischer julian at elischer.org
Mon Apr 18 01:09:10 PDT 2005


Mathew Kanner wrote:
> Hi All,
>    The following patch changes the driver to probe the
>    capabilities.  With this patch I can run mplayer with a non-native
>    speed or format and the internal soft-mixer will get the right
>    chain.  Without the patch, I get stuck and I have to disconnect.
> 
>    I'm going to commit this soon.  This is is against HEAD post my
>    commit to de-dma the driver.
> 
>    --Mat
> 
> 

the code removed below was added by me yesterday to allow my usb microphone to 
work.  it no longer works with this patch.

uaudio0: Logitech product 0x08b1, rev 1.10/0.00, addr 2
uaudio0: audio rev 1.00
pcm1: <USB Audio> on uaudio0

jules# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <ESS Technology Maestro-2E> port 0x1400-0x14ff irq 5 at device 8.0 on pci0 
(4p/1r/0v channels duplex default)
pcm1: <USB Audio> kld snd_uaudio (mixer only)
jules#

yesterday (without your change)
it created and audio1.0 device which I could record from
(though I think the format was wrong as it sounded bad)

today it fails to make any device..

note.. the device has only input endpoints and configs.. it's a microphone
it has an audio 'mixer' interface as well but that seems to have been found.

> @@ -76,20 +72,6 @@
>  	ch->dir = dir;
>  
>  	pa_dev = device_get_parent(sc->sc_dev);
> -     	/* Create ua_playfmt[] & ua_recfmt[] */
> -	uaudio_query_formats(pa_dev, (u_int32_t *)&ua_playfmt, (u_int32_t *)&ua_recfmt);
> -	if (dir == PCMDIR_PLAY) {
> -		if (ua_playfmt[0] == 0) {
> -			printf("play channel supported format list invalid\n");
> -			return NULL;
> -		}
> -	} else {
> -		if (ua_recfmt[0] == 0) {
> -			printf("record channel supported format list invalid\n");
> -			return NULL;
> -		}
> -
> -	}
>  
>  	ch->buf = malloc(sc->bufsz, M_DEVBUF, M_NOWAIT);
>          if (ch->buf == NULL)
> @@ -133,6 +115,9 @@


More information about the freebsd-multimedia mailing list