Join now - be part of our community!

Audio passthrough?

SOLVED
profile.country.GB.title
Jecht_Sin
Enthusiast

Audio passthrough?

So I finally ordered my new audio system. I'll get it on Tuesady!!  I discarded the soundbars and went for a Yamaha YHT 4940 which supports DTS-HD and Doby TrueHD in 5.1.

 

It has HDMI/ARC and 4 HDMI In ports with 4K/HDR 4:4:4 video passthrough so it won't be an issue to get the right audio from the HDMI devices. What about the audio from apps like Netflix, Plex, Kodi, Amazon Video, YouTube etc.? Does the audio get sent back as it is, with the apps automatically choosing the best audio format supported by the receiver? 

 

I know Plex has some specific options, but I'd like to know (in advance, before getting mad when setting it up) how it works in general, being quite noob on the topic. Plus I'd like to understand what does not work due to some bugs, as I keep reading around.

 

PS: Connecting the PS4 to the receiver and then to the TV would add any input lag? 

43 REPLIES 43
profile.country.AT.title
Kuschelmonschter
Hero


Jecht_Sin schrieb:

I am afraid now I am even more confused. Yesterday I tested with a couple of movies with various audio tracks. DTS-HD 7.1 and Dolby TrueHD 7.1 enabling and disabling  the passthrough both produced audio via both optical (I have an old HT right now connected to an optical to analogue transcoder) and TV speakers. Switching to AC3 5.1 (two different AC3 5.1 tracks, same result), with "Allow passthrough" enabled, they were both silent. They play some audio with passthrough disabled. Tested again today, same thing.


Read my previous posting. There should be your answer. You are on Nougat. Kodi uses the IEC API on Nougat, but the MediaTek driver does not implement it. That's most probably why passthrough is not working for you. Passthrough on Sony is badly broken with Nougat. Apps using the old RAW API still work for Dolby AC3 though.

 


Jecht_Sin schrieb:
  1. If an app doesn't have the audio passthrough option, it should output to HDMI/ARC the best possible audio format

Passthrough means outputting compressed bitstream audio. If an app does not support passthrough, it will output decoded uncompressed PCM audio. Then it depends on which audio codecs the app can decode (either via HW or SW).

 


Jecht_Sin schrieb:
  1. If an app has the audio passthrough it must be selected and in case the the audio standard is above what is supported by the TV it gets converted

The app either decodes it to PCM or transcodes it to some format that the connected AVR understands for passthrough (like Dolby AC3 in case of Kodi).

 


Jecht_Sin schrieb:
  1. If audio passthrough in an app is disabled, HDMI/ARC just get a 2 channels signal, the same of the speakers

Yes, for decoded uncompressed audio over ARC or S/PDIF, you only get stereo.

profile.country.GB.title
Jecht_Sin
Enthusiast

@Kuschelmonschter Right, sorry. I see it now. You previously wrote "Kodi on Nougat might not even do Dolby AC3 without PCM hack ". I gave as a given that Dolby AC3 was fully supported..

 

As well as I thought "Passthrough" meant that the device was getting the audio stream and was passing it through to the output as it is. For example if I have a stream with DTS-HD 7.1 the device shouldn't even look at it and just give it to the receiver. Now I wonder why this isn't the case. What's the point of converting everything? What a mess, sure in some cases it doesn't work.

 

All right, I have a much better understanding, now. Hopefully I won't forget half of it in a day. But I'll read the whole thread again in case. :wink:

profile.country.AT.title
Kuschelmonschter
Hero


Jecht_Sin schrieb:

@Kuschelmonschter Right, sorry. I see it now. You previously wrote "Kodi on Nougat might not even do Dolby AC3 without PCM hack ". I gave as a given that Dolby AC3 was fully supported..


2 sets of passthrough APIs exist on Android:

 

ENCODING_DTS / ENCODING_AC3: available on Lollipop and later

ENCODING_IEC61937: available on Nougat and later (can be used for any audio format)

 

ENCODING_DTS and ENCODING_IEC61937 are broken on Sony.

 

Kodi uses ENCODING_IEC61937 on Nougat. This is why all passthrough might fail, depending on the app. If the app still uses ENCODING_AC3, then at least Dolby AC3 will work (like Netflix for example does).

On Marshmallow and Lollipop, Kodi will of course use the old set of APIs. That is why at least Dolby AC3 works there.

 

A third way to get passthrough working is via PCM hack of course. Then you are independent of the Sony/MediaTek driver mess. But it can lead to all sorts of other issues.

 

I think that the majority of apps either use PCM hack or the old set of APIs.

 


Jecht_Sin schrieb:

As well as I thought "Passthrough" meant that the device was getting the audio stream and was passing it through to the output as it is. For example if I have a stream with DTS-HD 7.1 the device shouldn't even look at it and just give it to the receiver.


There are bandwidth limitations on ARC and S/PDIF which only eARC (HDMI 2.1) will take care of.

You will only get Dolby AC3 and conventional DTS out of your Sony. Some apps will extract a compatible stream from lossless tracks like True HD, DTS-HD a.s.o. or transcode it to some compatible format. In some cases (depending on the TV/AVR combination) you will get compressed DD+ (incl. Dolby Atmos extensions) via HDMI-ARC.

 

If you have some box (like the SHIELD TV) which features true HDMI outputs, you will of course also be able to do passthrough for lossless audio data like DTS-HD a.s.o. But on your TV, you are limited to ARC (which is basically an HDMI input).

profile.country.GB.title
Jecht_Sin
Enthusiast

Ok. Now all starts to make much more sense in my head. Sorry for making you repeating some stuff (like the limited bandwidth on HDMI/ARC and S/PDIF - which I now know it's the optical!), but this is all brand new stuff for me and so I had missed some points previously.

 

I have checked a bit now about ENCODING_IEC61937 in Kodi, and it seems the Kodi developers won't/can't use the older APIs in Android 7. I wonder what would happen installing Kodi v16 instead.. 

 

But at this point it seems clear that there is no way to get full audio (and video) support without an UHD HDR TV set box with HDMI 2.0. I'll see what that "other company" will come out with this September. Otherwise, what about Fire TV (which isn't sold in Italy anyway..)? Does it support Hi-Res Audio?

 

profile.country.AT.title
Kuschelmonschter
Hero


Jecht_Sin schrieb:

I have checked a bit now about ENCODING_IEC61937 in Kodi, and it seems the Kodi developers won't/can't use the older APIs in Android 7. I wonder what would happen installing Kodi v16 instead.. 


They just don't want to work around device manufacturer bugs anymore.

 

Kodi16 Jarvis uses the PCM hack. So it probably works, probably not. Has nothing to do with any API though.

 

A patch exists somewhere which probes the IEC API and if it fails reverts to the RAW (ENCODING_AC3 a.s.o.) API.

 


Otherwise, what about Fire TV (which isn't sold in Italy anyway..)? Does it support Hi-Res Audio?

Forget about that. It is MediaTek too. AC3/EAC3 is the best you will get. Look at Amazon subscription and Fire TV prices. Do you really think they care about Blu-ray audio formats? All they care about is Amazon Video.

profile.country.AT.title
Kuschelmonschter
Hero

Just in case you are interested, you will find the mentioned patch here. It is not part of any official branch/build though.

profile.country.GB.title
Jecht_Sin
Enthusiast


Kuschelmonschter wrote:

Jecht_Sin schrieb:

I have checked a bit now about ENCODING_IEC61937 in Kodi, and it seems the Kodi developers won't/can't use the older APIs in Android 7. I wonder what would happen installing Kodi v16 instead.. 


They just don't want to work around device manufacturer bugs anymore.


Great! So it will be time for me to join the club and start yelling "SONY, FIX THAT AUDIO PASSTHORUGH!!", as well. Because at the end the Kodi developers are right and after three months we still have to see an update. The worst support ever!

 

Bah. Hopefully I will manage to play 1080p stuff with full 5.1 support from my PS4 plugged straight into the receiver. But somehow I doubt that as well.

profile.country.GB.title
Jecht_Sin
Enthusiast


Kuschelmonschter wrote:

Just in case you are interested, you will find the mentioned patch here. It is not part of any official branch/build though.


Yes, indeed. Thanks. I forgot to ask about it. How would I install it? Would I need to compile everything by myself? I can't find an apk..

profile.country.AT.title
Kuschelmonschter
Hero

The build is not available anymore. So you would have to compile Kodi yourself.

 

I assume that it will get pulled mainline when ATV1 receives Nougat with the same bug as well.

profile.country.GB.title
Jecht_Sin
Enthusiast

Oh, I see. I don't have an Android developer environment setup, so I'll wait I guess.

 

Instead, what is wrong with Netflix? On my TV pressing the "info" button it says Stereo for the audio. On my PS4 it says 5.1 channels. And the audio, even if via optical out (on TV) to optical to analogue converter (I stil have to receive my AVR) does sound better.

 

Then on a quite unrelated matter, but this has been puzzling me for quite few days now: how is that possible that with my current HT with 2 ch analogue input when playing the DTS: X Object Emulator demo (for headsets) in YouTube I do get the 5 channels physically separated? I mean, I took the RL speaker and put it on my ear and it was playing audio only when the ball bounced near it. Is it in DPLII or something? Weird enough even on my MacBook the rear audio seems to be playing from the bottom border (the speakers are on top). What a crazy technology! :smiley: