diff options
| author | Steve Kondik <steve@cyngn.com> | 2015-12-14 01:24:54 -0800 |
|---|---|---|
| committer | Steve Kondik <steve@cyngn.com> | 2015-12-14 01:24:54 -0800 |
| commit | 0145bf600a8f5fa911170f8bb8c2ff6fec47a599 (patch) | |
| tree | 85075538440df5773184773fd946e507dc35c009 /media/libstagefright | |
| parent | 1512587eb162be68b62161371a4ad1ce81b5377b (diff) | |
| download | frameworks_av-0145bf600a8f5fa911170f8bb8c2ff6fec47a599.zip frameworks_av-0145bf600a8f5fa911170f8bb8c2ff6fec47a599.tar.gz frameworks_av-0145bf600a8f5fa911170f8bb8c2ff6fec47a599.tar.bz2 | |
stagefright: Additional fixes for extended offload support
* Fix compilation with debug enabled
* Allow FLAC offload to be enabled independent of QCOM_HARDWARE,
tested with the Nexus 5X and is working!
* Disable the FLACExtractor if offload is enabled since it can
only output decoded PCM. This will force FFMPEG to be used,
which does everything we need for FLAC offload
Change-Id: I7d71c153a6a6ea7df8e32bc73f5cbe9f51cdcf64
Diffstat (limited to 'media/libstagefright')
| -rw-r--r-- | media/libstagefright/Android.mk | 3 | ||||
| -rw-r--r-- | media/libstagefright/DataSource.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/MediaExtractor.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/Utils.cpp | 3 |
4 files changed, 9 insertions, 1 deletions
diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk index 381ef6c..efd1a30 100644 --- a/media/libstagefright/Android.mk +++ b/media/libstagefright/Android.mk @@ -178,10 +178,11 @@ LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-audio ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER)),true) LOCAL_CFLAGS += -DQTI_FLAC_DECODER endif +endif + ifeq ($(strip $(AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD)),true) LOCAL_CFLAGS += -DFLAC_OFFLOAD_ENABLED endif -endif LOCAL_CLANG := true diff --git a/media/libstagefright/DataSource.cpp b/media/libstagefright/DataSource.cpp index 8b49d18..f32bb7e 100644 --- a/media/libstagefright/DataSource.cpp +++ b/media/libstagefright/DataSource.cpp @@ -232,7 +232,9 @@ void DataSource::RegisterDefaultSniffers() { RegisterSniffer_l(SniffMatroska); RegisterSniffer_l(SniffOgg); RegisterSniffer_l(SniffWAV); +#ifndef FLAC_OFFLOAD_ENABLED RegisterSniffer_l(SniffFLAC); +#endif RegisterSniffer_l(SniffAMR); RegisterSniffer_l(SniffMPEG2TS); RegisterSniffer_l(SniffMP3); diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp index fc96e2f..cd0acfa 100644 --- a/media/libstagefright/MediaExtractor.cpp +++ b/media/libstagefright/MediaExtractor.cpp @@ -117,8 +117,10 @@ retry: } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AMR_NB) || !strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AMR_WB)) { ret = new AMRExtractor(source); +#ifndef FLAC_OFFLOAD_ENABLED } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_FLAC)) { ret = new FLACExtractor(source); +#endif } else if (!strcasecmp(mime, MEDIA_MIMETYPE_CONTAINER_WAV)) { ret = new WAVExtractor(source); } else if (!strcasecmp(mime, MEDIA_MIMETYPE_CONTAINER_OGG)) { diff --git a/media/libstagefright/Utils.cpp b/media/libstagefright/Utils.cpp index a50d02d..e9d585f 100644 --- a/media/libstagefright/Utils.cpp +++ b/media/libstagefright/Utils.cpp @@ -791,6 +791,9 @@ static const struct mime_conv_t mimeLookup[] = { { MEDIA_MIMETYPE_AUDIO_AAC, AUDIO_FORMAT_AAC }, { MEDIA_MIMETYPE_AUDIO_VORBIS, AUDIO_FORMAT_VORBIS }, { MEDIA_MIMETYPE_AUDIO_OPUS, AUDIO_FORMAT_OPUS}, +#ifdef FLAC_OFFLOAD_ENABLED + { MEDIA_MIMETYPE_AUDIO_FLAC, AUDIO_FORMAT_FLAC}, +#endif { 0, AUDIO_FORMAT_INVALID } }; |
