OboeTester: use shared_ptr in AudioStreamGateway
diff --git a/apps/OboeTester/app/src/main/cpp/AudioStreamGateway.h b/apps/OboeTester/app/src/main/cpp/AudioStreamGateway.h
index cb1a963..09d69c6 100644
--- a/apps/OboeTester/app/src/main/cpp/AudioStreamGateway.h
+++ b/apps/OboeTester/app/src/main/cpp/AudioStreamGateway.h
@@ -34,7 +34,7 @@
AudioStreamGateway(int samplesPerFrame);
virtual ~AudioStreamGateway();
- void setAudioSink(flowgraph::AudioSink *sink) {
+ void setAudioSink(std::shared_ptr<flowgraph::AudioSink> sink) {
mAudioSink = sink;
}
@@ -52,8 +52,7 @@
// TODO uint64_t mFramePosition;
bool mSchedulerChecked = false;
int mScheduler;
- flowgraph::AudioSink *mAudioSink;
-
+ std::shared_ptr<flowgraph::AudioSink> mAudioSink;
};
diff --git a/apps/OboeTester/app/src/main/cpp/NativeAudioContext.cpp b/apps/OboeTester/app/src/main/cpp/NativeAudioContext.cpp
index 68e7a9b..72216de 100644
--- a/apps/OboeTester/app/src/main/cpp/NativeAudioContext.cpp
+++ b/apps/OboeTester/app/src/main/cpp/NativeAudioContext.cpp
@@ -35,8 +35,8 @@
manyToMulti.reset(nullptr);
monoToMulti.reset(nullptr);
audioStreamGateway.reset(nullptr);
- mSinkFloat.reset(nullptr);
- mSinkI16.reset(nullptr);
+ mSinkFloat.reset();
+ mSinkI16.reset();
}
bool NativeAudioContext::isMMapUsed() {
@@ -204,9 +204,9 @@
// when we setup the Builder.
audioStreamGateway = std::make_unique<AudioStreamGateway>(mChannelCount);
if (oboeStream->getFormat() == oboe::AudioFormat::I16) {
- audioStreamGateway->setAudioSink(mSinkI16.get());
+ audioStreamGateway->setAudioSink(mSinkI16);
} else if (oboeStream->getFormat() == oboe::AudioFormat::Float) {
- audioStreamGateway->setAudioSink(mSinkFloat.get());
+ audioStreamGateway->setAudioSink(mSinkFloat);
}
connectTone();
diff --git a/apps/OboeTester/app/src/main/cpp/NativeAudioContext.h b/apps/OboeTester/app/src/main/cpp/NativeAudioContext.h
index f8b4d80..1e59431 100644
--- a/apps/OboeTester/app/src/main/cpp/NativeAudioContext.h
+++ b/apps/OboeTester/app/src/main/cpp/NativeAudioContext.h
@@ -303,8 +303,8 @@
std::unique_ptr<float []> dataBuffer{};
std::unique_ptr<ManyToMultiConverter> manyToMulti;
std::unique_ptr<MonoToMultiConverter> monoToMulti;
- std::unique_ptr<flowgraph::SinkFloat> mSinkFloat;
- std::unique_ptr<flowgraph::SinkI16> mSinkI16;
+ std::shared_ptr<flowgraph::SinkFloat> mSinkFloat;
+ std::shared_ptr<flowgraph::SinkI16> mSinkI16;
std::unique_ptr<AudioStreamGateway> audioStreamGateway{};
std::unique_ptr<MultiChannelRecording> mRecording{};