Re: RE : M-Audio Audiophile USB, native little endian (S16_LE) ?

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

 





> I don't know if this is already known (?), but the M-Audio
> Audiophile USB seem to be possible to run in native S16_LE
> mode if initialized with device_setup=0x01 (possibly with
> 0x11 also, have not tested that).
Hakan,

Seems that you're right. After some more tests, I was able to play a raw file supposed to be S16_BE (recorded from my audiophile usb) to a Little endian only device.

I think we should fix this then, however I think that we should prefer a fix that do not use device_setup too much because it is something that could disapear in the future (see the old thread "[PATCH 1/2] M-Audio USB").

You'll find attached an equivalent fix that checks alt-settings instead of device_setup param: Can you try it Hakan ?

Moreover, it adds an extra reset-to-altset0 call at module initialization time which proves to be useful to switch sample depth modes without having to turn off the device. It is taken from Pavel Polischouk's patch which wasn't really finalized (at least until now). (Pavel are you still reading to this list?)

Takashi, let me know if you want to apply one of the proposed fixes, cause I'll have to update the Documentation as well.

Regards,
Thibault

--- orig/alsa-kernel/usb/usbaudio.c	2007-07-10 21:16:07.000000000 +0200
+++ alsa-kernel/usb/usbaudio.c	2007-07-10 21:32:16.000000000 +0200
@@ -2350,7 +2350,9 @@
 			return 1;
 		break;
 	case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
-		return 1;
+		if (fp->altsetting==1 || fp->altsetting==2 ||
+                    fp->altsetting==3)
+			return 1;
 	}
 	return 0;
 }
@@ -3251,6 +3253,10 @@
 static int audiophile_skip_setting_quirk(struct snd_usb_audio *chip,
 					 int iface, int altno)
 {
+	/* Reset ALL ifaces to 0 altsetting. 
+	Call it for every possible altsetting of every interface. */
+	usb_set_interface(chip->dev, iface, 0); 
+
 	if (device_setup[chip->index] & AUDIOPHILE_SET) {
 		if ((device_setup[chip->index] & AUDIOPHILE_SET_DTS)
 		    && altno != 6)
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux