Revert "Add interface to query the mmap support."
This reverts commit 57c44c002666bf75d73f09c844295aac80e45dfc.
Bug: 198836727
Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=adt3-userdebug&lkgb=7703400&lkbb=7703573&fkbb=7703552
Change-Id: I82b9b99f8ab31134873157819fdb341cfa65ac80
diff --git a/media/audioserver/Android.bp b/media/audioserver/Android.bp
index e4fc4de..be25ffb 100644
--- a/media/audioserver/Android.bp
+++ b/media/audioserver/Android.bp
@@ -26,7 +26,6 @@
shared_libs: [
"libaaudioservice",
- "libaudioclient",
"libaudioflinger",
"libaudiopolicyservice",
"libaudioprocessing",
@@ -42,6 +41,7 @@
"libpowermanager",
"libutils",
"libvibrator",
+
],
// TODO check if we still need all of these include directories
diff --git a/media/audioserver/main_audioserver.cpp b/media/audioserver/main_audioserver.cpp
index e0740de..8ee1efb 100644
--- a/media/audioserver/main_audioserver.cpp
+++ b/media/audioserver/main_audioserver.cpp
@@ -17,26 +17,20 @@
#define LOG_TAG "audioserver"
//#define LOG_NDEBUG 0
-#include <algorithm>
-
#include <fcntl.h>
#include <sys/prctl.h>
#include <sys/wait.h>
#include <cutils/properties.h>
-#include <android/media/AudioMMapPolicy.h>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
-#include <android/media/IAudioFlingerService.h>
#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
#include <binder/IServiceManager.h>
-#include <binder/IInterface.h>
#include <hidl/HidlTransportSupport.h>
#include <mediautils/LimitProcessMemory.h>
#include <utils/Log.h>
// from include_dirs
+#include "aaudio/AAudioTesting.h" // aaudio_policy_t, AAUDIO_PROP_MMAP_POLICY, AAUDIO_POLICY_*
#include "AudioFlinger.h"
#include "AudioPolicyService.h"
#include "AAudioService.h"
@@ -152,24 +146,10 @@
// AAudioService should only be used in OC-MR1 and later.
// And only enable the AAudioService if the system MMAP policy explicitly allows it.
// This prevents a client from misusing AAudioService when it is not supported.
- // If we cannot get audio flinger here, there must be some serious problems. In that case,
- // attempting to call audio flinger on a null pointer could make the process crash
- // and attract attentions.
- sp<IAudioFlinger> af = AudioSystem::get_audio_flinger();
- std::vector<media::AudioMMapPolicyInfo> policyInfos;
- status_t status = af->getMmapPolicyInfos(
- media::AudioMMapPolicyType::DEFAULT, &policyInfos);
- // Initialize aaudio service when querying mmap policy succeeds and
- // any of the policy supports MMAP.
- if (status == NO_ERROR ||
- std::any_of(policyInfos.begin(), policyInfos.end(), [](const auto& info) {
- return info.mmapPolicy == media::AudioMMapPolicy::AUTO ||
- info.mmapPolicy == media::AudioMMapPolicy::ALWAYS;
- })) {
+ aaudio_policy_t mmapPolicy = property_get_int32(AAUDIO_PROP_MMAP_POLICY,
+ AAUDIO_POLICY_NEVER);
+ if (mmapPolicy == AAUDIO_POLICY_AUTO || mmapPolicy == AAUDIO_POLICY_ALWAYS) {
AAudioService::instantiate();
- } else {
- ALOGD("Do not init aaudio service, status %d, policy info size %zu",
- status, policyInfos.size());
}
ProcessState::self()->startThreadPool();
diff --git a/media/libaaudio/src/core/AudioStreamBuilder.cpp b/media/libaaudio/src/core/AudioStreamBuilder.cpp
index 2a6b235..a8fd0d9 100644
--- a/media/libaaudio/src/core/AudioStreamBuilder.cpp
+++ b/media/libaaudio/src/core/AudioStreamBuilder.cpp
@@ -20,14 +20,9 @@
#include <new>
#include <stdint.h>
-#include <vector>
#include <aaudio/AAudio.h>
#include <aaudio/AAudioTesting.h>
-#include <android/media/AudioMMapPolicy.h>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
-#include <media/AudioSystem.h>
#include "binding/AAudioBinderClient.h"
#include "client/AudioStreamInternalCapture.h"
@@ -91,37 +86,6 @@
return result;
}
-namespace {
-
-aaudio_policy_t aidl2legacy_aaudio_policy(android::media::AudioMMapPolicy aidl) {
- switch (aidl) {
- case android::media::AudioMMapPolicy::NEVER:
- return AAUDIO_POLICY_NEVER;
- case android::media::AudioMMapPolicy::AUTO:
- return AAUDIO_POLICY_AUTO;
- case android::media::AudioMMapPolicy::ALWAYS:
- return AAUDIO_POLICY_ALWAYS;
- case android::media::AudioMMapPolicy::UNSPECIFIED:
- default:
- return AAUDIO_UNSPECIFIED;
- }
-}
-
-// The aaudio policy will be ALWAYS, NEVER, UNSPECIFIED only when all policy info are
-// ALWAYS, NEVER or UNSPECIFIED. Otherwise, the aaudio policy will be AUTO.
-aaudio_policy_t getAAudioPolicy(
- const std::vector<android::media::AudioMMapPolicyInfo>& policyInfos) {
- if (policyInfos.empty()) return AAUDIO_POLICY_AUTO;
- for (size_t i = 1; i < policyInfos.size(); ++i) {
- if (policyInfos.at(i).mmapPolicy != policyInfos.at(0).mmapPolicy) {
- return AAUDIO_POLICY_AUTO;
- }
- }
- return aidl2legacy_aaudio_policy(policyInfos.at(0).mmapPolicy);
-}
-
-} // namespace
-
// Try to open using MMAP path if that is allowed.
// Fall back to Legacy path if MMAP not available.
// Exact behavior is controlled by MMapPolicy.
@@ -140,32 +104,25 @@
return result;
}
- std::vector<android::media::AudioMMapPolicyInfo> policyInfos;
// The API setting is the highest priority.
aaudio_policy_t mmapPolicy = AudioGlobal_getMMapPolicy();
// If not specified then get from a system property.
- if (mmapPolicy == AAUDIO_UNSPECIFIED && android::AudioSystem::getMmapPolicyInfo(
- android::media::AudioMMapPolicyType::DEFAULT, &policyInfos) == NO_ERROR) {
- mmapPolicy = getAAudioPolicy(policyInfos);
+ if (mmapPolicy == AAUDIO_UNSPECIFIED) {
+ mmapPolicy = AAudioProperty_getMMapPolicy();
}
// If still not specified then use the default.
if (mmapPolicy == AAUDIO_UNSPECIFIED) {
mmapPolicy = AAUDIO_MMAP_POLICY_DEFAULT;
}
- policyInfos.clear();
- aaudio_policy_t mmapExclusivePolicy = AAUDIO_UNSPECIFIED;
- if (android::AudioSystem::getMmapPolicyInfo(
- android::media::AudioMMapPolicyType::EXCLUSIVE, &policyInfos) == NO_ERROR) {
- mmapExclusivePolicy = getAAudioPolicy(policyInfos);
- }
- if (mmapExclusivePolicy == AAUDIO_UNSPECIFIED) {
- mmapExclusivePolicy = AAUDIO_MMAP_EXCLUSIVE_POLICY_DEFAULT;
+ int32_t mapExclusivePolicy = AAudioProperty_getMMapExclusivePolicy();
+ if (mapExclusivePolicy == AAUDIO_UNSPECIFIED) {
+ mapExclusivePolicy = AAUDIO_MMAP_EXCLUSIVE_POLICY_DEFAULT;
}
aaudio_sharing_mode_t sharingMode = getSharingMode();
if ((sharingMode == AAUDIO_SHARING_MODE_EXCLUSIVE)
- && (mmapExclusivePolicy == AAUDIO_POLICY_NEVER)) {
+ && (mapExclusivePolicy == AAUDIO_POLICY_NEVER)) {
ALOGD("%s() EXCLUSIVE sharing mode not supported. Use SHARED.", __func__);
sharingMode = AAUDIO_SHARING_MODE_SHARED;
setSharingMode(sharingMode);
diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp
index 921e2d2..0a26051 100644
--- a/media/libaudioclient/Android.bp
+++ b/media/libaudioclient/Android.bp
@@ -331,9 +331,6 @@
"aidl/android/media/AudioIoConfigEvent.aidl",
"aidl/android/media/AudioIoDescriptor.aidl",
"aidl/android/media/AudioIoFlags.aidl",
- "aidl/android/media/AudioMMapPolicy.aidl",
- "aidl/android/media/AudioMMapPolicyInfo.aidl",
- "aidl/android/media/AudioMMapPolicyType.aidl",
"aidl/android/media/AudioMixLatencyClass.aidl",
"aidl/android/media/AudioMode.aidl",
"aidl/android/media/AudioOffloadInfo.aidl",
diff --git a/media/libaudioclient/AudioSystem.cpp b/media/libaudioclient/AudioSystem.cpp
index be0dff8..057befd 100644
--- a/media/libaudioclient/AudioSystem.cpp
+++ b/media/libaudioclient/AudioSystem.cpp
@@ -2353,16 +2353,6 @@
return af->setVibratorInfos(vibratorInfos);
}
-status_t AudioSystem::getMmapPolicyInfo(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
- const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
- if (af == nullptr) {
- return PERMISSION_DENIED;
- }
- return af->getMmapPolicyInfos(policyType, policyInfos);
-}
-
// ---------------------------------------------------------------------------
int AudioSystem::AudioPolicyServiceClient::addAudioPortCallback(
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index 566f77c..ee64894 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -17,9 +17,6 @@
#define LOG_TAG "IAudioFlinger"
//#define LOG_NDEBUG 0
-
-#include <algorithm>
-
#include <utils/Log.h>
#include <stdint.h>
@@ -780,12 +777,6 @@
return statusTFromBinderStatus(mDelegate->updateSecondaryOutputs(trackSecondaryOutputInfos));
}
-status_t AudioFlingerClientAdapter::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
- return statusTFromBinderStatus(mDelegate->getMmapPolicyInfos(policyType, policyInfos));
-}
-
////////////////////////////////////////////////////////////////////////////////////////////////////
// AudioFlingerServerAdapter
@@ -1258,10 +1249,4 @@
return Status::fromStatusT(mDelegate->updateSecondaryOutputs(trackSecondaryOutputs));
}
-Status AudioFlingerServerAdapter::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *_aidl_return) {
- return Status::fromStatusT(mDelegate->getMmapPolicyInfos(policyType, _aidl_return));
-}
-
} // namespace android
diff --git a/media/libaudioclient/aidl/android/media/AudioMMapPolicy.aidl b/media/libaudioclient/aidl/android/media/AudioMMapPolicy.aidl
deleted file mode 100644
index e3fa951..0000000
--- a/media/libaudioclient/aidl/android/media/AudioMMapPolicy.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.media;
-
-/**
- * Audio MMAP policy describe how the aaudio MMAP feature is used.
- * {@hide}
- */
-@Backing(type="int")
-enum AudioMMapPolicy {
- /**
- * The policy is unspecified.
- */
- UNSPECIFIED = 0,
- /**
- * The MMAP feature is disabled and never used.
- */
- NEVER = 1,
- /**
- * If MMAP feature works then uses it. Otherwise, fall back to something else.
- */
- AUTO = 2,
- /**
- * The MMAP feature must be used. If not available then fail.
- */
- ALWAYS = 3,
-}
\ No newline at end of file
diff --git a/media/libaudioclient/aidl/android/media/AudioMMapPolicyInfo.aidl b/media/libaudioclient/aidl/android/media/AudioMMapPolicyInfo.aidl
deleted file mode 100644
index ad7bd45..0000000
--- a/media/libaudioclient/aidl/android/media/AudioMMapPolicyInfo.aidl
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.media;
-
-import android.media.AudioDevice;
-import android.media.AudioMMapPolicy;
-
-/**
- * Audio MMAP policy info describes how an aaudio MMAP feature can be
- * used on a particular device.
- * {@hide}
- */
-parcelable AudioMMapPolicyInfo {
- AudioDevice device;
- AudioMMapPolicy mmapPolicy = AudioMMapPolicy.UNSPECIFIED;
-}
\ No newline at end of file
diff --git a/media/libaudioclient/aidl/android/media/AudioMMapPolicyType.aidl b/media/libaudioclient/aidl/android/media/AudioMMapPolicyType.aidl
deleted file mode 100644
index d6acd2c..0000000
--- a/media/libaudioclient/aidl/android/media/AudioMMapPolicyType.aidl
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.media;
-
-/**
- * The aaudio MMAP policy type.
- * {@hide}
- */
-@Backing(type="int")
-enum AudioMMapPolicyType {
- /**
- * Default aaudio mmap policy. It is used to query whether the
- * aaudio MMAP could be used or not.
- */
- DEFAULT = 1,
- /**
- * Exclusive aaudio mmap policy. It is used to query whether the
- * aaudio MMAP could be used in exclusive mode or not.
- */
- EXCLUSIVE = 2,
-}
diff --git a/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl b/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl
index de859b8..7b02a9d 100644
--- a/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl
+++ b/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl
@@ -16,8 +16,6 @@
package android.media;
-import android.media.AudioMMapPolicyInfo;
-import android.media.AudioMMapPolicyType;
import android.media.AudioMode;
import android.media.AudioPatch;
import android.media.AudioPort;
@@ -219,6 +217,4 @@
// This usually happens when there is a dynamic policy registered.
void updateSecondaryOutputs(
in TrackSecondaryOutputInfo[] trackSecondaryOutputInfos);
-
- AudioMMapPolicyInfo[] getMmapPolicyInfos(AudioMMapPolicyType policyType);
}
diff --git a/media/libaudioclient/include/media/AudioSystem.h b/media/libaudioclient/include/media/AudioSystem.h
index 0da8186..50ab42a 100644
--- a/media/libaudioclient/include/media/AudioSystem.h
+++ b/media/libaudioclient/include/media/AudioSystem.h
@@ -19,8 +19,6 @@
#include <sys/types.h>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
#include <android/media/AudioVibratorInfo.h>
#include <android/media/BnAudioFlingerClient.h>
#include <android/media/BnAudioPolicyServiceClient.h>
@@ -615,10 +613,6 @@
static status_t setVibratorInfos(const std::vector<media::AudioVibratorInfo>& vibratorInfos);
- static status_t getMmapPolicyInfo(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos);
-
private:
class AudioFlingerClient: public IBinder::DeathRecipient, public media::BnAudioFlingerClient
diff --git a/media/libaudioclient/include/media/IAudioFlinger.h b/media/libaudioclient/include/media/IAudioFlinger.h
index 03ad9b0..a74661a 100644
--- a/media/libaudioclient/include/media/IAudioFlinger.h
+++ b/media/libaudioclient/include/media/IAudioFlinger.h
@@ -37,8 +37,6 @@
#include <string>
#include <vector>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
#include <android/media/AudioVibratorInfo.h>
#include <android/media/BnAudioFlingerService.h>
#include <android/media/BpAudioFlingerService.h>
@@ -350,10 +348,6 @@
virtual status_t updateSecondaryOutputs(
const TrackSecondaryOutputsMap& trackSecondaryOutputs) = 0;
-
- virtual status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) = 0;
};
/**
@@ -451,10 +445,6 @@
status_t updateSecondaryOutputs(
const TrackSecondaryOutputsMap& trackSecondaryOutputs) override;
- status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) override;
-
private:
const sp<media::IAudioFlingerService> mDelegate;
};
@@ -539,7 +529,6 @@
SET_AUDIO_HAL_PIDS = media::BnAudioFlingerService::TRANSACTION_setAudioHalPids,
SET_VIBRATOR_INFOS = media::BnAudioFlingerService::TRANSACTION_setVibratorInfos,
UPDATE_SECONDARY_OUTPUTS = media::BnAudioFlingerService::TRANSACTION_updateSecondaryOutputs,
- GET_MMAP_POLICY_INFOS = media::BnAudioFlingerService::TRANSACTION_getMmapPolicyInfos,
};
/**
@@ -652,9 +641,6 @@
Status setVibratorInfos(const std::vector<media::AudioVibratorInfo>& vibratorInfos) override;
Status updateSecondaryOutputs(
const std::vector<media::TrackSecondaryOutputInfo>& trackSecondaryOutputInfos) override;
- Status getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *_aidl_return) override;
private:
const sp<AudioFlingerServerAdapter::Delegate> mDelegate;
diff --git a/media/libaudiohal/Android.bp b/media/libaudiohal/Android.bp
index 5fe74f9..bd24c84 100644
--- a/media/libaudiohal/Android.bp
+++ b/media/libaudiohal/Android.bp
@@ -30,7 +30,6 @@
],
shared_libs: [
- "audioclient-types-aidl-cpp",
"libdl",
"libhidlbase",
"liblog",
diff --git a/media/libaudiohal/impl/Android.bp b/media/libaudiohal/impl/Android.bp
index ed39231..a2c6e8a 100644
--- a/media/libaudiohal/impl/Android.bp
+++ b/media/libaudiohal/impl/Android.bp
@@ -23,8 +23,6 @@
"EffectHalHidl.cpp",
"EffectsFactoryHalHidl.cpp",
"StreamHalHidl.cpp",
-
- "PropertyUtils.cpp",
],
cflags: [
@@ -52,7 +50,6 @@
"libmedia_helper",
"libmediautils",
"libutils",
- "audioclient-types-aidl-cpp",
],
header_libs: [
"android.hardware.audio.common.util@all-versions",
diff --git a/media/libaudiohal/impl/DeviceHalHidl.cpp b/media/libaudiohal/impl/DeviceHalHidl.cpp
index e4ab46f..aa94eea 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.cpp
+++ b/media/libaudiohal/impl/DeviceHalHidl.cpp
@@ -20,7 +20,6 @@
//#define LOG_NDEBUG 0
#include <cutils/native_handle.h>
-#include <cutils/properties.h>
#include <hwbinder/IPCThreadState.h>
#include <media/AudioContainers.h>
#include <utils/Log.h>
@@ -33,7 +32,6 @@
#include "DeviceHalHidl.h"
#include "EffectHalHidl.h"
#include "ParameterUtils.h"
-#include "PropertyUtils.h"
#include "StreamHalHidl.h"
using ::android::hardware::audio::common::CPP_VERSION::implementation::HidlUtils;
@@ -459,14 +457,6 @@
}
#endif
-status_t DeviceHalHidl::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
- // TODO: this is just for test, faking a data by querying the system property.
- // When AIDL HAL is ready, this should query AIDL HAL when possible.
- return utils::getMmapPolicyInfosFromSystemProperty(policyType, policyInfos);
-}
-
status_t DeviceHalHidl::dump(int fd, const Vector<String16>& args) {
if (mDevice == 0) return NO_INIT;
native_handle_t* hidlHandle = native_handle_create(1, 0);
diff --git a/media/libaudiohal/impl/DeviceHalHidl.h b/media/libaudiohal/impl/DeviceHalHidl.h
index b93390b..2694ab3 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.h
+++ b/media/libaudiohal/impl/DeviceHalHidl.h
@@ -119,10 +119,6 @@
status_t addDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
status_t removeDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
- status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) override;
-
status_t dump(int fd, const Vector<String16>& args) override;
private:
diff --git a/media/libaudiohal/impl/DeviceHalLocal.cpp b/media/libaudiohal/impl/DeviceHalLocal.cpp
index bc37886..e0304af 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.cpp
+++ b/media/libaudiohal/impl/DeviceHalLocal.cpp
@@ -20,7 +20,6 @@
#include <utils/Log.h>
#include "DeviceHalLocal.h"
-#include "PropertyUtils.h"
#include "StreamHalLocal.h"
namespace android {
@@ -234,12 +233,6 @@
return INVALID_OPERATION;
}
-status_t DeviceHalLocal::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
- return utils::getMmapPolicyInfosFromSystemProperty(policyType, policyInfos);
-}
-
status_t DeviceHalLocal::dump(int fd, const Vector<String16>& /* args */) {
return mDev->dump(mDev, fd);
}
diff --git a/media/libaudiohal/impl/DeviceHalLocal.h b/media/libaudiohal/impl/DeviceHalLocal.h
index 869b1b7..2fde936 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.h
+++ b/media/libaudiohal/impl/DeviceHalLocal.h
@@ -112,10 +112,6 @@
status_t addDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
status_t removeDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
- status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) override;
-
status_t dump(int fd, const Vector<String16>& args) override;
void closeOutputStream(struct audio_stream_out *stream_out);
diff --git a/media/libaudiohal/impl/PropertyUtils.cpp b/media/libaudiohal/impl/PropertyUtils.cpp
deleted file mode 100644
index 55eec2b..0000000
--- a/media/libaudiohal/impl/PropertyUtils.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <android/media/AudioMMapPolicy.h>
-#include <cutils/properties.h>
-
-#include "PropertyUtils.h"
-
-namespace android {
-namespace CPP_VERSION {
-namespace utils {
-
-std::string getMmapPolicyProperty(media::AudioMMapPolicyType policyType) {
- switch (policyType) {
- case media::AudioMMapPolicyType::DEFAULT:
- return "aaudio.mmap_policy";
- case media::AudioMMapPolicyType::EXCLUSIVE:
- return "aaudio.mmap_exclusive_policy";
- default:
- return "";
- }
-}
-
-#define MMAP_POLICY_UNSPECIFIED 0
-#define MMAP_POLICY_NEVER 1
-#define MMAP_POLICY_AUTO 2
-#define MMAP_POLICY_ALWAYS 3
-
-int getDefaultPolicyFromType(media::AudioMMapPolicyType policyType) {
- switch (policyType) {
- case media::AudioMMapPolicyType::EXCLUSIVE:
- return MMAP_POLICY_UNSPECIFIED;
- case media::AudioMMapPolicyType::DEFAULT:
- default:
- return MMAP_POLICY_NEVER;
- }
-}
-
-media::AudioMMapPolicy legacy2aidlAudioMMapPolicy(int legacy) {
- switch (legacy) {
- case MMAP_POLICY_NEVER:
- return media::AudioMMapPolicy::NEVER;
- case MMAP_POLICY_AUTO:
- return media::AudioMMapPolicy::AUTO;
- case MMAP_POLICY_ALWAYS:
- return media::AudioMMapPolicy::ALWAYS;
- case MMAP_POLICY_UNSPECIFIED:
- default:
- return media::AudioMMapPolicy::UNSPECIFIED;
- }
-}
-
-status_t getMmapPolicyInfosFromSystemProperty(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
- media::AudioMMapPolicyInfo policyInfo;
- const std::string propertyStr = getMmapPolicyProperty(policyType);
- if (propertyStr.empty()) {
- return BAD_VALUE;
- }
- policyInfo.mmapPolicy = utils::legacy2aidlAudioMMapPolicy(
- property_get_int32(propertyStr.c_str(), utils::getDefaultPolicyFromType(policyType)));
- policyInfos->push_back(policyInfo);
- return NO_ERROR;
-}
-
-} // namespace utils
-} // namespace CPP_VERSION
-} // namespace android
\ No newline at end of file
diff --git a/media/libaudiohal/impl/PropertyUtils.h b/media/libaudiohal/impl/PropertyUtils.h
deleted file mode 100644
index b9d0057..0000000
--- a/media/libaudiohal/impl/PropertyUtils.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <android/media/AudioMMapPolicyType.h>
-#include <android/media/AudioMMapPolicyInfo.h>
-
-namespace android {
-namespace CPP_VERSION {
-namespace utils {
-
-status_t getMmapPolicyInfosFromSystemProperty(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos);
-
-} // namespace utils
-} // namespace CPP_VERSION
-} // namespace android
diff --git a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
index b93c8d2..69cbcec 100644
--- a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
+++ b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
@@ -17,8 +17,6 @@
#ifndef ANDROID_HARDWARE_DEVICE_HAL_INTERFACE_H
#define ANDROID_HARDWARE_DEVICE_HAL_INTERFACE_H
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
#include <media/audiohal/EffectHalInterface.h>
#include <media/MicrophoneInfo.h>
#include <system/audio.h>
@@ -122,10 +120,6 @@
virtual status_t removeDeviceEffect(
audio_port_handle_t device, sp<EffectHalInterface> effect) = 0;
- virtual status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) = 0;
-
virtual status_t dump(int fd, const Vector<String16>& args) = 0;
protected:
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index e34b58e..33b71c5 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -335,29 +335,6 @@
return NO_ERROR;
}
-status_t AudioFlinger::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
- AutoMutex lock(mHardwareLock);
- if (mPolicyInfos.find(policyType) != mPolicyInfos.end()) {
- *policyInfos = mPolicyInfos[policyType];
- return NO_ERROR;
- }
- for (size_t i = 0; i < mAudioHwDevs.size(); ++i) {
- AudioHwDevice *dev = mAudioHwDevs.valueAt(i);
- std::vector<media::AudioMMapPolicyInfo> infos;
- status_t status = dev->getMmapPolicyInfos(policyType, &infos);
- if (status != NO_ERROR) {
- ALOGE("Failed to query mmap policy info of %d, error %d",
- mAudioHwDevs.keyAt(i), status);
- continue;
- }
- policyInfos->insert(policyInfos->end(), infos.begin(), infos.end());
- }
- mPolicyInfos[policyType] = *policyInfos;
- return NO_ERROR;
-}
-
// getDefaultVibratorInfo_l must be called with AudioFlinger lock held.
std::optional<media::AudioVibratorInfo> AudioFlinger::getDefaultVibratorInfo_l() {
if (mAudioVibratorInfos.empty()) {
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index b5d587b..d6bf0ae 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -282,10 +282,6 @@
virtual status_t updateSecondaryOutputs(
const TrackSecondaryOutputsMap& trackSecondaryOutputs);
- virtual status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos);
-
status_t onTransactWrapper(TransactionCode code, const Parcel& data, uint32_t flags,
const std::function<status_t()>& delegate) override;
@@ -1008,8 +1004,6 @@
// Keep in sync with java definition in media/java/android/media/AudioRecord.java
static constexpr int32_t kMaxSharedAudioHistoryMs = 5000;
-
- std::map<media::AudioMMapPolicyType, std::vector<media::AudioMMapPolicyInfo>> mPolicyInfos;
};
#undef INCLUDING_FROM_AUDIOFLINGER_H
diff --git a/services/audioflinger/AudioHwDevice.cpp b/services/audioflinger/AudioHwDevice.cpp
index f70840f..16b25f6 100644
--- a/services/audioflinger/AudioHwDevice.cpp
+++ b/services/audioflinger/AudioHwDevice.cpp
@@ -102,11 +102,5 @@
return mHwDevice->getAudioPort(port);
}
-status_t AudioHwDevice::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) const {
- return mHwDevice->getMmapPolicyInfos(policyType, policyInfos);
-}
-
}; // namespace android
diff --git a/services/audioflinger/AudioHwDevice.h b/services/audioflinger/AudioHwDevice.h
index b72072f..fc2c693 100644
--- a/services/audioflinger/AudioHwDevice.h
+++ b/services/audioflinger/AudioHwDevice.h
@@ -85,10 +85,6 @@
status_t getAudioPort(struct audio_port_v7 *port) const;
- status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) const;
-
private:
const audio_module_handle_t mHandle;
const char * const mModuleName;