CCodec: flush reorder stash at flush

Bug: 127921288
Test: atest GtsExoPlayerTestCases:DashTest
Change-Id: I6be571e2ca640b86eb2d227d92492bc8f0466ff5
(cherry picked from commit 92df7718a2a0976da6b5c1ce32ad47c7eecf58a7)
diff --git a/media/sfplugin/CCodecBufferChannel.cpp b/media/sfplugin/CCodecBufferChannel.cpp
index 7328673..a199986 100644
--- a/media/sfplugin/CCodecBufferChannel.cpp
+++ b/media/sfplugin/CCodecBufferChannel.cpp
@@ -1526,6 +1526,11 @@
     mKey = C2Config::ORDINAL;
 }
 
+void CCodecBufferChannel::ReorderStash::flush() {
+    mPending.clear();
+    mStash.clear();
+}
+
 void CCodecBufferChannel::ReorderStash::setDepth(uint32_t depth) {
     mPending.splice(mPending.end(), mStash);
     mDepth = depth;
@@ -2480,6 +2485,7 @@
             ALOGV("[%s] stashed flushed codec config data (size=%u)", mName, view.capacity());
         }
     }
+    mReorderStash.lock()->flush();
     {
         Mutexed<std::unique_ptr<InputBuffers>>::Locked buffers(mInputBuffers);
         (*buffers)->flush();
diff --git a/media/sfplugin/CCodecBufferChannel.h b/media/sfplugin/CCodecBufferChannel.h
index e354fd0..3e45e86 100644
--- a/media/sfplugin/CCodecBufferChannel.h
+++ b/media/sfplugin/CCodecBufferChannel.h
@@ -354,6 +354,7 @@
         ReorderStash();
 
         void clear();
+        void flush();
         void setDepth(uint32_t depth);
         void setKey(C2Config::ordinal_key_t key);
         bool pop(Entry *entry);