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);
 }