Avoid scanning sources when decoder state is shutdown

If creating MediaCodec is failed, decoder notifies error and shutdown
of decoder is requested. In that case, NuPlayer::flushDecoder()
requests performScanSources() if mScanSourcesPending is true. By this
request, kWhatScanSources is posted again and instantiating decoder
is also requested again. This processing is executed continuously and
error is notified many times.
This fix limits running performScanSources() only when needShutdown is
false

Bug: 28627498

Change-Id: I7b7a82ad8fdf493b58ce95670e37e77533295ddc
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 77b9799..50670e8 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -1675,8 +1675,10 @@
     // Make sure we don't continue to scan sources until we finish flushing.
     ++mScanSourcesGeneration;
     if (mScanSourcesPending) {
-        mDeferredActions.push_back(
-                new SimpleAction(&NuPlayer::performScanSources));
+        if (!needShutdown) {
+            mDeferredActions.push_back(
+                    new SimpleAction(&NuPlayer::performScanSources));
+        }
         mScanSourcesPending = false;
     }