diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index b4f7035..54b2039 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -201,6 +201,7 @@
     ":audio_device_default",
     ":audio_device_generic",
     "../../api:array_view",
+    "../../api:refcountedbase",
     "../../api:scoped_refptr",
     "../../api/task_queue",
     "../../api/task_queue:global_task_queue_factory",
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 2ad398f..7dc3e29 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -913,6 +913,7 @@
       ":base_jni",
       ":java_audio_device_module",
       ":opensles_audio_device_module",
+      "../../api:scoped_refptr",
       "../../modules/audio_device",
       "../../rtc_base:checks",
       "../../rtc_base:rtc_base_approved",
@@ -1201,6 +1202,8 @@
       ":audio_device_module_base",
       ":base_jni",
       "../../api:array_view",
+      "../../api:refcountedbase",
+      "../../api:scoped_refptr",
       "../../modules/audio_device",
       "../../modules/audio_device:audio_device_buffer",
       "../../rtc_base:checks",
diff --git a/sdk/android/native_api/audio_device_module/audio_device_android.cc b/sdk/android/native_api/audio_device_module/audio_device_android.cc
index dd1b367..8374eef 100644
--- a/sdk/android/native_api/audio_device_module/audio_device_android.cc
+++ b/sdk/android/native_api/audio_device_module/audio_device_android.cc
@@ -14,6 +14,7 @@
 #include <utility>
 
 #include "absl/memory/memory.h"
+#include "api/scoped_refptr.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/ref_count.h"
 #include "rtc_base/ref_counted_object.h"
@@ -109,9 +110,10 @@
   GetDefaultAudioParameters(env, application_context, &input_parameters,
                             &output_parameters);
   // Create ADM from OpenSLESRecorder and OpenSLESPlayer.
-  auto engine_manager = absl::make_unique<jni::OpenSLEngineManager>();
-  auto audio_input = absl::make_unique<jni::OpenSLESRecorder>(
-      input_parameters, engine_manager.get());
+  rtc::scoped_refptr<jni::OpenSLEngineManager> engine_manager(
+      new jni::OpenSLEngineManager());
+  auto audio_input = absl::make_unique<jni::OpenSLESRecorder>(input_parameters,
+                                                              engine_manager);
   auto audio_output = absl::make_unique<jni::OpenSLESPlayer>(
       output_parameters, std::move(engine_manager));
   return CreateAudioDeviceModuleFromInputAndOutput(
@@ -138,8 +140,11 @@
       env, input_parameters, jni::kLowLatencyModeDelayEstimateInMilliseconds,
       jni::AudioRecordJni::CreateJavaWebRtcAudioRecord(env, j_context,
                                                        j_audio_manager));
+
+  rtc::scoped_refptr<jni::OpenSLEngineManager> engine_manager(
+      new jni::OpenSLEngineManager());
   auto audio_output = absl::make_unique<jni::OpenSLESPlayer>(
-      output_parameters, absl::make_unique<jni::OpenSLEngineManager>());
+      output_parameters, std::move(engine_manager));
   return CreateAudioDeviceModuleFromInputAndOutput(
       AudioDeviceModule::kAndroidJavaInputAndOpenSLESOutputAudio,
       false /* use_stereo_input */, false /* use_stereo_output */,
diff --git a/sdk/android/src/jni/audio_device/opensles_common.h b/sdk/android/src/jni/audio_device/opensles_common.h
index 0a8c115..605ddfc 100644
--- a/sdk/android/src/jni/audio_device/opensles_common.h
+++ b/sdk/android/src/jni/audio_device/opensles_common.h
@@ -14,6 +14,7 @@
 #include <SLES/OpenSLES.h>
 #include <stddef.h>
 
+#include "api/ref_counted_base.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/thread_checker.h"
@@ -65,12 +66,12 @@
 // a reference to it. The engine object is only created at the first call
 // since OpenSL ES for Android only supports a single engine per application.
 // Subsequent calls returns the already created engine.
-// Note: This class must be used single threaded and this is enfored by a thread
-// checker.
-class OpenSLEngineManager {
+// Note: This class must be used single threaded and this is enforced by a
+// thread checker.
+class OpenSLEngineManager : public rtc::RefCountedBase {
  public:
   OpenSLEngineManager();
-  ~OpenSLEngineManager();
+  ~OpenSLEngineManager() override;
   SLObjectItf GetOpenSLEngine();
 
  private:
diff --git a/sdk/android/src/jni/audio_device/opensles_player.cc b/sdk/android/src/jni/audio_device/opensles_player.cc
index 67d6c1f..ea6bbc6 100644
--- a/sdk/android/src/jni/audio_device/opensles_player.cc
+++ b/sdk/android/src/jni/audio_device/opensles_player.cc
@@ -44,7 +44,7 @@
 
 OpenSLESPlayer::OpenSLESPlayer(
     const AudioParameters& audio_parameters,
-    std::unique_ptr<OpenSLEngineManager> engine_manager)
+    rtc::scoped_refptr<OpenSLEngineManager> engine_manager)
     : audio_parameters_(audio_parameters),
       audio_device_buffer_(nullptr),
       initialized_(false),
diff --git a/sdk/android/src/jni/audio_device/opensles_player.h b/sdk/android/src/jni/audio_device/opensles_player.h
index d8befe5..4b8a0aa 100644
--- a/sdk/android/src/jni/audio_device/opensles_player.h
+++ b/sdk/android/src/jni/audio_device/opensles_player.h
@@ -17,6 +17,7 @@
 
 #include <memory>
 #include "absl/types/optional.h"
+#include "api/scoped_refptr.h"
 #include "modules/audio_device/audio_device_buffer.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "modules/audio_device/include/audio_device_defines.h"
@@ -60,7 +61,7 @@
   static const int kNumOfOpenSLESBuffers = 2;
 
   OpenSLESPlayer(const AudioParameters& audio_parameters,
-                 std::unique_ptr<OpenSLEngineManager> engine_manager);
+                 rtc::scoped_refptr<OpenSLEngineManager> engine_manager);
   ~OpenSLESPlayer() override;
 
   int Init() override;
@@ -159,7 +160,7 @@
   // Example (kNumOfOpenSLESBuffers = 2): counts 0, 1, 0, 1, ...
   int buffer_index_;
 
-  std::unique_ptr<OpenSLEngineManager> engine_manager_;
+  const rtc::scoped_refptr<OpenSLEngineManager> engine_manager_;
   // This interface exposes creation methods for all the OpenSL ES object types.
   // It is the OpenSL ES API entry point.
   SLEngineItf engine_;
diff --git a/sdk/android/src/jni/audio_device/opensles_recorder.cc b/sdk/android/src/jni/audio_device/opensles_recorder.cc
index 4f14907..1ac2d83 100644
--- a/sdk/android/src/jni/audio_device/opensles_recorder.cc
+++ b/sdk/android/src/jni/audio_device/opensles_recorder.cc
@@ -43,13 +43,14 @@
 
 namespace jni {
 
-OpenSLESRecorder::OpenSLESRecorder(const AudioParameters& audio_parameters,
-                                   OpenSLEngineManager* engine_manager)
+OpenSLESRecorder::OpenSLESRecorder(
+    const AudioParameters& audio_parameters,
+    rtc::scoped_refptr<OpenSLEngineManager> engine_manager)
     : audio_parameters_(audio_parameters),
       audio_device_buffer_(nullptr),
       initialized_(false),
       recording_(false),
-      engine_manager_(engine_manager),
+      engine_manager_(std::move(engine_manager)),
       engine_(nullptr),
       recorder_(nullptr),
       simple_buffer_queue_(nullptr),
diff --git a/sdk/android/src/jni/audio_device/opensles_recorder.h b/sdk/android/src/jni/audio_device/opensles_recorder.h
index 6408be0..4856fd0 100644
--- a/sdk/android/src/jni/audio_device/opensles_recorder.h
+++ b/sdk/android/src/jni/audio_device/opensles_recorder.h
@@ -17,6 +17,7 @@
 
 #include <memory>
 
+#include "api/scoped_refptr.h"
 #include "modules/audio_device/audio_device_buffer.h"
 #include "modules/audio_device/fine_audio_buffer.h"
 #include "modules/audio_device/include/audio_device_defines.h"
@@ -63,7 +64,7 @@
   static const int kNumOfOpenSLESBuffers = 2;
 
   OpenSLESRecorder(const AudioParameters& audio_parameters,
-                   OpenSLEngineManager* engine_manager);
+                   rtc::scoped_refptr<OpenSLEngineManager> engine_manager);
   ~OpenSLESRecorder() override;
 
   int Init() override;
@@ -148,7 +149,7 @@
   bool initialized_;
   bool recording_;
 
-  OpenSLEngineManager* const engine_manager_;
+  const rtc::scoped_refptr<OpenSLEngineManager> engine_manager_;
   // This interface exposes creation methods for all the OpenSL ES object types.
   // It is the OpenSL ES API entry point.
   SLEngineItf engine_;
