[MX Player] MartyM76:
MX Player/Android Passthrough Notes / How-To

Hey guys, so I originally posted here a few times that I could not get MX Player to work for the 5.1 passthrough feature but only with prior versions of Kodi that force passthrough. MX Player support responded here stating that it was a hardware-dependent issue but did not explain further.

I have since looked into this issue and I am happy to say that I have found answers to many of mine and your questions. I have finally resolved this issue (more or less) based on the test hardware I am using as well as testing a few different Android media apps.

Here's what you need to know about MX Player as well as passthrough on Android in general.

Reference: Tested Kodi Jarvis 17.4 ("****ty" (as called by the developers) version, emulated 5.1 passthrough version), MX Player v1.10.9 (Sept. 29,2018)., and Android VLC media player.

1. Passthrough capability is hardware dependent. Not all Android devices can perform HDMI handshaking (EDID, to determine the audio formats supported) and pass through the required streaming digital audio protocol you need for 5.1 or higher audio formats.

If your Android device does not specify the passthrough capability (especially 5.1 audio formats such as Dolby Digital and DTS) then unfortunately there is a good chance it will only output an "upmixed" 2.0 (stereo) audio signal. Unfortunately while my Z Ultra can pass 5.1 audio using Kodi (which uses a forced passthrough scheme) it cannot natively pass 5.1 audio as my Shield Tablet can.

This means that you'll need to ensure that 1) you have capable hardware and 2) you have a device that has one of the most recent versions of Android, specifically 6.0 and above to support multi-channel audio format passthrough.

For example, I have 2 test devices:

- Sony Xperia Z Ultra phone (Android 5.1.1.) w/ MHL (micro HDMI) output

- Nvidia Shield Tablet (Android 7.0 w/ mini HDMI port)

2. How can you get a passthrough audio signal?

I previously used an unspecified Monoprice.com HDMI audio extractor, which would work to pass a 5.1 signal to my 5.1 Alpine DSP/decoder. However that only works sufficiently to pass an LPCM stream if a "forced" passthrough like with older versions of Kodi is used.

The problem is, as the MX Player team has noted, is that MX Player and other apps must detect a valid handshaking hardware EDID signal from an appropriate HDMI audio extractor or home stereo decoder that indicates it can handle 5.1 or 7.1 signals.

Without that, your Android device will not pass 5.1 audio unless it's a forced version like in the Kodi "****ty" build versions I've tested like Jarvis 17.4.

3. Verifying / getting true audio passthrough with MX Player and others

In order to get a proper passthrough with MX Player or VLC media player you'll need a receiving device that will tell your Android hardware that it is capable of 5.1 or higher audio bitstreaming.

I purchased the Monoprice Blackbird 4K Series 7.1 HDMI Audio Extractor (https://www.monoprice.com/product?c_id=101&cp_id=10113&cs_id=1011314&p_id=13348&seq=1&format=2) and tested it successfully.

Unfortunately, my Z Ultra could not support a true HDMI 5.1 (or higher) passthrough with MX Player or VLC. However, my Nvidia Shield Tablet worked well.

Using the Shield tablet, here are my results for several 5.1 audio test video files:

MX Player:

.mkv video: (Dolby Digital 5.1): Passthrough works great, 5.1, when HW decoder selected

.mp4 video: (Dolby Digital 5.1): passthrough works but upmixed to 2.0 stereo (?)

.VOB DTS test video: passes only 2.0 stereo upmixed (?)

VLC Media Player:

.mkv video (DD 5.1): passthrough works great, no issues

.mp4 video (DD 5.1) passthrough works but upmixed to 2.0 stereo

.VOB DTS test track: Plays ok, DTS 5.1 signal passed successfully

KODI Jarvis 17.4 LPCM passthrough forced:

.mkv, .mp4, .vob all pass 5.1 software decoded passthrough signal

4. Long story short, what does this all mean?

In order to get passthrough, you'll need:

A) An Android device that can pass a 5.1 signal as supported by hardware or

B) Use KODI "****ty" build (emulated passthrough functionality) to get the full potential for whichever passthrough signal format you need

...(A) or (B) AND -

C) HDMI audio extractor w/ EDID capability for 7.1 audio formats

Essentially, what the MX Player team is saying proved to be true (my apologies to my prior frustration with the app): you'll need an HDMI device that will handshake an EDID device that supports passthrough formats as I've mentioned above.

Otherwise you're stuck using one of the Kodi builds that emulate passthrough functionality for this purpose and force the passthrough functionality regardless of hardware.

Note that I'm unsure why some movies w/ a 5.1 track (D.D. 5.1) are not passing 5.1 with either MX Player or VLC. I'm not sure what the issue is there. This is happening on some of my .MP4 test movies. So unfortunately MX Player will pass some files but not .VOB correctly, but in 2.0 instead. For those files I still have to use Kodi which passes the 5.1 output as expected.

Hopefully this helps someone who isn't currently able to figure out why passthrough in MX Player isn't working.

EDIT: Since this post I found the problem regarding .MP4 files & 5.1 passthrough. It's because my test file has AAC audio, not AC3. MX Player and many others don't transcode it, so either the video must be converted or use a different player in that case (.MKV files support AC3, for example).