<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hi Benjamin,<i><br></i></div><div class="gmail_quote"><i><br>Sun Mar  8 11:22:30 PDT 2015</i> <b>Alexander E. Patrakov</b> 
<<a href="mailto:pulseaudio-discuss%40lists.freedesktop.org?Subject=Re%3A%20%5Bpulseaudio-discuss%5D%20How%20to%20decode%20and%20loop-back%20and%0A%09iec958/spdif%20bitstream%3F&In-Reply-To=%3C54FC9366.4080908%40gmail.com%3E" title="[pulseaudio-discuss] How to decode and loop-back and  iec958/spdif bitstream?">patrakov at gmail.com></a><span dir="ltr"></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><pre>08.03.2015 23:00, Benjamin Tegge wrote:
><i> Hello,
</i>><i>
</i>><i> I want to feed a 5.1 stream (dca or a52) from another device through a
</i>><i> iec958/spdif connection to my computer and play the audio through
</i>><i> loopback on the computer, I don't want to do pass-through. The C-Media
</i>><i> CM106-based device used with PulseAudio and the loopback module on
</i>><i> Ubuntu 14.04 (PulseAudio 4.0) work in stereo, but 5.1 does not.
</i>><i>
</i>><i> I wanted to set this up for quite some time, but was puzzled how all the
</i>><i> parts come together:
</i>><i> - There is iecset from the alsa tools to configure iec958 ports
</i>><i> (audio/data, consumer/pro), but this is just for outgoing connections,
</i>><i> right?
</i>><i> - Are there decoding functions in PulseAudio or would I have to use an
</i>><i> external program like ffmpeg/avconv to demux and decode the spdif
</i>><i> bitstream to PCM? I already found
</i>><i> <a href="https://www.ffmpeg.org/ffmpeg-devices.html#pulse" target="_blank">https://www.ffmpeg.org/ffmpeg-<wbr>devices.html#pulse</a> and tried that, but
</i>><i> couldn't get 5.1 to work.
</i>><i>
</i>
PulseAudio contains no decoders, so you would need to use an external 
tool. Also, PulseAudio does not support receiving compressed formats 
over spdif. Possibly this pipeline could work as a proof of concept:

arecord -f dat -D spdif:1 | ffmpeg -f spdif -i - -f pulse default

or:

ffmpeg -f alsa -acodec ac3 -i spdif:1 -f pulse default

(not tested, because I don't have anything with spdif-input capability)

-- 
Alexander E. Patrakov</pre></div>
</blockquote></div><br>Were you able to make it work?<br><br></div><div class="gmail_extra">I'm trying to do the same thing now, but it looks like CM106 does not allow me to record a compressed format and I get a complete silence instead. I even wrote a small app to do the decoding (<a href="https://github.com/Shulyaka/pareceive">https://github.com/Shulyaka/pareceive</a>) which does not work because of this fact.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Best regards,<br></div><div class="gmail_extra">Denis Shulyaka<br></div></div>