Clear the local prefetcher strong reference before signalling that prepare() was cancelled early in order to avoid a race condition that occasionally triggered an assertion from the main thread.

Change-Id: I0db198fe5fd0fbe9a6c90a8e5924a2df05432c4c
related-to-bug: 2538486
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 164df72..407fd57 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -1153,6 +1153,8 @@
             Mutex::Autolock autoLock(mLock);
             if (mFlags & PREPARE_CANCELLED) {
                 LOGI("prepare was cancelled before preparing the prefetcher");
+
+                prefetcher.clear();
                 abortPrepare(UNKNOWN_ERROR);
                 return;
             }