dsdreamer wrote: 
> @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. 
> 

Thanks - yes this is my fault.  The original parsing code was from EDO
and I had aligned that to the linux kernel used by EDO.  I made a quick
fix for the WB kernel but didn't look at it in detail.  Sepecifically
the two lines skipped are commented out in the WB kernel...  Also the
data interval is onl included for certain devices.  I've made a change
along similar lines to yours which I think will work.  Could you try the
latest googlecode version, or the patch which it includes:


Code:
--------------------
    
  diff --git a/share/jive/applets/SetupSqueezelite/SetupSqueezeliteApplet.lua 
b/share/jive/applets/SetupSqueezelite/SetupSqueezeliteApplet.lua
  index c74b547..e134caa 100644
  --- a/share/jive/applets/SetupSqueezelite/SetupSqueezeliteApplet.lua
  +++ b/share/jive/applets/SetupSqueezelite/SetupSqueezeliteApplet.lua
  @@ -320,17 +320,18 @@ function _parseStreamInfo(self, card)
  while not eof() do
  
  local intf = parse("  Interface (%d+)")
  -               local alt  = parse("    Altset (%d+)")
  -               local fmt  = parse("    Format: (.*)")
  -               local chan = parse("    Channels: (%w+)")
  -               local type = parse("    Endpoint: %d+ %w+ %((%w+)%)")
  -               local rate = parse("    Rates: (.*)")
  -               skip(2)
  -
  -               fmts[#fmts+1] = { intf = intf, alt = alt, fmt = fmt, chan = 
chan, type = type, rate = rate, int = int }
  -
  -               if t.interface == intf and t.altset == alt then
  -                       t.fmt = fmts[#fmts]
  +               if intf then 
  +                       local alt  = parse("    Altset (%d+)")
  +                       local fmt  = parse("    Format: (.*)")
  +                       local chan = parse("    Channels: (%w+)")
  +                       local type = parse("    Endpoint: %d+ %w+ %((%w+)%)")
  +                       local rate = parse("    Rates: (.*)")
  +                       
  +                       fmts[#fmts+1] = { intf = intf, alt = alt, fmt = fmt, 
chan = chan, type = type, rate = rate, int = int }
  +                       
  +                       if t.interface == intf and t.altset == alt then
  +                               t.fmt = fmts[#fmts]
  +                       end
  end
  
  
--------------------


For reference this code is parsing the output of
proc_dump_substream_formats from sound/usb/proc.c so we should be able
to make it work for all cases as that should be known...


------------------------------------------------------------------------
Triode's Profile: http://forums.slimdevices.com/member.php?userid=17
View this thread: http://forums.slimdevices.com/showthread.php?t=98544

_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/unix

Reply via email to