diff options
author | Sharad Sangle <assangle@codeaurora.org> | 2015-07-16 02:55:47 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:24:11 -0600 |
commit | 3757661864d0e39d98598d06071d542af5af3bbd (patch) | |
tree | d11ddc684ebb883695b147d1d0a0054379bf37a3 /media/libstagefright | |
parent | aeb382ad2336837155f3288facc9c415ccc2bfa5 (diff) | |
download | frameworks_av-3757661864d0e39d98598d06071d542af5af3bbd.zip frameworks_av-3757661864d0e39d98598d06071d542af5af3bbd.tar.gz frameworks_av-3757661864d0e39d98598d06071d542af5af3bbd.tar.bz2 |
audio: add support for FLAC decoding
added support for FLAC decoding
Change-Id: Ia35b0b9218fdf2584348a2a95bf0401c5065dedc
Diffstat (limited to 'media/libstagefright')
-rw-r--r-- | media/libstagefright/ACodec.cpp | 5 | ||||
-rw-r--r-- | media/libstagefright/omx/Android.mk | 6 | ||||
-rwxr-xr-x | media/libstagefright/omx/SoftOMXPlugin.cpp | 3 |
3 files changed, 12 insertions, 2 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 8d9bd21..e3cc413 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -2069,7 +2069,7 @@ status_t ACodec::configureCodec( } err = setupG711Codec(encoder, sampleRate, numChannels); } - } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_FLAC)) { + } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_FLAC) && encoder) { int32_t numChannels = 0, sampleRate = 0, compressionLevel = -1; if (encoder && (!msg->findInt32("channel-count", &numChannels) @@ -4179,7 +4179,8 @@ status_t ACodec::getPortFormat(OMX_U32 portIndex, sp<AMessage> ¬ify) { if (params.nChannels <= 0 || (params.nChannels != 1 && !params.bInterleaved) - || params.nBitPerSample != 16u + || (params.nBitPerSample != 16u + && params.nBitPerSample != 24u)// we support 16/24 bit s/w decoding || params.eNumData != OMX_NumericalDataSigned || params.ePCMMode != OMX_AUDIO_PCMModeLinear) { ALOGE("unsupported PCM port: %u channels%s, %u-bit, %s(%d), %s(%d) mode ", diff --git a/media/libstagefright/omx/Android.mk b/media/libstagefright/omx/Android.mk index 5f0f567..d16d5df 100644 --- a/media/libstagefright/omx/Android.mk +++ b/media/libstagefright/omx/Android.mk @@ -30,6 +30,12 @@ LOCAL_SHARED_LIBRARIES := \ libstagefright_foundation \ libdl +ifeq ($(call is-vendor-board-platform,QCOM),true) +ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER)),true) + LOCAL_CFLAGS += -DQTI_FLAC_DECODER +endif +endif + LOCAL_MODULE:= libstagefright_omx LOCAL_CFLAGS += -Werror -Wall LOCAL_CLANG := true diff --git a/media/libstagefright/omx/SoftOMXPlugin.cpp b/media/libstagefright/omx/SoftOMXPlugin.cpp index 0f9c00c..9389f67 100755 --- a/media/libstagefright/omx/SoftOMXPlugin.cpp +++ b/media/libstagefright/omx/SoftOMXPlugin.cpp @@ -59,6 +59,9 @@ static const struct { { "OMX.google.raw.decoder", "rawdec", "audio_decoder.raw" }, { "OMX.google.flac.encoder", "flacenc", "audio_encoder.flac" }, { "OMX.google.gsm.decoder", "gsmdec", "audio_decoder.gsm" }, +#ifdef QTI_FLAC_DECODER + { "OMX.qti.audio.decoder.flac", "flacdec", "audio_decoder.flac" }, +#endif }; static const size_t kNumComponents = |