[Decode] Reusing retired temporal buffer other than empty buffer to improve the robustness with error stream.

The retired temporal buffer has meaningful data which is able to benefit error stream.
diff --git a/media_driver/media_driver_next/agnostic/common/codec/hal/dec/shared/bufferMgr/decode_reference_associated_buffer.h b/media_driver/media_driver_next/agnostic/common/codec/hal/dec/shared/bufferMgr/decode_reference_associated_buffer.h
index 6cc217b..5051ae7 100644
--- a/media_driver/media_driver_next/agnostic/common/codec/hal/dec/shared/bufferMgr/decode_reference_associated_buffer.h
+++ b/media_driver/media_driver_next/agnostic/common/codec/hal/dec/shared/bufferMgr/decode_reference_associated_buffer.h
@@ -239,9 +239,11 @@
         }
         else
         {
-            auto iter = m_aviableBuffers.begin();
-            m_currentBuffer = *iter;
-            m_aviableBuffers.erase(iter);
+            // The function UpdateRefList always attach the retired buffers to end of
+            // aviable buffer list, reusing those buffers could improve the health with
+            // error stream, so pick up the last element of list for current frame.
+            m_currentBuffer = m_aviableBuffers.back();
+            m_aviableBuffers.pop_back();
             m_bufferOp.Resize(m_currentBuffer);
         }