audioflinger: fix FIXME in logBufferSizeUnderruns
Some debug code was accidentally merged.
The hang was caused by a recursive lock of mLock.
The code now calls lockfree methods.
Added events for RELEASE and SETBUFFERSIZE.
Bug: 157916126
Test: adb logcat | grep logBufferSize
Test: launch OboeTester
Test: disable MMAP checkbox
Test: Tap OPEN and START
Test: move bufferSize fader
Test: expect to see no spam from logBufferSizeInFrames()
Test: adb shell dumpsys media.metrics
Test: expect to see entries like "(bufferSizeFrames=118, underrun=1)"
Change-Id: I7d782ccea2c2470bc18a3a61cfb8767430a441d8
diff --git a/media/libaaudio/src/legacy/AudioStreamTrack.cpp b/media/libaaudio/src/legacy/AudioStreamTrack.cpp
index 1120f05..ea08361 100644
--- a/media/libaaudio/src/legacy/AudioStreamTrack.cpp
+++ b/media/libaaudio/src/legacy/AudioStreamTrack.cpp
@@ -254,7 +254,7 @@
aaudio_result_t AudioStreamTrack::release_l() {
if (getState() != AAUDIO_STREAM_STATE_CLOSING) {
mAudioTrack->removeAudioDeviceCallback(mDeviceCallback);
- logBufferState();
+ logReleaseBufferState();
// TODO Investigate why clear() causes a hang in test_various.cpp
// if I call close() from a data callback.
// But the same thing in AudioRecord is OK!