diff options
author | Andreas Huber <andih@google.com> | 2012-03-26 11:13:27 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-03-26 11:24:04 -0700 |
commit | ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 (patch) | |
tree | 99d5bb3a2f48f9a3ba3eaaf17e630b589e97bef1 /media/libstagefright/OMXCodec.cpp | |
parent | cc1110dc92e53e9cc0afbb043e6ef8295bd9c5d5 (diff) | |
download | frameworks_av-ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6.zip frameworks_av-ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6.tar.gz frameworks_av-ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6.tar.bz2 |
Provisional support for secure decryption of media streams.
Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
Diffstat (limited to 'media/libstagefright/OMXCodec.cpp')
-rwxr-xr-x | media/libstagefright/OMXCodec.cpp | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index 8b6e9d5..9769f21 100755 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -515,7 +515,12 @@ status_t OMXCodec::configureCodec(const sp<MetaData> &meta) { CHECK(meta->findInt32(kKeyChannelCount, &numChannels)); CHECK(meta->findInt32(kKeySampleRate, &sampleRate)); - status_t err = setAACFormat(numChannels, sampleRate, bitRate); + int32_t isADTS; + if (!meta->findInt32(kKeyIsADTS, &isADTS)) { + isADTS = false; + } + + status_t err = setAACFormat(numChannels, sampleRate, bitRate, isADTS); if (err != OK) { CODEC_LOGE("setAACFormat() failed (err = %d)", err); return err; @@ -3386,11 +3391,17 @@ void OMXCodec::setAMRFormat(bool isWAMR, int32_t bitRate) { } } -status_t OMXCodec::setAACFormat(int32_t numChannels, int32_t sampleRate, int32_t bitRate) { - if (numChannels > 2) +status_t OMXCodec::setAACFormat( + int32_t numChannels, int32_t sampleRate, int32_t bitRate, bool isADTS) { + if (numChannels > 2) { ALOGW("Number of channels: (%d) \n", numChannels); + } if (mIsEncoder) { + if (isADTS) { + return -EINVAL; + } + //////////////// input port //////////////////// setRawAudioFormat(kPortIndexInput, sampleRate, numChannels); @@ -3445,7 +3456,9 @@ status_t OMXCodec::setAACFormat(int32_t numChannels, int32_t sampleRate, int32_t &profile, sizeof(profile)); if (err != OK) { - CODEC_LOGE("setParameter('OMX_IndexParamAudioAac') failed (err = %d)", err); + CODEC_LOGE("setParameter('OMX_IndexParamAudioAac') failed " + "(err = %d)", + err); return err; } } else { @@ -3459,13 +3472,19 @@ status_t OMXCodec::setAACFormat(int32_t numChannels, int32_t sampleRate, int32_t profile.nChannels = numChannels; profile.nSampleRate = sampleRate; - profile.eAACStreamFormat = OMX_AUDIO_AACStreamFormatMP4ADTS; + + profile.eAACStreamFormat = + isADTS + ? OMX_AUDIO_AACStreamFormatMP4ADTS + : OMX_AUDIO_AACStreamFormatMP4FF; err = mOMX->setParameter( mNode, OMX_IndexParamAudioAac, &profile, sizeof(profile)); if (err != OK) { - CODEC_LOGE("setParameter('OMX_IndexParamAudioAac') failed (err = %d)", err); + CODEC_LOGE("setParameter('OMX_IndexParamAudioAac') failed " + "(err = %d)", + err); return err; } } |