diff options
author | popcornmix <popcornmix@gmail.com> | 2014-11-18 18:53:42 +0000 |
---|---|---|
committer | popcornmix <popcornmix@gmail.com> | 2014-11-22 17:41:57 +0000 |
commit | 247bbf45d5427e193a63942c00556b68dc1fbefb (patch) | |
tree | c723815a87f8d1c3bb473069ec7b2a86b9709488 | |
parent | 59aae3d255bc5591b51d9d696862c02b68310828 (diff) |
[omxplayer] Fix for EAC3 passthrough
The Pi firmware supports EAC3 passthrough okay, but we weren't correctly enabling support.
See: https://github.com/OpenELEC/OpenELEC.tv/issues/3302
-rw-r--r-- | xbmc/cores/omxplayer/OMXAudio.h | 1 | ||||
-rw-r--r-- | xbmc/cores/omxplayer/OMXPlayerAudio.cpp | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/xbmc/cores/omxplayer/OMXAudio.h b/xbmc/cores/omxplayer/OMXAudio.h index 3ff959f7d9..569cb0980b 100644 --- a/xbmc/cores/omxplayer/OMXAudio.h +++ b/xbmc/cores/omxplayer/OMXAudio.h @@ -48,6 +48,7 @@ extern "C" { #define OMX_IS_RAW(x) \ ( \ (x) == AE_FMT_AC3 || \ + (x) == AE_FMT_EAC3 || \ (x) == AE_FMT_DTS \ ) diff --git a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp index a83fda8790..66014d4305 100644 --- a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp +++ b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp @@ -530,6 +530,11 @@ AEDataFormat OMXPlayerAudio::GetDataFormat(CDVDStreamInfo hints) dataFormat = AE_FMT_AC3; m_passthrough = true; } + if(hints.codec == AV_CODEC_ID_EAC3 && CAEFactory::SupportsRaw(AE_FMT_AC3, hints.samplerate * 4) && !CSettings::Get().GetBool("audiooutput.dualaudio")) + { + dataFormat = AE_FMT_EAC3; + m_passthrough = true; + } if(hints.codec == AV_CODEC_ID_DTS && CAEFactory::SupportsRaw(AE_FMT_DTS, hints.samplerate) && !CSettings::Get().GetBool("audiooutput.dualaudio")) { dataFormat = AE_FMT_DTS; |