aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Burk <philburk@mobileer.com>2022-09-27 17:41:31 -0700
committerPhil Burk <philburk@mobileer.com>2022-09-27 17:41:31 -0700
commit5a732a6496361affc5964d81bfd3a58ec5f28b7a (patch)
treebac48a5b8c014d348d699cd59639fb7ae7c00199
parent96120fc00d9ad1aecdec8fd7e4f9ee3e7fc6f3d9 (diff)
downloadoboe-5a732a6496361affc5964d81bfd3a58ec5f28b7a.tar.gz
Use shared_ptr
-rw-r--r--samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.cpp6
-rw-r--r--samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.h4
2 files changed, 6 insertions, 4 deletions
diff --git a/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.cpp b/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.cpp
index 0169fc56..f12f839f 100644
--- a/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.cpp
+++ b/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.cpp
@@ -25,8 +25,10 @@ static const char *TAG = "SimpleNoiseMaker";
using namespace oboe;
oboe::Result SimpleNoiseMaker::open() {
- mDataCallback = std::make_unique<MyDataCallback>();
- mErrorCallback = std::make_unique<MyErrorCallback>(this);
+ // Use shared_ptr to prevent use of a deleted callback.
+ mDataCallback = std::make_shared<MyDataCallback>();
+ mErrorCallback = std::make_shared<MyErrorCallback>(this);
+
AudioStreamBuilder builder;
oboe::Result result = builder.setSharingMode(oboe::SharingMode::Exclusive)
->setPerformanceMode(oboe::PerformanceMode::LowLatency)
diff --git a/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.h b/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.h
index 3be27cb2..6376c0b2 100644
--- a/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.h
+++ b/samples/minimaloboe/src/main/cpp/SimpleNoiseMaker.h
@@ -62,8 +62,8 @@ private:
};
std::shared_ptr<oboe::AudioStream> mStream;
- std::unique_ptr<MyDataCallback> mDataCallback;
- std::unique_ptr<MyErrorCallback> mErrorCallback;
+ std::shared_ptr<MyDataCallback> mDataCallback;
+ std::shared_ptr<MyErrorCallback> mErrorCallback;
static constexpr int kChannelCount = 2;
};