Fix map key in PreparerThread pending streams.

mPendingStreams in PrepareThread was a map
[max stream buffers -> Camera3Streaminterface].

This would cause two streams with the same max buffers to be added
to the map only once which is unintended.

Changed mPendingStreams from
std::unordered_map<int, Camera3StreamInterface>  to
std::list<std::tuple<int,Camera3StreamInterface>>

Bug: 259735869

Test: NativeCameraDeviceTest.java#testCameraDevicePrepareSurface

Change-Id: I501b9d2fab4705bf24a2ec8b628803392a36f44b
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
diff --git a/services/camera/libcameraservice/device3/Camera3Device.h b/services/camera/libcameraservice/device3/Camera3Device.h
index 3a46ee6..6985514 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.h
+++ b/services/camera/libcameraservice/device3/Camera3Device.h
@@ -20,6 +20,7 @@
 #include <utility>
 #include <unordered_map>
 #include <set>
+#include <tuple>
 
 #include <utils/Condition.h>
 #include <utils/Errors.h>
@@ -1221,7 +1222,7 @@
         // Guarded by mLock
 
         wp<NotificationListener> mListener;
-        std::unordered_map<int, sp<camera3::Camera3StreamInterface> > mPendingStreams;
+        std::list<std::tuple<int, sp<camera3::Camera3StreamInterface>>> mPendingStreams;
         bool mActive;
         bool mCancelNow;