NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/48394: uaudio trouble setting recording parameters sample rate etc.



>Number:         48394
>Category:       kern
>Synopsis:       uaudio trouble setting recording parameters sample rate etc.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 22 01:15:00 +0000 2013
>Originator:     Nat Sloss
>Release:        NetBSD 6.1.1
>Organization:
>Environment:
NetBSD beast 6.1.1_PATCH NetBSD 6.1.1_PATCH (PCIPAE) #22: Thu Nov 21 23:13:25 
EST 2013  build@microrusty:/usr/src/sys/arch/i386/compile/obj/PCIPAE i386
>Description:
When using uaudio for recording attempt to set the sample rate ie:
audiorecord -F wav -d 'path to usb audio device' -e slinear -P 16 -s 44100 
test.wav

You may find on playback that the audio is really high pitch and fast.
On my particular device (a webcam) there is only a microphone no playback 
facilities I am not sure if this makes this bug more prominent.

Looking through the source I found a refernce to pfill when setting up 
recording parameters, where I think it should be rfill.
>How-To-Repeat:
Refer to above.
>Fix:
Index: src/sys/dev/usb/uaudio.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/uaudio.c,v
retrieving revision 1.128
diff -u -r1.128 uaudio.c
--- src/sys/dev/usb/uaudio.c    23 Dec 2011 00:51:44 -0000      1.128
+++ src/sys/dev/usb/uaudio.c    22 Nov 2013 01:00:10 -0000
@@ -3085,7 +3085,7 @@
                uaudio_chan_init(&sc->sc_playchan, paltidx, p, 0);
        }
        if ((setmode & AUMODE_RECORD)) {
-               p = rfil->req_size > 0 ? &pfil->filters[0].param : rec;
+               p = rfil->req_size > 0 ? &rfil->filters[0].param : rec;
                /* XXX abort transfer if currently happening? */
                uaudio_chan_init(&sc->sc_recchan, raltidx, p,
                    UGETW(sc->sc_alts[raltidx].edesc->wMaxPacketSize));

Regards,

Nat.

PS:  I would like to request that NetBSD-6 be pulled up when a solution is 
found.



Home | Main Index | Thread Index | Old Index