CSD: enable CSD for MMap threads
Using the buffer provided by the AAudio service to add values to the
sound dosage.
Test: OboeTester with AAudio and MMap
Bug: 264254430
Change-Id: I38b7d3b69bc8d6923f848bc504c6290ae1961cbc
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h
index f0062bc..03e4567 100644
--- a/services/audioflinger/Threads.h
+++ b/services/audioflinger/Threads.h
@@ -576,6 +576,9 @@
virtual bool isStreamInitialized() = 0;
+ virtual void startMelComputation_l(const sp<audio_utils::MelProcessor>& processor);
+ virtual void stopMelComputation_l();
+
protected:
// entry describing an effect being suspended in mSuspendedSessions keyed vector
@@ -1110,8 +1113,8 @@
return INVALID_OPERATION;
}
- void startMelComputation(const sp<audio_utils::MelProcessor>& processor);
- void stopMelComputation();
+ void startMelComputation_l(const sp<audio_utils::MelProcessor>& processor) override;
+ void stopMelComputation_l() override;
protected:
// updated by readOutputParameters_l()
@@ -2273,6 +2276,9 @@
status_t reportData(const void* buffer, size_t frameCount) override;
+ void startMelComputation_l(const sp<audio_utils::MelProcessor>& processor) override;
+ void stopMelComputation_l() override;
+
protected:
void dumpInternals_l(int fd, const Vector<String16>& args) override;
@@ -2282,6 +2288,8 @@
bool mMasterMute;
bool mStreamMute;
AudioStreamOut* mOutput;
+
+ mediautils::atomic_sp<audio_utils::MelProcessor> mMelProcessor;
};
class MmapCaptureThread : public MmapThread