Refactor AudioTrack callback to Interface
Part 1 of a refactor of AudioTrack callback to increase type safety.
- Replace callback_t with IAudioTrackCallback listener interface for
seperate notifications for each event type. Retain legacy_callback_t
- Duplicate set/constructor methods to provide ABI stability
- LegacyCallbackWrapper to wrap legacy_callback_t consuming methods
- Retain wp<IAudioTrackCallback> to avoid ownership cycles and provide
clear ownership semantics
- Take ownership of LegacyCallbackWrapper if necessary
Bug: 199156212
Test: Compiles
Change-Id: Id089da86a617cb6273ea1d4efeaf2c854df10ede
diff --git a/media/libaaudio/src/legacy/AudioStreamTrack.cpp b/media/libaaudio/src/legacy/AudioStreamTrack.cpp
index b512b48..fe84ec5 100644
--- a/media/libaaudio/src/legacy/AudioStreamTrack.cpp
+++ b/media/libaaudio/src/legacy/AudioStreamTrack.cpp
@@ -103,7 +103,7 @@
: getFormat();
// Setup the callback if there is one.
- AudioTrack::callback_t callback = nullptr;
+ AudioTrack::legacy_callback_t callback = nullptr;
void *callbackData = nullptr;
// Note that TRANSFER_SYNC does not allow FAST track
AudioTrack::transfer_type streamTransferType = AudioTrack::transfer_type::TRANSFER_SYNC;