summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacdec
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-01-05 11:13:08 -0800
committerAndreas Huber <andih@google.com>2010-01-05 11:13:08 -0800
commita66a27e07423c6ed1dde9c0267b555e83c44e58e (patch)
tree298388b54762fc64681098f6c8473c2d16287536 /media/libstagefright/codecs/aacdec
parentb8f92e8fc059693f0b857a185a183f618c4defb0 (diff)
downloadframeworks_av-a66a27e07423c6ed1dde9c0267b555e83c44e58e.zip
frameworks_av-a66a27e07423c6ed1dde9c0267b555e83c44e58e.tar.gz
frameworks_av-a66a27e07423c6ed1dde9c0267b555e83c44e58e.tar.bz2
Protect against possible temporary objects going away before we get at their data.
Diffstat (limited to 'media/libstagefright/codecs/aacdec')
-rw-r--r--media/libstagefright/codecs/aacdec/AACDecoder.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/media/libstagefright/codecs/aacdec/AACDecoder.cpp b/media/libstagefright/codecs/aacdec/AACDecoder.cpp
index 92059c5..ff51e88 100644
--- a/media/libstagefright/codecs/aacdec/AACDecoder.cpp
+++ b/media/libstagefright/codecs/aacdec/AACDecoder.cpp
@@ -70,7 +70,8 @@ status_t AACDecoder::start(MetaData *params) {
uint32_t type;
const void *data;
size_t size;
- if (mSource->getFormat()->findData(kKeyESDS, &type, &data, &size)) {
+ sp<MetaData> meta = mSource->getFormat();
+ if (meta->findData(kKeyESDS, &type, &data, &size)) {
ESDS esds((const char *)data, size);
CHECK_EQ(esds.InitCheck(), OK);