aaudio: use xruns detected in the service
The service knows when an actual xrun occurs so we pass
that value to the client.
Bug: 38512417
Test: write_sine_callback -pl -n1 -s20 -c2 -u
Change-Id: I9e5ff1edd2e9378957309280162d7cda855f5adb
diff --git a/services/oboeservice/AAudioMixer.h b/services/oboeservice/AAudioMixer.h
index 5625d4d..d5abc5b 100644
--- a/services/oboeservice/AAudioMixer.h
+++ b/services/oboeservice/AAudioMixer.h
@@ -36,15 +36,17 @@
* @param streamIndex for marking stream variables in systrace
* @param fifo to read from
* @param allowUnderflow if true then allow mixer to advance read index past the write index
- * @return true if actually underflowed
+ * @return frames read from this stream
*/
- bool mix(int streamIndex, android::FifoBuffer *fifo, bool allowUnderflow);
-
- void mixPart(float *destination, float *source, int32_t numFrames);
+ int32_t mix(int streamIndex, android::FifoBuffer *fifo, bool allowUnderflow);
float *getOutputBuffer();
+ int32_t getFramesPerBurst() const { return mFramesPerBurst; }
+
private:
+ void mixPart(float *destination, float *source, int32_t numFrames);
+
float *mOutputBuffer = nullptr;
int32_t mSamplesPerFrame = 0;
int32_t mFramesPerBurst = 0;