[alsa-devel] IEC958 / SPDIF raw capture

Donald Tournier d.tournier at brain.org.au
Thu Feb 11 00:14:35 CET 2010


We have an application in our institute that will require recording of
a digital signal via an optical cable. We have to be able to guarantee
perfect bitwise reproduction of the signal (the odd bit error is not a
problem). We're thinking of using SPDIF and ALSA to capture the signal
(obviously we'll have to make sure the signal is properly encoded to
begin with).

However, after some initial attempts, it's becoming clear that ALSA
can't necessarily guarantee bitwise perfect capture. ALSA might change
the format, or resample the signal after capture (although I've heard
that can be turned off with "snd_pcm_hw_params_set_rate_resample
(capture_handle, hw_params, 0)"). Also, the card that we've been
playing with so far (SB Audigy2 ZS) apparently performs some low-pass
digital filtering on the input stream anyway, and is therefore no use
to us.

So my question is: can this be done? Is there a way of setting up ALSA
to produce an unaltered version of the SPDIF input stream? This will
undoubtedly require a particular combination of hardware and driver.
If so, which card/driver would be recommended? Ideally, we would like
to capture the raw SPDIF subframes. Is that possible, and if so, how?

Any help would be greatly appreciated!


Jacques-Donald Tournier (PhD)
Brain Research Institute, Melbourne, Australia
Tel: +61 (0)3 9496 4078

More information about the Alsa-devel mailing list