audio: Improve logging in remote submix module
Implement IModule::dump to display the current state in
the audioflinger dump.
Throttle repetitive logging when there is nothing to read.
Remove stale comment for already fixed b/307586684.
Bug: 307586684
Test: adb shell dumpsys media.audio_flinger
Change-Id: I1f1f6e1658d035d46af3a933a825b20a78c7f297
diff --git a/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp b/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp
index 3ee354b..fa4135d 100644
--- a/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp
+++ b/audio/aidl/default/r_submix/StreamRemoteSubmix.cpp
@@ -267,6 +267,7 @@
}
return ::android::OK;
}
+ mReadErrorCount = 0;
LOG(VERBOSE) << __func__ << ": " << mDeviceAddress.toString() << ", " << frameCount
<< " frames";
@@ -294,7 +295,12 @@
}
}
if (actuallyRead < frameCount) {
- LOG(WARNING) << __func__ << ": read " << actuallyRead << " vs. requested " << frameCount;
+ if (++mReadFailureCount < kMaxReadFailureAttempts) {
+ LOG(WARNING) << __func__ << ": read " << actuallyRead << " vs. requested " << frameCount
+ << " (not all errors will be logged)";
+ }
+ } else {
+ mReadFailureCount = 0;
}
mCurrentRoute->updateReadCounterFrames(*actualFrameCount);
return ::android::OK;