NuPlayer: queue a deferred scan sources when flushing during scan
also refactor code to move scheduleRequestBuffers to decoder base.
bug: 20267388
Change-Id: I48f16adc6b4d4008f8fcda8b3b01c595ad199f8b
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 1bd4e57..dbe934c 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -1419,7 +1419,11 @@
// Make sure we don't continue to scan sources until we finish flushing.
++mScanSourcesGeneration;
- mScanSourcesPending = false;
+ if (mScanSourcesPending) {
+ mDeferredActions.push_back(
+ new SimpleAction(&NuPlayer::performScanSources));
+ mScanSourcesPending = false;
+ }
decoder->signalFlush();