Move AudioMMapPolicy* from android.media to a.m.audio.common SAIDL
Bug: 193275465
Test: make
Change-Id: I79ea167fe4a0035a13873a641428305e1209c3cf
diff --git a/media/audioserver/main_audioserver.cpp b/media/audioserver/main_audioserver.cpp
index fd66573..726a6be 100644
--- a/media/audioserver/main_audioserver.cpp
+++ b/media/audioserver/main_audioserver.cpp
@@ -24,9 +24,9 @@
#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/audio/common/AudioMMapPolicy.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
#include <android/media/IAudioFlingerService.h>
#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
@@ -44,6 +44,10 @@
using namespace android;
+using android::media::audio::common::AudioMMapPolicy;
+using android::media::audio::common::AudioMMapPolicyInfo;
+using android::media::audio::common::AudioMMapPolicyType;
+
int main(int argc __unused, char **argv)
{
// TODO: update with refined parameters
@@ -155,15 +159,15 @@
// 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;
+ std::vector<AudioMMapPolicyInfo> policyInfos;
status_t status = af->getMmapPolicyInfos(
- media::AudioMMapPolicyType::DEFAULT, &policyInfos);
+ 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;
+ return info.mmapPolicy == AudioMMapPolicy::AUTO ||
+ info.mmapPolicy == AudioMMapPolicy::ALWAYS;
})) {
AAudioService::instantiate();
} else {
diff --git a/media/libaaudio/src/core/AudioStreamBuilder.cpp b/media/libaaudio/src/core/AudioStreamBuilder.cpp
index 2a6b235..2be3d65 100644
--- a/media/libaaudio/src/core/AudioStreamBuilder.cpp
+++ b/media/libaaudio/src/core/AudioStreamBuilder.cpp
@@ -24,9 +24,9 @@
#include <aaudio/AAudio.h>
#include <aaudio/AAudioTesting.h>
-#include <android/media/AudioMMapPolicy.h>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/media/audio/common/AudioMMapPolicy.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
#include <media/AudioSystem.h>
#include "binding/AAudioBinderClient.h"
@@ -40,6 +40,10 @@
using namespace aaudio;
+using android::media::audio::common::AudioMMapPolicy;
+using android::media::audio::common::AudioMMapPolicyInfo;
+using android::media::audio::common::AudioMMapPolicyType;
+
#define AAUDIO_MMAP_POLICY_DEFAULT AAUDIO_POLICY_NEVER
#define AAUDIO_MMAP_EXCLUSIVE_POLICY_DEFAULT AAUDIO_POLICY_NEVER
@@ -93,15 +97,15 @@
namespace {
-aaudio_policy_t aidl2legacy_aaudio_policy(android::media::AudioMMapPolicy aidl) {
+aaudio_policy_t aidl2legacy_aaudio_policy(AudioMMapPolicy aidl) {
switch (aidl) {
- case android::media::AudioMMapPolicy::NEVER:
+ case AudioMMapPolicy::NEVER:
return AAUDIO_POLICY_NEVER;
- case android::media::AudioMMapPolicy::AUTO:
+ case AudioMMapPolicy::AUTO:
return AAUDIO_POLICY_AUTO;
- case android::media::AudioMMapPolicy::ALWAYS:
+ case AudioMMapPolicy::ALWAYS:
return AAUDIO_POLICY_ALWAYS;
- case android::media::AudioMMapPolicy::UNSPECIFIED:
+ case AudioMMapPolicy::UNSPECIFIED:
default:
return AAUDIO_UNSPECIFIED;
}
@@ -110,7 +114,7 @@
// 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) {
+ const std::vector<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) {
@@ -140,12 +144,12 @@
return result;
}
- std::vector<android::media::AudioMMapPolicyInfo> policyInfos;
+ std::vector<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) {
+ AudioMMapPolicyType::DEFAULT, &policyInfos) == NO_ERROR) {
mmapPolicy = getAAudioPolicy(policyInfos);
}
// If still not specified then use the default.
@@ -156,7 +160,7 @@
policyInfos.clear();
aaudio_policy_t mmapExclusivePolicy = AAUDIO_UNSPECIFIED;
if (android::AudioSystem::getMmapPolicyInfo(
- android::media::AudioMMapPolicyType::EXCLUSIVE, &policyInfos) == NO_ERROR) {
+ AudioMMapPolicyType::EXCLUSIVE, &policyInfos) == NO_ERROR) {
mmapExclusivePolicy = getAAudioPolicy(policyInfos);
}
if (mmapExclusivePolicy == AAUDIO_UNSPECIFIED) {
diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp
index 7475e5f..4cb531a 100644
--- a/media/libaudioclient/Android.bp
+++ b/media/libaudioclient/Android.bp
@@ -321,9 +321,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/AudioOutputFlags.aidl",
"aidl/android/media/AudioPatch.aidl",
diff --git a/media/libaudioclient/AudioSystem.cpp b/media/libaudioclient/AudioSystem.cpp
index 2557482..17557e7 100644
--- a/media/libaudioclient/AudioSystem.cpp
+++ b/media/libaudioclient/AudioSystem.cpp
@@ -59,6 +59,8 @@
using media::audio::common::AudioDeviceAddress;
using media::audio::common::AudioDeviceDescription;
using media::audio::common::AudioFormatDescription;
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
using media::audio::common::AudioOffloadInfo;
using media::audio::common::AudioSource;
using media::audio::common::AudioStreamType;
@@ -2357,8 +2359,7 @@
}
status_t AudioSystem::getMmapPolicyInfo(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
+ AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
if (af == nullptr) {
return PERMISSION_DENIED;
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index fdec918..e1e44fc 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -33,6 +33,8 @@
using binder::Status;
using media::audio::common::AudioChannelLayout;
using media::audio::common::AudioFormatDescription;
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
using media::audio::common::AudioMode;
using media::audio::common::AudioStreamType;
using media::audio::common::AudioUuid;
@@ -782,8 +784,7 @@
}
status_t AudioFlingerClientAdapter::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
+ AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
return statusTFromBinderStatus(mDelegate->getMmapPolicyInfos(policyType, policyInfos));
}
@@ -1260,8 +1261,7 @@
}
Status AudioFlingerServerAdapter::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *_aidl_return) {
+ AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *_aidl_return) {
return Status::fromStatusT(mDelegate->getMmapPolicyInfos(policyType, _aidl_return));
}
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 3e1f9cb..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.AudioMMapPolicy;
-import android.media.audio.common.AudioDevice;
-
-/**
- * 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;
-}
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 7a46f48..d8d40a9 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.AudioPatch;
import android.media.AudioPort;
import android.media.AudioPortConfig;
@@ -42,6 +40,8 @@
import android.media.TrackSecondaryOutputInfo;
import android.media.audio.common.AudioChannelLayout;
import android.media.audio.common.AudioFormatDescription;
+import android.media.audio.common.AudioMMapPolicyInfo;
+import android.media.audio.common.AudioMMapPolicyType;
import android.media.audio.common.AudioMode;
import android.media.audio.common.AudioStreamType;
import android.media.audio.common.AudioUuid;
diff --git a/media/libaudioclient/include/media/AudioSystem.h b/media/libaudioclient/include/media/AudioSystem.h
index c546dfb..a4e2cc1 100644
--- a/media/libaudioclient/include/media/AudioSystem.h
+++ b/media/libaudioclient/include/media/AudioSystem.h
@@ -22,14 +22,14 @@
#include <set>
#include <vector>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/content/AttributionSourceState.h>
#include <android/media/AudioVibratorInfo.h>
#include <android/media/BnAudioFlingerClient.h>
#include <android/media/BnAudioPolicyServiceClient.h>
#include <android/media/INativeSpatializerCallback.h>
#include <android/media/ISpatializer.h>
-#include <android/content/AttributionSourceState.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
#include <media/AidlConversionUtil.h>
#include <media/AudioContainers.h>
#include <media/AudioDeviceTypeAddr.h>
@@ -617,8 +617,8 @@
static status_t setVibratorInfos(const std::vector<media::AudioVibratorInfo>& vibratorInfos);
static status_t getMmapPolicyInfo(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos);
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos);
private:
diff --git a/media/libaudioclient/include/media/IAudioFlinger.h b/media/libaudioclient/include/media/IAudioFlinger.h
index 774e907..9aacdf9 100644
--- a/media/libaudioclient/include/media/IAudioFlinger.h
+++ b/media/libaudioclient/include/media/IAudioFlinger.h
@@ -37,12 +37,12 @@
#include <string>
#include <vector>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/content/AttributionSourceState.h>
#include <android/media/AudioVibratorInfo.h>
#include <android/media/BnAudioFlingerService.h>
#include <android/media/BpAudioFlingerService.h>
-#include <android/content/AttributionSourceState.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
#include "android/media/CreateEffectRequest.h"
#include "android/media/CreateEffectResponse.h"
#include "android/media/CreateRecordRequest.h"
@@ -352,8 +352,8 @@
const TrackSecondaryOutputsMap& trackSecondaryOutputs) = 0;
virtual status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) = 0;
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) = 0;
};
/**
@@ -452,8 +452,8 @@
const TrackSecondaryOutputsMap& trackSecondaryOutputs) override;
status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) override;
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) override;
private:
const sp<media::IAudioFlingerService> mDelegate;
@@ -655,8 +655,8 @@
Status updateSecondaryOutputs(
const std::vector<media::TrackSecondaryOutputInfo>& trackSecondaryOutputInfos) override;
Status getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *_aidl_return) override;
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *_aidl_return) override;
private:
const sp<AudioFlingerServerAdapter::Delegate> mDelegate;
diff --git a/media/libaudiohal/impl/DeviceHalHidl.h b/media/libaudiohal/impl/DeviceHalHidl.h
index 7b4dd88..6065b40 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.h
+++ b/media/libaudiohal/impl/DeviceHalHidl.h
@@ -120,8 +120,8 @@
status_t removeDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType __unused,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos __unused) override {
+ media::audio::common::AudioMMapPolicyType policyType __unused,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos __unused) override {
// TODO: Implement the HAL query when moving to AIDL HAL.
return INVALID_OPERATION;
}
diff --git a/media/libaudiohal/impl/DeviceHalLocal.h b/media/libaudiohal/impl/DeviceHalLocal.h
index d4bb7a0..6bc7a80 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.h
+++ b/media/libaudiohal/impl/DeviceHalLocal.h
@@ -113,8 +113,8 @@
status_t removeDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType __unused,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos __unused) override {
+ media::audio::common::AudioMMapPolicyType policyType __unused,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos __unused) override {
// This function will only be available on AIDL HAL.
return INVALID_OPERATION;
}
diff --git a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
index b93c8d2..376f37b 100644
--- a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
+++ b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
@@ -17,8 +17,8 @@
#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 <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
#include <media/audiohal/EffectHalInterface.h>
#include <media/MicrophoneInfo.h>
#include <system/audio.h>
@@ -123,8 +123,8 @@
audio_port_handle_t device, sp<EffectHalInterface> effect) = 0;
virtual status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) = 0;
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) = 0;
virtual status_t dump(int fd, const Vector<String16>& args) = 0;
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index c8d753b..87964d1 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -104,6 +104,8 @@
namespace android {
using media::IEffectClient;
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
using android::content::AttributionSourceState;
static const char kDeadlockedString[] = "AudioFlinger may be deadlocked\n";
@@ -339,8 +341,7 @@
#define MAX_MMAP_PROPERTY_DEVICE_HAL_VERSION 7.0
status_t AudioFlinger::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
+ AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
if (const auto it = mPolicyInfos.find(policyType); it != mPolicyInfos.end()) {
*policyInfos = it->second;
return NO_ERROR;
@@ -349,7 +350,7 @@
AutoMutex lock(mHardwareLock);
for (size_t i = 0; i < mAudioHwDevs.size(); ++i) {
AudioHwDevice *dev = mAudioHwDevs.valueAt(i);
- std::vector<media::AudioMMapPolicyInfo> infos;
+ std::vector<AudioMMapPolicyInfo> infos;
status_t status = dev->getMmapPolicyInfos(policyType, &infos);
if (status != NO_ERROR) {
ALOGE("Failed to query mmap policy info of %d, error %d",
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index b5d587b..d0a9ea8 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -283,8 +283,8 @@
const TrackSecondaryOutputsMap& trackSecondaryOutputs);
virtual status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos);
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos);
status_t onTransactWrapper(TransactionCode code, const Parcel& data, uint32_t flags,
const std::function<status_t()>& delegate) override;
@@ -1009,7 +1009,8 @@
// 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;
+ std::map<media::audio::common::AudioMMapPolicyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo>> mPolicyInfos;
};
#undef INCLUDING_FROM_AUDIOFLINGER_H
diff --git a/services/audioflinger/AudioHwDevice.cpp b/services/audioflinger/AudioHwDevice.cpp
index b996c6c9..12f8272 100644
--- a/services/audioflinger/AudioHwDevice.cpp
+++ b/services/audioflinger/AudioHwDevice.cpp
@@ -29,6 +29,9 @@
namespace android {
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
+
// ----------------------------------------------------------------------------
status_t AudioHwDevice::openOutputStream(
@@ -102,11 +105,8 @@
return mHwDevice->getAudioPort(port);
}
-
-
status_t AudioHwDevice::getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) const {
+ AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) const {
return mHwDevice->getMmapPolicyInfos(policyType, policyInfos);
}
diff --git a/services/audioflinger/AudioHwDevice.h b/services/audioflinger/AudioHwDevice.h
index b72072f..0715e55 100644
--- a/services/audioflinger/AudioHwDevice.h
+++ b/services/audioflinger/AudioHwDevice.h
@@ -22,6 +22,8 @@
#include <stdlib.h>
#include <sys/types.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
#include <media/audiohal/DeviceHalInterface.h>
#include <utils/Errors.h>
#include <system/audio.h>
@@ -86,8 +88,8 @@
status_t getAudioPort(struct audio_port_v7 *port) const;
status_t getMmapPolicyInfos(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) const;
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) const;
private:
const audio_module_handle_t mHandle;
diff --git a/services/audioflinger/PropertyUtils.cpp b/services/audioflinger/PropertyUtils.cpp
index b8abb8e..341d5bb 100644
--- a/services/audioflinger/PropertyUtils.cpp
+++ b/services/audioflinger/PropertyUtils.cpp
@@ -16,54 +16,57 @@
#include <aaudio/AAudio.h>
#include <aaudio/AAudioTesting.h>
-#include <android/media/AudioMMapPolicy.h>
+#include <android/media/audio/common/AudioMMapPolicy.h>
#include <cutils/properties.h>
#include "PropertyUtils.h"
namespace android {
-std::string getMmapPolicyProperty(media::AudioMMapPolicyType policyType) {
+using media::audio::common::AudioMMapPolicy;
+using media::audio::common::AudioMMapPolicyType;
+using media::audio::common::AudioMMapPolicyInfo;
+
+std::string getMmapPolicyProperty(AudioMMapPolicyType policyType) {
switch (policyType) {
- case media::AudioMMapPolicyType::DEFAULT:
+ case AudioMMapPolicyType::DEFAULT:
return "aaudio.mmap_policy";
- case media::AudioMMapPolicyType::EXCLUSIVE:
+ case AudioMMapPolicyType::EXCLUSIVE:
return "aaudio.mmap_exclusive_policy";
default:
return "";
}
}
-int getDefaultPolicyFromType(media::AudioMMapPolicyType policyType) {
+int getDefaultPolicyFromType(AudioMMapPolicyType policyType) {
switch (policyType) {
- case media::AudioMMapPolicyType::EXCLUSIVE:
+ case AudioMMapPolicyType::EXCLUSIVE:
return AAUDIO_UNSPECIFIED;
- case media::AudioMMapPolicyType::DEFAULT:
+ case AudioMMapPolicyType::DEFAULT:
default:
return AAUDIO_POLICY_NEVER;
}
}
-media::AudioMMapPolicy legacy2aidl_aaudio_policy_t_AudioMMapPolicy(aaudio_policy_t legacy) {
+AudioMMapPolicy legacy2aidl_aaudio_policy_t_AudioMMapPolicy(aaudio_policy_t legacy) {
switch (legacy) {
case AAUDIO_POLICY_NEVER:
- return media::AudioMMapPolicy::NEVER;
+ return AudioMMapPolicy::NEVER;
case AAUDIO_POLICY_AUTO:
- return media::AudioMMapPolicy::AUTO;
+ return AudioMMapPolicy::AUTO;
case AAUDIO_POLICY_ALWAYS:
- return media::AudioMMapPolicy::ALWAYS;
+ return AudioMMapPolicy::ALWAYS;
case AAUDIO_UNSPECIFIED:
- return media::AudioMMapPolicy::UNSPECIFIED;
+ return AudioMMapPolicy::UNSPECIFIED;
default:
ALOGE("%s unknown aaudio policy: %d", __func__, legacy);
- return media::AudioMMapPolicy::UNSPECIFIED;
+ return AudioMMapPolicy::UNSPECIFIED;
}
}
status_t getMmapPolicyInfosFromSystemProperty(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
- media::AudioMMapPolicyInfo policyInfo;
+ AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
+ AudioMMapPolicyInfo policyInfo;
const std::string propertyStr = getMmapPolicyProperty(policyType);
if (propertyStr.empty()) {
return BAD_VALUE;
diff --git a/services/audioflinger/PropertyUtils.h b/services/audioflinger/PropertyUtils.h
index 38cbf92..3bb6fa2 100644
--- a/services/audioflinger/PropertyUtils.h
+++ b/services/audioflinger/PropertyUtils.h
@@ -16,13 +16,13 @@
#pragma once
-#include <android/media/AudioMMapPolicyType.h>
-#include <android/media/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
namespace android {
status_t getMmapPolicyInfosFromSystemProperty(
- media::AudioMMapPolicyType policyType,
- std::vector<media::AudioMMapPolicyInfo> *policyInfos);
+ media::audio::common::AudioMMapPolicyType policyType,
+ std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos);
} // namespace android