summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2014-09-22 19:18:42 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-09-22 19:18:42 +0000
commit0f14717a5b89d2b020682dba1804a13b225beae0 (patch)
treefa0387baabf3e8718377162ad2e0e6c57a9b2558
parent6f7a0014777a68999c76b48feab4a85d4580c357 (diff)
parentd7f77cd78f5180ba7a04b270d632cc4f9f11718a (diff)
downloadframeworks_av-0f14717a5b89d2b020682dba1804a13b225beae0.zip
frameworks_av-0f14717a5b89d2b020682dba1804a13b225beae0.tar.gz
frameworks_av-0f14717a5b89d2b020682dba1804a13b225beae0.tar.bz2
am d7f77cd7: Merge "MediaCodec: Fix deallocated pointer reference when calling reset()" into lmp-dev
* commit 'd7f77cd78f5180ba7a04b270d632cc4f9f11718a': MediaCodec: Fix deallocated pointer reference when calling reset()
-rw-r--r--include/media/stagefright/MediaCodec.h2
-rw-r--r--media/libstagefright/MediaCodec.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/include/media/stagefright/MediaCodec.h b/include/media/stagefright/MediaCodec.h
index b87a09e..bca78b9 100644
--- a/include/media/stagefright/MediaCodec.h
+++ b/include/media/stagefright/MediaCodec.h
@@ -268,7 +268,7 @@ private:
static void PostReplyWithError(int32_t replyID, int32_t err);
- status_t init(const char *name, bool nameIsType, bool encoder);
+ status_t init(const AString &name, bool nameIsType, bool encoder);
void setState(State newState);
void returnBuffersToCodec();
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index 0bfc6e4..6c98c52 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -179,7 +179,7 @@ void MediaCodec::PostReplyWithError(int32_t replyID, int32_t err) {
response->postReply(replyID);
}
-status_t MediaCodec::init(const char *name, bool nameIsType, bool encoder) {
+status_t MediaCodec::init(const AString &name, bool nameIsType, bool encoder) {
// save init parameters for reset
mInitName = name;
mInitNameIsType = nameIsType;
@@ -191,7 +191,7 @@ status_t MediaCodec::init(const char *name, bool nameIsType, bool encoder) {
// queue.
mCodec = new ACodec;
bool needDedicatedLooper = false;
- if (nameIsType && !strncasecmp(name, "video/", 6)) {
+ if (nameIsType && !strncasecmp(name.c_str(), "video/", 6)) {
needDedicatedLooper = true;
} else {
AString tmp = name;
@@ -357,7 +357,7 @@ status_t MediaCodec::reset() {
mHaveInputSurface = false;
if (err == OK) {
- err = init(mInitName.c_str(), mInitNameIsType, mInitIsEncoder);
+ err = init(mInitName, mInitNameIsType, mInitIsEncoder);
}
return err;
}