On Nov 6, 2015, at 10:18 29, Wayne Merricks <[email protected]> 
wrote:

> Which maps nicely to 32bit Little Endian which is what is tried in CAED 
> first.  On this USB device, it does advertise itself as a 24bit card.  I 
> don't have the same info in hw_params but I have similar inside:
> 
> cat /proc/asound/card0/stream0
> 
> Format: S24_3LE

24 bit “packed” mode —i.e. 6 bytes per stereo frame (as opposed to S24_LE, 
which is also 24 bit, but bit aligned into a 32 bit word).


> I'm wondering whether this is an oversight in the CAED code.  I don't 
> understand the C++ calls very well but inside cae_alsa.cpp on line 1548 
> (github master) you have this function:

Not an oversight so much as an intentional omission!  This is the first such 
critter I’ve ever heard of.


> These look like standard ALSA C Library functions and it effectively checks 
> for SND_PCM_FORMAT_S16/S32_LE on the card and returns 0 if it does.  Would I 
> be correct in assuming Riv/Caed doesn't support 24bit cards?

I’m thinking that you should be able to use the ALSA plug layer to make this 
work.  In ‘/etc/asound.conf’, try adding a format line to the PCM config, 
something like this:

*** snip snip ***
pcm.rd0
  type hw
  format S32_LE
  card 0
  device 0
}
*** snip snip ***

Cheers!


|----------------------------------------------------------------------|
| Frederick F. Gleason, Jr. |              Chief Developer             |
|                           |              Paravel Systems             |
|----------------------------------------------------------------------|
|          A room without books is like a body without a soul.         |
|                                         -- Cicero                    |
|----------------------------------------------------------------------|

_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev

Reply via email to