Use android::base::NoDestructor for static variables
Bug: 265887223
Test: presubmit
Change-Id: Ic04c63d7f240637875681ac509cb6ffe6ad69121
diff --git a/media/codec2/sfplugin/Codec2Buffer.cpp b/media/codec2/sfplugin/Codec2Buffer.cpp
index b9270de..8f0f1c9 100644
--- a/media/codec2/sfplugin/Codec2Buffer.cpp
+++ b/media/codec2/sfplugin/Codec2Buffer.cpp
@@ -22,6 +22,7 @@
#include <aidl/android/hardware/graphics/common/Cta861_3.h>
#include <aidl/android/hardware/graphics/common/Smpte2086.h>
+#include <android-base/no_destructor.h>
#include <android-base/properties.h>
#include <android/hardware/cas/native/1.0/types.h>
#include <android/hardware/drm/1.0/types.h>
@@ -1018,8 +1019,8 @@
namespace {
sp<IMapper4> GetMapper4() {
- static sp<IMapper4> sMapper = IMapper4::getService();
- return sMapper;
+ static ::android::base::NoDestructor<sp<IMapper4>> sMapper(IMapper4::getService());
+ return *sMapper;
}
class Gralloc4Buffer {