No audio from S/PDIF pass-trough with VLC 2.1.0-rc1! It works under previous VLC versions like 2.0.8! Also both VLC 2.0.8 and VLC 2.1.0-rc1 are running on top of the same pulseaudio version.
On previous versions of VLC I had to select "Digital Stereo (IEC958) Output" on pavucontrol. Then ticking the "AC3" and "DTS" checkboxes under the "Output Devices" tab within pavucontrol always made it work. VLC 2.1.0-rc1 is configured like the previous version. The "Use S/PDIF when available" checkbox is selected like before. The audio output module is pulseaudio. This is what I get from "vlc -vvv":
[0x7fdc58c9bb18] dts decoder: DTS channels:6 samplerate:48000 bitrate:1536000 \
[0x1597b88] main playlist debug: reusing audio output \
[0x1649e48] pulse audio output debug: using surround-51 channel map \
[0x1649e48] pulse audio output error: stream connection failure: Invalid argument \
[0x1649e48] main audio output error: module not functional \
[0x1597b88] main playlist debug: keeping audio output \
[0x7fdc58c9bb18] main decoder error: failed to create audio output \
This output is from a video file with a DTS audio stream on it. VLC should pass the stream unaltered to pulseaudio. pulseaudio would then send it through the S/PDIF port. Then the receiver decodes the stream in hardware.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Linked items
0
Link issues together to show that they're related.
Learn more.
I just double-checked. The specified formats are strictly identical in 2.0 and 2.1.
Maybe PulseAudio bombs out due to the stream flags, which have changed a little bit. In that case, it seems to me like a PulseAudio bug and I have no way to investigate it with my hardware in any case.
If you can, check if removing some flags from pa_stream_connect_playback() works around the problem, e.g. PA_STREAM_FIX_RATE. Other than that, as I see it, the code is identical!
That would certainly explain the error. Yes I can check your suggestion. If that doesn't work then I will try removing some other flags. Or perhaps setting the same flags as VLC 2.0.8 However this will take me some time. I will report back whatever I will find.
I removed the PA_STREAM_FIX_RATE bit from line 811 on file /modules/audio_output/pulse.c then compiled the result and installed. This was the relevant result:
[0x7f3c00c9b938] dts decoder: DTS channels:6 samplerate:48000 bitrate:1536000 \
[0x2505e78] pulse audio output error: stream connection failure: Not supported \
[0x2505e78] main audio output error: module not functional \
[0x7f3c00c9b938] main decoder error: failed to create audio output \
I also tried the same flags as VLC 2.0.8 with the same result!
I removed the PA_STREAM_FIX_RATE bit from line 811 on file /modules/audio_output/pulse.c then compiled the result and installed. This was the relevant result:
[0x7f3c00c9b938] dts decoder: DTS channels:6 samplerate:48000 bitrate:1536000 \
[0x2505e78] pulse audio output error: stream connection failure: Not supported \
[0x2505e78] main audio output error: module not functional \
[0x7f3c00c9b938] main decoder error: failed to create audio output \
I also tried the same flags as VLC 2.0.8 with the same result!
It seems VLC 2.0.8 also doesn't pass-through properly with pulseaudio. Actually this fails with pulseaudio and VLC 2.0.8! When pulseaudio fails in VLC 2.0.8 it tries ALSA. And then pass-through works with ALSA. When ALSA fails it tries JACK... Just take a look at this log from VLC 2.0 output and you will come to the same conclusion:
[0x7f363c005a98] main input debug: Buffering 0% \
[0x7f363c005a98] main input debug: Stream buffering done (334 ms in 0 ms) \
[0x7f35f4d1f048] dts decoder: DTS channels:6 samplerate:48000 bitrate:1536000 \
[0x6e8868] main playlist debug: recycling audio output \
[0x7f3600000958] main audio output debug: looking for audio output module: 4 candidates \
[0x7f3600000958] pulse audio output debug: using surround-51 channel map \
[0x7f3600000958] pulse audio output debug: using library version 4.0.0 \
[0x7f3600000958] pulse audio output debug: (compiled with version 4.0.0, protocol 28) \
[0x7f3618d26618] main spu text debug: looking for text renderer module: 3 candidates \
[0x7f3618d26618] freetype spu text debug: Building font databases. \
[0x7f3618d26618] freetype spu text debug: Took 0 microseconds \
[0x7f3618d26618] freetype spu text debug: Using Serif Bold as font from file /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf \
[0x7f3618d26618] freetype spu text debug: using fontsize: 2 \
[0x7f3618d26618] main spu text debug: using text renderer module "freetype" \
[0x7f3618d26618] main spu text debug: TIMER module_need() : 2.817 ms - Total 2.817 ms / 1 intvls (Avg 2.817 ms) \
[0x7f3618d22258] main scale debug: looking for video filter2 module: 18 candidates \
[0x7f3618d22258] swscale scale debug: 32x32 chroma: YUVA -> 16x16 chroma: RGBA with scaling using Bicubic (good quality) \
[0x7f3618d22258] main scale debug: using video filter2 module "swscale" \
[0x7f3618d22258] main scale debug: TIMER module_need() : 0.577 ms - Total 0.577 ms / 1 intvls (Avg 0.577 ms) \
[0x7f3618d54438] main scale debug: looking for video filter2 module: 18 candidates \
[0x7f3618d54438] yuvp scale debug: YUVP to YUVA converter \
[0x7f3618d54438] main scale debug: using video filter2 module "yuvp" \
[0x7f3618d54438] main scale debug: TIMER module_need() : 0.153 ms - Total 0.153 ms / 1 intvls (Avg 0.153 ms) \
[0x7f3618d59318] main video output debug: Deinterlacing available \
[0x7f3618d59318] main video output debug: deinterlace 0, mode blend, is_needed 0 \
[0x7f3618d59318] main video output debug: Opening vout display wrapper \
[0x7f35f80011d8] main vout display debug: looking for vout display module: 7 candidates \
[0x7f35f80049f8] main window debug: looking for vout window xid module: 4 candidates \
[0x7f35f80049f8] qt4 window debug: requesting video... \
[0x912c88] qt4 interface debug: Video was requested 0, 0 \
[0x7f3600000958] pulse audio output debug: connected locally to /run/user/user/pulse/native as client #73 (closed) \
[0x7f3600000958] pulse audio output debug: using protocol 28, server protocol 28 \
[0x7f35f80049f8] main window debug: using vout window xid module "qt4" \
[0x7f35f80049f8] main window debug: TIMER module_need() : 51.021 ms - Total 51.021 ms / 1 intvls (Avg 51.021 ms) \
[0x7f35f80016b8] main inhibit debug: looking for inhibit module: 2 candidates \
[0x7f35f80016b8] main inhibit debug: using inhibit module "xdg_screensaver" \
[0x7f35f80016b8] main inhibit debug: TIMER module_need() : 0.227 ms - Total 0.227 ms / 1 intvls (Avg 0.227 ms) \
[0x7f35f80011d8] xcb_xv vout display debug: connected to X11.0 server \
[0x7f35f80011d8] xcb_xv vout display debug: vendor : The X.Org Foundation \
[0x7f35f80011d8] xcb_xv vout display debug: version: 11303000 \
[0x7f35f80016b8] xdg_screensaver inhibit debug: started xdg-screensaver (PID = 9014) \
[0x7f3600000958] pulse audio output error: stream connection failure: Not supported \
[0x7f3600000958] alsa audio output debug: downmixing from 6 to 2 channels \
[0x7f3600000958] alsa audio output debug: using ALSA device: iec958:AES0=0x2,AES1=0x82,AES2=0x0,AES3=0x2 \
[0x7f3600000958] alsa audio output debug: Hooks PCM \
Slave: Hardware PCM card 0 'HDA Intel' device 1 subdevice 0 \
[0x7f3600000958] alsa audio output debug: device name : ALC888 Digital \
[0x7f3600000958] alsa audio output debug: device ID : ALC888 Digital \
[0x7f3600000958] alsa audio output debug: subdevice name: subdevice #0 \
[0x7f3600000958] alsa audio output debug: initial hardware setup: \
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED \
FORMAT: S16_LE S32_LE \
SUBFORMAT: STD \
SAMPLE_BITS: [16 32] \
FRAME_BITS: [32 64] \
CHANNELS: 2 \
RATE: [44100 192000] \
PERIOD_TIME: (83 185760) \
PERIOD_SIZE: [16 8192] \
PERIOD_BYTES: [128 65536] \
PERIODS: [2 32] \
BUFFER_TIME: (166 371520) \
BUFFER_SIZE: [32 16384] \
BUFFER_BYTES: [128 65536] \
TICK_TIME: ALL \
[0x7f3600000958] alsa audio output debug: final HW setup: \
ACCESS: RW_INTERLEAVED \
FORMAT: S16_LE \
SUBFORMAT: STD \
SAMPLE_BITS: 16 \
FRAME_BITS: 32 \
CHANNELS: 2 \
RATE: 48000 \
PERIOD_TIME: (42666 42667) \
PERIOD_SIZE: 2048 \
PERIOD_BYTES: 8192 \
PERIODS: 8 \
BUFFER_TIME: (341333 341334) \
BUFFER_SIZE: 16384 \
BUFFER_BYTES: 65536 \
TICK_TIME: 0 \
[0x7f3600000958] alsa audio output debug: initial software parameters: \
tstamp_mode: NONE \
period_step: 1 \
avail_min: 2048 \
start_threshold: 1 \
stop_threshold: 16384 \
silence_threshold: 0 \
silence_size: 0 \
boundary: 4611686018427387904 \
[0x7f3600000958] alsa audio output debug: final software parameters: \
tstamp_mode: NONE \
period_step: 1 \
avail_min: 2048 \
start_threshold: 1 \
stop_threshold: 16384 \
silence_threshold: 0 \
silence_size: 0 \
boundary: 4611686018427387904 \
[0x7f3600000958] alsa audio output debug: Available ALSA PCM devices: \
[0x7f35f80011d8] xcb_xv vout display debug: using screen 0x271 \
[0x7f35f80011d8] xcb_xv vout display debug: using XVideo extension v2.2 \
[0x7f35f80011d8] xcb_xv vout display debug: using adaptor NV17 Video Texture \
[0x7f35f80011d8] xcb_xv vout display debug: using port 550 \
[0x7f35f80011d8] xcb_xv vout display debug: using image format 0x30323449 \
[0x7f3600000958] alsa audio output debug: Playback/recording through the PulseAudio sound server (default) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Default Audio Device (sysdefault:CARD=Intel) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Front speakers (front:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog 4.0 Surround output to Front and Rear speakers (surround40:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog 4.1 Surround output to Front, Rear and Subwoofer speakers (surround41:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog 5.0 Surround output to Front, Center and Rear speakers (surround50:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers (surround51:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers (surround71:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Digital IEC958 (S/PDIF) Digital Audio Output (iec958:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, HDMI 0 HDMI Audio Output (hdmi:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Direct sample mixing device (dmix:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Digital Direct sample mixing device (dmix:CARD=Intel,DEV=1) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Direct sample mixing device (dmix:CARD=Intel,DEV=2) \
[0x7f3600000958] alsa audio output debug: HDA Intel, HDMI 0 Direct sample mixing device (dmix:CARD=Intel,DEV=3) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Direct sample snooping device (dsnoop:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Digital Direct sample snooping device (dsnoop:CARD=Intel,DEV=1) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Direct sample snooping device (dsnoop:CARD=Intel,DEV=2) \
[0x7f3600000958] alsa audio output debug: HDA Intel, HDMI 0 Direct sample snooping device (dsnoop:CARD=Intel,DEV=3) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Direct hardware device without any conversions (hw:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Digital Direct hardware device without any conversions (hw:CARD=Intel,DEV=1) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Direct hardware device without any conversions (hw:CARD=Intel,DEV=2) \
[0x7f3600000958] alsa audio output debug: HDA Intel, HDMI 0 Direct hardware device without any conversions (hw:CARD=Intel,DEV=3) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Hardware device with all software conversions (plughw:CARD=Intel,DEV=0) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Digital Hardware device with all software conversions (plughw:CARD=Intel,DEV=1) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Analog Hardware device with all software conversions (plughw:CARD=Intel,DEV=2) \
[0x7f3600000958] alsa audio output debug: HDA Intel, HDMI 0 Hardware device with all software conversions (plughw:CARD=Intel,DEV=3) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Digital 5.1 Surround (IEC958/AC3) (a52:CARD=Intel) \
[0x7f3600000958] alsa audio output debug: HDA Intel, ALC888 Digital 5.1 Surround (IEC958/DTS) (dca:CARD=Intel) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio Default Audio Device (sysdefault:CARD=U0x46d0x821) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio Front speakers (front:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio 4.0 Surround output to Front and Rear speakers (surround40:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio 4.1 Surround output to Front, Rear and Subwoofer speakers (surround41:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio 5.0 Surround output to Front, Center and Rear speakers (surround50:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio 5.1 Surround output to Front, Center, Rear and Subwoofer speakers (surround51:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers (surround71:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio IEC958 (S/PDIF) Digital Audio Output (iec958:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio Direct sample mixing device (dmix:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio Direct sample snooping device (dsnoop:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio Direct hardware device without any conversions (hw:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] alsa audio output debug: USB Device 0x46d:0x821, USB Audio Hardware device with all software conversions (plughw:CARD=U0x46d0x821,DEV=0) \
[0x7f3600000958] main audio output debug: using audio output module "alsa" \
[0x7f3600000958] main audio output debug: TIMER module_need() : 160.538 ms - Total 160.538 ms / 1 intvls (Avg 160.538 ms) \
[0x7f3600000958] main audio output debug: output 'spdi' 48000 Hz 3F2R/LFE frame=1536 samples/6144 bytes \
[0x7f3600000958] main audio output debug: mixer 'dts ' 48000 Hz 3F2R/LFE frame=1536 samples/6144 bytes \
[0x7f3600000958] main audio output debug: filter(s) 'dts '->'spdi' 48000 Hz->48000 Hz 3F2R/LFE->3F2R/LFE \
[0x7f35e8001848] main audio filter debug: looking for audio filter module: 13 candidates \
[0x7f35e8001848] main audio filter debug: using audio filter module "dtstospdif" \
[0x7f35e8001848] main audio filter debug: TIMER module_need() : 0.536 ms - Total 0.536 ms / 1 intvls (Avg 0.536 ms) \
[0x7f3600000958] main audio output debug: conversion pipeline completed \
[0x7f35e80136b8] main mixer debug: looking for audio mixer module: 2 candidates \
[0x7f35e80136b8] main mixer debug: no audio mixer module matching "any" could be loaded \
[0x7f35e80136b8] main mixer debug: TIMER module_need() : 0.164 ms - Total 0.164 ms / 1 intvls (Avg 0.164 ms) \
[0x7f3600000958] main audio output debug: input 'dts ' 48000 Hz 3F2R/LFE frame=512 samples/2048 bytes \
[0x7f3600000958] main audio output debug: filter(s) 'dts '->'dts ' 48000 Hz->48000 Hz 3F2R/LFE->3F2R/LFE \
[0x7f3600000958] main audio output debug: conversion pipeline completed \
[0x7f35f4d1f048] main decoder debug: End of audio preroll \