summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dan Morrill <morrildl@google.com> 2010-09-26 17:28:30 -0700
committer Dan Morrill <morrildl@google.com> 2010-09-26 17:28:30 -0700
commit898e1e8860dea8490ba9208fca7965adf9cb8298 (patch)
tree6924c3d3d1f6c361385d7c579c515a93660fdc10
parent8f5a1211dc14acb2ef1879b9dad12e3dbaf92e9e (diff)
Adding a feature to indicate that the device possesses low-latency audio.
The specific criteria for low-latency audio are defined in the CDD, but since that hasn't yet been settled for Gingerbread, this change doesn't go into details. We can do a docs change later once GB CDD is final. Change-Id: Ic5ad9d04e8ecd78c81b6f09439affec6bf8cb9b2
-rw-r--r--api/current.xml11
-rw-r--r--core/java/android/content/pm/PackageManager.java9
-rw-r--r--data/etc/android.hardware.audio.low_latency.xml22
-rw-r--r--data/etc/handheld_core_hardware.xml3
4 files changed, 45 insertions, 0 deletions
diff --git a/api/current.xml b/api/current.xml
index 98ced392788e..17f824b4e8d8 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -48899,6 +48899,17 @@
visibility="public"
>
</field>
+<field name="FEATURE_AUDIO_LOW_LATENCY"
+ type="java.lang.String"
+ transient="false"
+ volatile="false"
+ value="&quot;android.hardware.audio.low_latency&quot;"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
<field name="FEATURE_BLUETOOTH"
type="java.lang.String"
transient="false"
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 1a3bcc4040de..cb6b708cf498 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -636,6 +636,15 @@ public abstract class PackageManager {
/**
* Feature for {@link #getSystemAvailableFeatures} and
+ * {@link #hasSystemFeature}: The device's audio pipeline is low-latency,
+ * more suitable for audio applications sensitive to delays or lag in
+ * sound input or output.
+ */
+ @SdkConstant(SdkConstantType.FEATURE)
+ public static final String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
+
+ /**
+ * Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: The device is capable of communicating with
* other devices via Bluetooth.
*/
diff --git a/data/etc/android.hardware.audio.low_latency.xml b/data/etc/android.hardware.audio.low_latency.xml
new file mode 100644
index 000000000000..677ec1c630fb
--- /dev/null
+++ b/data/etc/android.hardware.audio.low_latency.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+
+<!-- This is the feature indicating low-latency audio, as specified by the
+ CDD. ONLY devices that meet the CDD's requirements may declare this
+ feature. -->
+<permissions>
+ <feature name="android.hardware.audio.low_latency" />
+</permissions>
diff --git a/data/etc/handheld_core_hardware.xml b/data/etc/handheld_core_hardware.xml
index a3c9f6d8d40a..7f87b7923d86 100644
--- a/data/etc/handheld_core_hardware.xml
+++ b/data/etc/handheld_core_hardware.xml
@@ -57,4 +57,7 @@
android.hardware.sensor.proximity.xml -->
<!-- GSM phones must also include android.hardware.telephony.gsm.xml -->
<!-- CDMA phones must also include android.hardware.telephony.cdma.xml -->
+ <!-- Devices that have low-latency audio stacks suitable for apps like
+ VoIP may include android.hardware.audio.low_latency.xml. ONLY apps
+ that meet the requirements specified in the CDD may include this. -->
</permissions>