summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
Diffstat (limited to 'audio')
-rw-r--r--audio/core/2.0/default/Device.cpp2
-rw-r--r--audio/core/2.0/default/ParametersUtil.cpp1
-rw-r--r--audio/core/2.0/default/PrimaryDevice.cpp2
-rw-r--r--audio/core/2.0/default/Stream.cpp1
-rw-r--r--audio/core/2.0/default/StreamIn.cpp2
-rw-r--r--audio/core/2.0/default/StreamOut.cpp2
-rw-r--r--audio/core/2.0/default/include/core/2.0/default/Util.h26
-rw-r--r--audio/core/4.0/default/Device.cpp2
-rw-r--r--audio/core/4.0/default/ParametersUtil.cpp1
-rw-r--r--audio/core/4.0/default/PrimaryDevice.cpp2
-rw-r--r--audio/core/4.0/default/Stream.cpp1
-rw-r--r--audio/core/4.0/default/StreamIn.cpp2
-rw-r--r--audio/core/4.0/default/StreamOut.cpp2
-rw-r--r--audio/core/4.0/default/include/core/4.0/default/Util.h26
-rw-r--r--audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h1
-rw-r--r--audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h21
-rw-r--r--audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h2
-rw-r--r--audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h25
-rw-r--r--audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h2
-rw-r--r--audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h1
-rw-r--r--audio/core/all-versions/default/include/core/all-versions/default/Util.h49
21 files changed, 111 insertions, 62 deletions
diff --git a/audio/core/2.0/default/Device.cpp b/audio/core/2.0/default/Device.cpp
index 221ea5c0eb..b67203d50e 100644
--- a/audio/core/2.0/default/Device.cpp
+++ b/audio/core/2.0/default/Device.cpp
@@ -21,7 +21,7 @@
#include "core/2.0/default/Conversions.h"
#include "core/2.0/default/StreamIn.h"
#include "core/2.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/Device.impl.h>
diff --git a/audio/core/2.0/default/ParametersUtil.cpp b/audio/core/2.0/default/ParametersUtil.cpp
index 33a3ad9b7b..963e291de0 100644
--- a/audio/core/2.0/default/ParametersUtil.cpp
+++ b/audio/core/2.0/default/ParametersUtil.cpp
@@ -15,6 +15,7 @@
*/
#include "core/2.0/default/ParametersUtil.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/ParametersUtil.impl.h>
diff --git a/audio/core/2.0/default/PrimaryDevice.cpp b/audio/core/2.0/default/PrimaryDevice.cpp
index ce57403864..decaa14658 100644
--- a/audio/core/2.0/default/PrimaryDevice.cpp
+++ b/audio/core/2.0/default/PrimaryDevice.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "PrimaryDeviceHAL"
#include "core/2.0/default/PrimaryDevice.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/PrimaryDevice.impl.h>
diff --git a/audio/core/2.0/default/Stream.cpp b/audio/core/2.0/default/Stream.cpp
index 69ee659811..0863a7c399 100644
--- a/audio/core/2.0/default/Stream.cpp
+++ b/audio/core/2.0/default/Stream.cpp
@@ -19,6 +19,7 @@
#include "core/2.0/default/Stream.h"
#include "common/all-versions/default/EffectMap.h"
#include "core/2.0/default/Conversions.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/Stream.impl.h>
diff --git a/audio/core/2.0/default/StreamIn.cpp b/audio/core/2.0/default/StreamIn.cpp
index 6b8776ebe5..2021df1c49 100644
--- a/audio/core/2.0/default/StreamIn.cpp
+++ b/audio/core/2.0/default/StreamIn.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamInHAL"
#include "core/2.0/default/StreamIn.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/StreamIn.impl.h>
diff --git a/audio/core/2.0/default/StreamOut.cpp b/audio/core/2.0/default/StreamOut.cpp
index 7f1461ac7d..940a251272 100644
--- a/audio/core/2.0/default/StreamOut.cpp
+++ b/audio/core/2.0/default/StreamOut.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamOutHAL"
#include "core/2.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/StreamOut.impl.h>
diff --git a/audio/core/2.0/default/include/core/2.0/default/Util.h b/audio/core/2.0/default/include/core/2.0/default/Util.h
new file mode 100644
index 0000000000..858cd3bb3d
--- /dev/null
+++ b/audio/core/2.0/default/include/core/2.0/default/Util.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2017 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.
+ */
+
+#ifndef ANDROID_HARDWARE_AUDIO_V2_0_UTIL_H
+#define ANDROID_HARDWARE_AUDIO_V2_0_UTIL_H
+
+#include <android/hardware/audio/2.0/types.h>
+
+#define AUDIO_HAL_VERSION V2_0
+#include <core/all-versions/default/Util.h>
+#undef AUDIO_HAL_VERSION
+
+#endif // ANDROID_HARDWARE_AUDIO_V2_0_UTIL_H
diff --git a/audio/core/4.0/default/Device.cpp b/audio/core/4.0/default/Device.cpp
index 26f9ab4a70..b33434ecfb 100644
--- a/audio/core/4.0/default/Device.cpp
+++ b/audio/core/4.0/default/Device.cpp
@@ -21,7 +21,7 @@
#include "core/4.0/default/Conversions.h"
#include "core/4.0/default/StreamIn.h"
#include "core/4.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/Device.impl.h>
diff --git a/audio/core/4.0/default/ParametersUtil.cpp b/audio/core/4.0/default/ParametersUtil.cpp
index 5c1b1c4b18..2cc9fb56a3 100644
--- a/audio/core/4.0/default/ParametersUtil.cpp
+++ b/audio/core/4.0/default/ParametersUtil.cpp
@@ -15,6 +15,7 @@
*/
#include "core/4.0/default/ParametersUtil.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/ParametersUtil.impl.h>
diff --git a/audio/core/4.0/default/PrimaryDevice.cpp b/audio/core/4.0/default/PrimaryDevice.cpp
index 0294b4d0d4..e3e49768d5 100644
--- a/audio/core/4.0/default/PrimaryDevice.cpp
+++ b/audio/core/4.0/default/PrimaryDevice.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "PrimaryDeviceHAL"
#include "core/4.0/default/PrimaryDevice.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/PrimaryDevice.impl.h>
diff --git a/audio/core/4.0/default/Stream.cpp b/audio/core/4.0/default/Stream.cpp
index 30b34544d6..b8c71de7b7 100644
--- a/audio/core/4.0/default/Stream.cpp
+++ b/audio/core/4.0/default/Stream.cpp
@@ -19,6 +19,7 @@
#include "core/4.0/default/Stream.h"
#include "common/all-versions/default/EffectMap.h"
#include "core/4.0/default/Conversions.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/Stream.impl.h>
diff --git a/audio/core/4.0/default/StreamIn.cpp b/audio/core/4.0/default/StreamIn.cpp
index 18719b5da2..718bd25a63 100644
--- a/audio/core/4.0/default/StreamIn.cpp
+++ b/audio/core/4.0/default/StreamIn.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamInHAL"
#include "core/4.0/default/StreamIn.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/StreamIn.impl.h>
diff --git a/audio/core/4.0/default/StreamOut.cpp b/audio/core/4.0/default/StreamOut.cpp
index 11c8fde663..db88e401d2 100644
--- a/audio/core/4.0/default/StreamOut.cpp
+++ b/audio/core/4.0/default/StreamOut.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamOutHAL"
#include "core/4.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/StreamOut.impl.h>
diff --git a/audio/core/4.0/default/include/core/4.0/default/Util.h b/audio/core/4.0/default/include/core/4.0/default/Util.h
new file mode 100644
index 0000000000..dcdc7ee7a1
--- /dev/null
+++ b/audio/core/4.0/default/include/core/4.0/default/Util.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2017 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.
+ */
+
+#ifndef ANDROID_HARDWARE_AUDIO_V4_0_UTIL_H
+#define ANDROID_HARDWARE_AUDIO_V4_0_UTIL_H
+
+#include <android/hardware/audio/4.0/types.h>
+
+#define AUDIO_HAL_VERSION V4_0
+#include <core/all-versions/default/Util.h>
+#undef AUDIO_HAL_VERSION
+
+#endif // ANDROID_HARDWARE_AUDIO_V4_0_UTIL_H
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h
index 581e1dcce3..37b7124a26 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h
@@ -25,7 +25,6 @@
#include <android/log.h>
using ::android::hardware::audio::common::AUDIO_HAL_VERSION::HidlUtils;
-using ::android::hardware::audio::all_versions::implementation::isGainNormalized;
namespace android {
namespace hardware {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h
index 3907284048..afff2b6d2a 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h
@@ -149,26 +149,7 @@ Result ParametersUtil::setParam(const char* name, const DeviceAddress& address)
Result ParametersUtil::setParams(const AudioParameter& param) {
int halStatus = halSetParameters(param.toString().string());
- switch (halStatus) {
- case OK:
- return Result::OK;
- case -EINVAL:
- return Result::INVALID_ARGUMENTS;
- case -ENODATA:
- return Result::INVALID_STATE;
- case -ENODEV:
- return Result::NOT_INITIALIZED;
- // The rest of the API (*::analyseStatus) returns NOT_SUPPORTED
- // when the legacy API returns -ENOSYS
- // However the legacy API explicitly state that for get_paramers,
- // -ENOSYS should be returned if
- // "the implementation does not accept a parameter change while the
- // output is active but the parameter is acceptable otherwise"
- case -ENOSYS:
- return Result::INVALID_STATE;
- default:
- return Result::INVALID_ARGUMENTS;
- }
+ return util::analyzeStatus(halStatus);
}
} // namespace implementation
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h
index 9b39d9c9e8..f3809e4c1c 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h
@@ -160,7 +160,7 @@ Return<Result> PrimaryDevice::setConnectedState(const DeviceAddress& address, bo
// Methods from ::android::hardware::audio::AUDIO_HAL_VERSION::IPrimaryDevice follow.
Return<Result> PrimaryDevice::setVoiceVolume(float volume) {
- if (!all_versions::implementation::isGainNormalized(volume)) {
+ if (!isGainNormalized(volume)) {
ALOGW("Can not set a voice volume (%f) outside [0,1]", volume);
return Result::INVALID_ARGUMENTS;
}
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h
index fa0ef45bec..7415112545 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h
@@ -39,35 +39,14 @@ Stream::~Stream() {
// static
Result Stream::analyzeStatus(const char* funcName, int status) {
- static const std::vector<int> empty;
- return analyzeStatus(funcName, status, empty);
+ return util::analyzeStatus("stream", funcName, status);
}
-template <typename T>
-inline bool element_in(T e, const std::vector<T>& v) {
- return std::find(v.begin(), v.end(), e) != v.end();
-}
// static
Result Stream::analyzeStatus(const char* funcName, int status,
const std::vector<int>& ignoreErrors) {
- if (status != 0 && (ignoreErrors.empty() || !element_in(-status, ignoreErrors))) {
- ALOGW("Error from HAL stream in function %s: %s", funcName, strerror(-status));
- }
- switch (status) {
- case 0:
- return Result::OK;
- case -EINVAL:
- return Result::INVALID_ARGUMENTS;
- case -ENODATA:
- return Result::INVALID_STATE;
- case -ENODEV:
- return Result::NOT_INITIALIZED;
- case -ENOSYS:
- return Result::NOT_SUPPORTED;
- default:
- return Result::INVALID_STATE;
- }
+ return util::analyzeStatus("stream", funcName, status, ignoreErrors);
}
char* Stream::halGetParameters(const char* keys) {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h
index 8774be904f..64c85ab5fc 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h
@@ -25,9 +25,7 @@
#include <memory>
using ::android::hardware::audio::AUDIO_HAL_VERSION::MessageQueueFlagBits;
-using ::android::hardware::audio::all_versions::implementation::isGainNormalized;
#include "Conversions.h"
-#include "Util.h"
namespace android {
namespace hardware {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h
index 77098a8168..6fb157f7de 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h
@@ -32,7 +32,6 @@ namespace AUDIO_HAL_VERSION {
namespace implementation {
using ::android::hardware::audio::common::AUDIO_HAL_VERSION::ThreadInfo;
-using ::android::hardware::audio::all_versions::implementation::isGainNormalized;
namespace {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/Util.h b/audio/core/all-versions/default/include/core/all-versions/default/Util.h
index 39d9dbde00..350fd867e6 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/Util.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/Util.h
@@ -14,24 +14,61 @@
* limitations under the License.
*/
-#ifndef ANDROID_HARDWARE_AUDIO_DEVICE_ALL_VERSIONS_UTIL_H
-#define ANDROID_HARDWARE_AUDIO_DEVICE_ALL_VERSIONS_UTIL_H
+#include <common/all-versions/IncludeGuard.h>
+
+#include <algorithm>
+#include <vector>
+
+#include <system/audio.h>
namespace android {
namespace hardware {
namespace audio {
-namespace all_versions {
+namespace AUDIO_HAL_VERSION {
namespace implementation {
+using ::android::hardware::audio::AUDIO_HAL_VERSION::Result;
+
/** @return true if gain is between 0 and 1 included. */
constexpr bool isGainNormalized(float gain) {
return gain >= 0.0 && gain <= 1.0;
}
+namespace util {
+
+template <typename T>
+inline bool element_in(T e, const std::vector<T>& v) {
+ return std::find(v.begin(), v.end(), e) != v.end();
+}
+
+static inline Result analyzeStatus(status_t status) {
+ switch (status) {
+ case 0:
+ return Result::OK;
+ case -EINVAL:
+ return Result::INVALID_ARGUMENTS;
+ case -ENODATA:
+ return Result::INVALID_STATE;
+ case -ENODEV:
+ return Result::NOT_INITIALIZED;
+ case -ENOSYS:
+ return Result::NOT_SUPPORTED;
+ default:
+ return Result::INVALID_STATE;
+ }
+}
+
+static inline Result analyzeStatus(const char* className, const char* funcName, status_t status,
+ const std::vector<int>& ignoreErrors = {}) {
+ if (status != 0 && !element_in(-status, ignoreErrors)) {
+ ALOGW("Error from HAL %s in function %s: %s", className, funcName, strerror(-status));
+ }
+ return analyzeStatus(status);
+}
+
+} // namespace util
} // namespace implementation
-} // namespace all_versions
+} // namespace AUDIO_HAL_VERSION
} // namespace audio
} // namespace hardware
} // namespace android
-
-#endif // ANDROID_HARDWARE_AUDIO_DEVICE_ALL_VERSIONS_UTIL_H