summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/g711/dec/SoftG711.cpp
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-10-12 22:28:11 -0700
committerChong Zhang <chz@google.com>2014-10-13 11:16:03 -0700
commit10d023beb0544591d0f5ff556f7f67356f0d9189 (patch)
tree7ef6da05b041ec7f0ea8783013260c6b4e90e0d9 /media/libstagefright/codecs/g711/dec/SoftG711.cpp
parent380757ba5c927015d403e3b97cc418413330453e (diff)
downloadframeworks_av-10d023beb0544591d0f5ff556f7f67356f0d9189.zip
frameworks_av-10d023beb0544591d0f5ff556f7f67356f0d9189.tar.gz
frameworks_av-10d023beb0544591d0f5ff556f7f67356f0d9189.tar.bz2
handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat
Bug: 17935293 Change-Id: Id09190ae813aa9e00a3c1ef6fb8a1bd3021deb6e
Diffstat (limited to 'media/libstagefright/codecs/g711/dec/SoftG711.cpp')
-rw-r--r--media/libstagefright/codecs/g711/dec/SoftG711.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/libstagefright/codecs/g711/dec/SoftG711.cpp b/media/libstagefright/codecs/g711/dec/SoftG711.cpp
index 240c0c1..3a69095 100644
--- a/media/libstagefright/codecs/g711/dec/SoftG711.cpp
+++ b/media/libstagefright/codecs/g711/dec/SoftG711.cpp
@@ -117,7 +117,14 @@ OMX_ERRORTYPE SoftG711::internalGetParameter(
pcmParams->eEndian = OMX_EndianBig;
pcmParams->bInterleaved = OMX_TRUE;
pcmParams->nBitPerSample = 16;
- pcmParams->ePCMMode = OMX_AUDIO_PCMModeLinear;
+ if (pcmParams->nPortIndex == 0) {
+ // input port
+ pcmParams->ePCMMode = mIsMLaw ? OMX_AUDIO_PCMModeMULaw
+ : OMX_AUDIO_PCMModeALaw;
+ } else {
+ // output port
+ pcmParams->ePCMMode = OMX_AUDIO_PCMModeLinear;
+ }
pcmParams->eChannelMapping[0] = OMX_AUDIO_ChannelLF;
pcmParams->eChannelMapping[1] = OMX_AUDIO_ChannelRF;