summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/FLACExtractor.cpp
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-12-12 21:28:57 -0800
committerSteve Kondik <steve@cyngn.com>2015-12-13 13:16:01 -0800
commit0c19cf7478f4dc10f2739bf6eefa1887a79b48cf (patch)
treedb6eef718afc558b8036530512beb5f7cd5d8a27 /media/libstagefright/FLACExtractor.cpp
parent6dde130280d6ead297170211b005cc809e7f7bde (diff)
downloadframeworks_av-0c19cf7478f4dc10f2739bf6eefa1887a79b48cf.zip
frameworks_av-0c19cf7478f4dc10f2739bf6eefa1887a79b48cf.tar.gz
frameworks_av-0c19cf7478f4dc10f2739bf6eefa1887a79b48cf.tar.bz2
stagefright: Add support for FLAC offloading
* New Qualcomm DSPs support FLAC decoding, but the offload code is stubbed out in M. Unstub it from what used to be open source. Change-Id: I03c129c42ebc6909a3392e42a7f96791c8fabd28
Diffstat (limited to 'media/libstagefright/FLACExtractor.cpp')
-rw-r--r--media/libstagefright/FLACExtractor.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/media/libstagefright/FLACExtractor.cpp b/media/libstagefright/FLACExtractor.cpp
index 91f0e65..51a502d 100644
--- a/media/libstagefright/FLACExtractor.cpp
+++ b/media/libstagefright/FLACExtractor.cpp
@@ -32,7 +32,7 @@
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/MediaBuffer.h>
-#ifdef ENABLE_AV_ENHANCEMENTS
+#ifdef FLAC_OFFLOAD_ENABLED
#include "QCMediaDefs.h"
#include "QCMetaData.h"
#endif
@@ -93,9 +93,18 @@ public:
}
// stream properties
+ unsigned getMinBlockSize() const {
+ return mStreamInfo.min_blocksize;
+ }
unsigned getMaxBlockSize() const {
return mStreamInfo.max_blocksize;
}
+ unsigned getMinFrameSize() const {
+ return mStreamInfo.min_framesize;
+ }
+ unsigned getMaxFrameSize() const {
+ return mStreamInfo.max_framesize;
+ }
unsigned getSampleRate() const {
return mStreamInfo.sample_rate;
}
@@ -544,6 +553,12 @@ status_t FLACParser::init()
mTrackMetadata->setInt64(kKeyDuration,
(getTotalSamples() * 1000000LL) / getSampleRate());
mTrackMetadata->setInt32(kKeyBitsPerSample, getBitsPerSample());
+#ifdef FLAC_OFFLOAD_ENABLED
+ mTrackMetadata->setInt32(kKeyMinBlkSize, getMinBlockSize());
+ mTrackMetadata->setInt32(kKeyMaxBlkSize, getMaxBlockSize());
+ mTrackMetadata->setInt32(kKeyMinFrmSize, getMinFrameSize());
+ mTrackMetadata->setInt32(kKeyMaxFrmSize, getMaxFrameSize());
+#endif
}
} else {
ALOGE("missing STREAMINFO");