Make stagefright a little less verbose. Fix heap corruption for real.
diff --git a/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp b/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp
index fced87b..fc4f2c5 100644
--- a/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp
+++ b/media/libmediaplayerservice/StagefrightMetadataRetriever.cpp
@@ -86,7 +86,7 @@
LOGV("captureFrame");
if (mExtractor.get() == NULL) {
- LOGE("no extractor.");
+ LOGV("no extractor.");
return NULL;
}
@@ -104,7 +104,7 @@
}
if (i == n) {
- LOGE("no video track found.");
+ LOGV("no video track found.");
return NULL;
}
@@ -114,7 +114,7 @@
sp<MediaSource> source = mExtractor->getTrack(i);
if (source.get() == NULL) {
- LOGE("unable to instantiate video track.");
+ LOGV("unable to instantiate video track.");
return NULL;
}
@@ -126,7 +126,7 @@
NULL, OMXCodec::kPreferSoftwareCodecs);
if (decoder.get() == NULL) {
- LOGE("unable to instantiate video decoder.");
+ LOGV("unable to instantiate video decoder.");
return NULL;
}
@@ -157,13 +157,13 @@
if (err != OK) {
CHECK_EQ(buffer, NULL);
- LOGE("decoding frame failed.");
+ LOGV("decoding frame failed.");
decoder->stop();
return NULL;
}
- LOGI("successfully decoded video frame.");
+ LOGV("successfully decoded video frame.");
meta = decoder->getFormat();
diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp
index 8535f52..f23efbf 100644
--- a/media/libstagefright/MediaExtractor.cpp
+++ b/media/libstagefright/MediaExtractor.cpp
@@ -41,7 +41,7 @@
}
mime = tmp.string();
- LOGI("Autodetected media content as '%s' with confidence %.2f",
+ LOGV("Autodetected media content as '%s' with confidence %.2f",
mime, confidence);
}
diff --git a/media/libstagefright/omx/OMXNodeInstance.cpp b/media/libstagefright/omx/OMXNodeInstance.cpp
index 84d0d4b..d5d45d7 100644
--- a/media/libstagefright/omx/OMXNodeInstance.cpp
+++ b/media/libstagefright/omx/OMXNodeInstance.cpp
@@ -107,8 +107,6 @@
}
status_t OMXNodeInstance::freeNode() {
- Mutex::Autolock autoLock(mLock);
-
OMX_ERRORTYPE err = OMX_MasterFreeHandle(mHandle);
mHandle = NULL;
@@ -119,9 +117,8 @@
mOwner->invalidateNodeID(mNodeID);
mNodeID = NULL;
- LOGI("OMXNodeInstance going away.");
- mObserver.clear();
- // delete this; // leads to heap-corruption???
+ LOGV("OMXNodeInstance going away.");
+ delete this;
return StatusFromOMXError(err);
}