@Triode
I see you are busy with upsampling schemes, but I wanted to report my
issues in configuring different DACs using Jivelite.
I had good success with a Musical Fidelity UAC2 VLink 192 interface, but
utterly failed with an AudioEngine D2 UAC1 and also failed HiFimeDIY
Sabre DAC UAC1 device. All three could be configured via JackOfAll's web
GUI page.
So I started looking into why this could be. It turned out that
SetupSqueezeliteApplet.lua was attempting to parse the contents of
/proc/asound/" .. card .. "/stream0", but with assumptions about
relative line numbers used for certain parameters, which don't appear to
hold true for some DACs. For example, my ultra-cheap HiFimeDIY DAC has
the following stream0
Code:
--------------------
HiFimeDIY Audio HiFimeDIY DAC at usb-fsl-ehci.1-1.1, full speed : USB Audio
Playback:
Status: Running
Interface = 3
Altset = 2
URBs = 2 [ 5 6 ]
Packet Size = 582
Momentary freq = 44100 Hz (0x2c.199a)
Interface 3
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 3 OUT (ADAPTIVE)
Rates: 8000, 16000, 32000, 44100, 48000, 96000
Interface 3
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 3 OUT (ADAPTIVE)
Rates: 8000, 16000, 32000, 44100, 48000, 96000
Capture:
Status: Stop
Interface 2
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 2 IN (ADAPTIVE)
Rates: 8000, 16000, 32000, 44100, 48000, 96000
Interface 2
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 2 IN (ADAPTIVE)
Rates: 8000, 16000, 32000, 44100, 48000, 96000
--------------------
whereas my Musical Fidelity interface has
Code:
--------------------
Musical Fidelity Musical Fidelity V-Link 192kHz at usb-fsl-ehci.1-1.2, high
spe : USB Audio
Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
--------------------
In the first case where there are a number of Altsets on a number of
Interfaces, the assumption that you can skip 2 lines after parsing the
Rates: line doesn't work; you end up misaligned and assigning a bunch of
nil values to parameters which trips up the code later on.
I made a quick fix (see patch) by scanning for Interface lines without
any particular assumption of where they would be in relation to the
previously read field. I am not sure it is good way to make this robust
for all cases, but it does work for the DACs I have in house.
+-------------------------------------------------------------------+
|Filename: SetupSqueezeliteApplet.patch |
|Download: http://forums.slimdevices.com/attachment.php?attachmentid=14887|
+-------------------------------------------------------------------+
------------------------------------------------------------------------
dsdreamer's Profile: http://forums.slimdevices.com/member.php?userid=12588
View this thread: http://forums.slimdevices.com/showthread.php?t=98544
_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/unix