audio: Enable RT priority inheritance for service clients
Useful for game, XR, spatialization clients.
Test: compiles
Bug: 331498867
Change-Id: I48d2120338d2d9bdf3c01dc1546937c3dc7aaba9
(cherry picked from commit 58b01b15fc6f7115a3776771d3cee19fc1bb741f)
diff --git a/services/audioflinger/Effects.cpp b/services/audioflinger/Effects.cpp
index a4c5099..c48b2c3 100644
--- a/services/audioflinger/Effects.cpp
+++ b/services/audioflinger/Effects.cpp
@@ -1732,6 +1732,7 @@
{
ALOGV("constructor %p client %p", this, client.get());
setMinSchedulerPolicy(SCHED_NORMAL, ANDROID_PRIORITY_AUDIO);
+ setInheritRt(true);
if (client == 0) {
return;
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index 4d07821..8fa4b06 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -389,6 +389,7 @@
mTrack(track)
{
setMinSchedulerPolicy(SCHED_NORMAL, ANDROID_PRIORITY_AUDIO);
+ setInheritRt(true);
}
TrackHandle::~TrackHandle() {
@@ -2641,6 +2642,7 @@
mRecordTrack(recordTrack)
{
setMinSchedulerPolicy(SCHED_NORMAL, ANDROID_PRIORITY_AUDIO);
+ setInheritRt(true);
}
RecordHandle::~RecordHandle() {
diff --git a/services/audiopolicy/service/AudioPolicyService.cpp b/services/audiopolicy/service/AudioPolicyService.cpp
index e95147e..2265eb2 100644
--- a/services/audiopolicy/service/AudioPolicyService.cpp
+++ b/services/audiopolicy/service/AudioPolicyService.cpp
@@ -231,6 +231,7 @@
mDestroyAudioPolicyManager(destroyAudioPolicyManager),
mUsecaseValidator(media::createUsecaseValidator()) {
setMinSchedulerPolicy(SCHED_NORMAL, ANDROID_PRIORITY_AUDIO);
+ setInheritRt(true);
}
void AudioPolicyService::loadAudioPolicyManager()
diff --git a/services/audiopolicy/service/Spatializer.cpp b/services/audiopolicy/service/Spatializer.cpp
index 16f3a9a..bb36df7 100644
--- a/services/audiopolicy/service/Spatializer.cpp
+++ b/services/audiopolicy/service/Spatializer.cpp
@@ -292,6 +292,7 @@
mPolicyCallback(callback) {
ALOGV("%s", __func__);
setMinSchedulerPolicy(SCHED_NORMAL, ANDROID_PRIORITY_AUDIO);
+ setInheritRt(true);
}
void Spatializer::onFirstRef() {