diff options
Diffstat (limited to 'media')
| -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 =  | 
