How to Play a File with Two Audio Tracks: DTS & AC3 on i.MX6/Android

Document created by mingzhou Employee on Feb 21, 2013Last modified by Jodi Paul on Jun 17, 2013
Version 4Show Document
  • View in full screen mode


This document is written for Freescale customers who have Freescale AC3 release packages (excluded package). (If you did not have the AC3 release package, you can disregard this document.)


Freescale OMX Player in Android release supports audio track selection when playing files with multiple audio tracks. However, most customers don't use this enhanced API to select the audio track even if current audio codec is not supported. To avoid a soundless output when partial audio track can be played, this document provides the method to select the available audio track automatically to play. The patch in this document is not included in our current release because it did not match with our track selection rule - play the first track.


If you have any idea with this issue, feel free to add comments into this document.


Issue description:

Software: R13.4-GA or R13.4.1 Android releases

Hardware: MX6Dual/Quad SabreSD board

Test source: 1.mkv

Test Step:

1. Lunch Gallery from main menu.

2. Play the video And you can see the watch the video without any sound


Root Reason:

The file has 2 audio track DTS & AC3: audio track 1 is DTS and track 2 is AC3. OMX Player will choose the first audio track to play as default audio track, which is DTS audio. However, the software only supports the AC3 audio codec, so it could not set up audio decoder for DTS track. If we choose to play the AC3 track, sounds could be heard.


How to fix:

The audio track index is set in GMPlayer::LoadParser().

You can get audio format to check whether it is supported by decoder.

Please see the patch audio_track_slection.diff