AC3 passthrough problem
#46
(2016-12-10, 14:15)popcornmix Wrote: Can you output from MAC through HDMI to TV and then through optical to AVR?

It currently sounds like TV isn't forwarding AC3 passthrough, and an unrealated issue is the USB audio device also fails to support passthrough.

Also, back to the Pi, any differece with omxplayer enabled/disabled in video acceleration settings? That uses a different code path for encapsulating the passthrough data.

Also see this and try adding hdmi_audio_config=0x200 to config.txt.
I don't expect it to solve the issue, but it will stop the TV seeing audio as passthrough which could stop it messing it up.

omxplayer/mmal configuration doesn't make any difference.

Also adding hdmi_audio_config=0x200 option didn't work.
Actually DTS (through TV) works well for me, but not AC-3.

Doesn't work on OpenELEC 5.0.8 either.
Reply
#47
How I can debug those outputs?
Reply
#48
I tried that USB sound card on Windows 7 and both (AC-3 and DTS) were working.
That means that the problem is not in the AVR.

Configuration with TV still not successful (for AC-3).
Reply
#49
My guess is that this is an endianness problem. One link of this chain swaps byte order.
Reply
#50
(2016-12-10, 13:33)fritsch Wrote: Not sure which role we play in this game ...

I meant it like I'm back in game
Reply
#51
@FernetMenta
Maybe you are right.

From logs its visible that (in tis case) kodi is using 'AE_FMT_S16NE',
and probably AVR is expecting the low endian,

How I can force kodi (or alsa) to use AE_FMT_S16LE?
Reply
#52
Afaik NE (native endian) is LE (little endian) on Pi. Maybe the AVR expects BE or ALSA swaps internally. You can't force that at a user level. Maybe @popcornmix can provide a build to test this hypothesis.
Reply
#53
What I don't get is why DTS still works: https://github.com/xbmc/xbmc/blob/master...7.cpp#L153 Is this a bug, that the bitstreammode is only set in the LE case: https://github.com/xbmc/xbmc/blob/master...37.cpp#L50
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#54
Made some tests:

=====
KODI on MAC --HDMI--> TV --S/PDIF--> AVR
AC-3: plays noise
log

=====
KODI on MAC - built-in output --S/PDIF--> AVR
AC-3: plays well
log

=====
KODI on MAC --> external USB --S/PDIF--> AVR
AC-3: plays nothing (VLC neither, some problem with driver, mac doesn't even show digital-out option for this soundcard)
log

(hardware is the same as mentioned in this thread)
Reply
#55
I was playing with the sound card on which the AC3 works well on my receiver,
found out that the receiver can recognize DTS even if 'iecset' is set to audio:
Code:
$ iecset
Mode: consumer
Data: audio
Rate: 48000 Hz
Copyright: permitted
Emphasis: none
Category: PCM coder
Original: original
Clock: 1000 ppm
$ iecset -x
AES0=0x04,AES1=0x82,AES2=0x00,AES3=0x02

but it doesn't apply to AC3, for that the 'iecset' must be set to non-audio
Code:
$ iecset
Mode: consumer
Data: non-audio
Rate: 48000 Hz
Copyright: protected
Emphasis: none
Category: PCM coder
Original: original
Clock: 1000 ppm
$ iecset -x
AES0=0x02,AES1=0x82,AES2=0x00,AES3=0x02
Reply
#56
Problem is the following:
1. On the Intel HDA sound card [snd_hda_intel]
I'm able to set bits with 'iecset' properly.

2. But on the other cards I'm not:

snd_bcm2835 - raspberry's HDMI:

Code:
$ iecset
Mode: consumer
Data: audio
Rate: 44100 Hz
Copyright: protected
Emphasis: none
Category: general
Original: 1st generation
Clock: 1000 ppm
$ iecset -x
AES0=0x00,AES1=0x00,AES2=0x00,AES3=0x00

$ iecset audio off
Mode: professional
Data: audio
Rate: unknown
Rate Locked: yes
Emphasis: unknown
Stereophonic: not indicated
Userbits: unknown
Sample Bits: unknown
Word Length: unknown
$ iecset -x
AES0=0x01,AES1=0x00,AES2=0x00,AES3=0x00

snd_usb_audio - external USB with CM6206 chip,
snd_soc_hifiberry_digi PiFiBerry Digi:

Code:
$ iecset
control "IEC958 Playback Default" (index -1) not found
Reply
#57
Example of the configuration with hifiberry:

Code:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HifiBerry Digi HiFi wm8804-spdif-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Code:
$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=sndrpihifiberry
    snd_rpi_hifiberry_digi,
    Default Audio Device
dmix:CARD=sndrpihifiberry,DEV=0
    snd_rpi_hifiberry_digi,
    Direct sample mixing device
dsnoop:CARD=sndrpihifiberry,DEV=0
    snd_rpi_hifiberry_digi,
    Direct sample snooping device
hw:CARD=sndrpihifiberry,DEV=0
    snd_rpi_hifiberry_digi,
    Direct hardware device without any conversions
plughw:CARD=sndrpihifiberry,DEV=0
    snd_rpi_hifiberry_digi,
    Hardware device with all software conversions

Code:
$ amixer
Simple mixer control 'Tx Source',0
  Capabilities: enum
  Items: 'S/PDIF RX' 'AIF'
  Item0: 'AIF'

Code:
$ iecset
control "IEC958 Playback Default" (index -1) not found
Reply

Logout Mark Read Team Forum Stats Members Help
AC3 passthrough problem0