0

Hifiberry Digi+ with Plex Media Player supporting pass through

Hi All,

I'm trying to get the Hifiberry Digi+ to work with Plex Media Player. Normal 2 channel PCM sound works perfectly, but I cannot get it to support pass through for AC3 or DTS to work (simply no sound). Plex Media Player is built on MPV, the code used to open the driver is on GitHub.

Here's the debug logs from MPV:

2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ad: Codec list: 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ad:     spdif:ac3 - libavformat/spdifenc audio pass-through decoder 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ad:     lavc:ac3 - ATSC A/52A (AC-3) 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ad:     lavc:ac3_fixed (ac3) - ATSC A/52A (AC-3) 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ad: Opening audio decoder spdif:ac3 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ad: Selected audio codec: libavformat/spdifenc audio pass-through decoder [spdif:ac3] 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - cplayer: Starting playback... 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - mkv: queuing seek to 598.305000 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - mkv: execute seek (to 598.305000 flags 8) 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - mkv: Seeking to 5886746683 to read header element 0x1c53bb6b. 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - cache: Dropping cache at pos 5886746683, cached range: 5782-571030. 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - cache: Seeking underlying stream: 571030 -> 5886746683 
2016-05-18 20:07:39 [ INFO  ] JS: timeline: playing, 598305/9392976 
2016-05-18 20:07:39 [ INFO  ] JS: [Player] 100% buffered 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - mkv: Parsing cues... 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - cache: EOF reached. 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - cache: Dropping cache at pos 558946804, cached range: 5886746683-5886822092. 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - cache: Seeking underlying stream: 5886822092 -> 558946804 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - mkv: seek done 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - af: Adding filter lavcac3enc  
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - lavcac3enc: [af_lavcac3enc]: in sample format: floatp 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - af: Removing filter lavcac3enc  
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - af: Audio filter chain: 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - af:   [in] 48000Hz stereo 2ch spdif-ac3 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - af:   [out] 48000Hz stereo 2ch spdif-ac3 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - af:   [ao] 48000Hz stereo 2ch spdif-ac3 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao: Trying audio driver 'alsa' 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao: Using preferred device 'default:CARD=sndrpihifiberry' 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: requested format: 48000 Hz, stereo channels, spdif-ac3 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: using ALSA version: 1.0.29 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: opening device 'default:CARD=sndrpihifiberry' => 'default:CARD=sndrpihifiberry,AES0=6,AES1=130,AES2=0,AES3=2' 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: got error -2; opening iec fallback device 'iec958:AES0=6,AES1=130,AES2=0,AES3=2' 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: trying format spdif-ac3 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: Final HW params: 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: --- 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: ACCESS:  RW_INTERLEAVED 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: FORMAT:  S16_LE 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: SUBFORMAT:  STD 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: SAMPLE_BITS: 16 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: FRAME_BITS: 32 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: CHANNELS: 2 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: RATE: 48000 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: PERIOD_TIME: [14750 15584) 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: PERIOD_SIZE: [708 748] 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: PERIOD_BYTES: [2832 2992] 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: PERIODS: (16 17) 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: BUFFER_TIME: 250000 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: BUFFER_SIZE: 12000 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: BUFFER_BYTES: 48000 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: TICK_TIME: ALL 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: --- 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: hw pausing supported: no 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: buffersize: 12000 samples 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: period size: 708 samples 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: device buffer: 11328 samples. 
2016-05-18 20:07:39 [ DEBUG ] PlayerComponent.cpp @ 442 - ao/alsa: using soft-buffer of 12288 samples. 

Does anyone know what is misconfigured causing no sound to be produced?

14 comments

Please sign in to leave a comment.