aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/compatibility/4.0/android-4.0-cdd.pdfbin196829 -> 296639 bytes
-rw-r--r--src/compatibility/4.1/android-4.1-cdd.pdfbin206285 -> 312797 bytes
-rwxr-xr-xsrc/compatibility/4.2/android-4.2-cdd.pdfbin215120 -> 331741 bytes
-rw-r--r--src/compatibility/android-4.0-cdd.pdfbin196829 -> 296639 bytes
-rw-r--r--[-rwxr-xr-x]src/compatibility/android-4.1-cdd.pdfbin206285 -> 312797 bytes
-rw-r--r--[-rwxr-xr-x]src/compatibility/android-4.2-cdd.pdfbin215120 -> 331741 bytes
-rw-r--r--src/devices/audio_preprocessing.jd111
-rw-r--r--src/devices/audio_terminology.jd39
8 files changed, 39 insertions, 111 deletions
diff --git a/src/compatibility/4.0/android-4.0-cdd.pdf b/src/compatibility/4.0/android-4.0-cdd.pdf
index f6c06a57..3de021a2 100755
--- a/src/compatibility/4.0/android-4.0-cdd.pdf
+++ b/src/compatibility/4.0/android-4.0-cdd.pdf
Binary files differ
diff --git a/src/compatibility/4.1/android-4.1-cdd.pdf b/src/compatibility/4.1/android-4.1-cdd.pdf
index 46b64822..270a2d0e 100644
--- a/src/compatibility/4.1/android-4.1-cdd.pdf
+++ b/src/compatibility/4.1/android-4.1-cdd.pdf
Binary files differ
diff --git a/src/compatibility/4.2/android-4.2-cdd.pdf b/src/compatibility/4.2/android-4.2-cdd.pdf
index 10addf35..f61708d4 100755
--- a/src/compatibility/4.2/android-4.2-cdd.pdf
+++ b/src/compatibility/4.2/android-4.2-cdd.pdf
Binary files differ
diff --git a/src/compatibility/android-4.0-cdd.pdf b/src/compatibility/android-4.0-cdd.pdf
index f6c06a57..3de021a2 100644
--- a/src/compatibility/android-4.0-cdd.pdf
+++ b/src/compatibility/android-4.0-cdd.pdf
Binary files differ
diff --git a/src/compatibility/android-4.1-cdd.pdf b/src/compatibility/android-4.1-cdd.pdf
index 46b64822..270a2d0e 100755..100644
--- a/src/compatibility/android-4.1-cdd.pdf
+++ b/src/compatibility/android-4.1-cdd.pdf
Binary files differ
diff --git a/src/compatibility/android-4.2-cdd.pdf b/src/compatibility/android-4.2-cdd.pdf
index 10addf35..f61708d4 100755..100644
--- a/src/compatibility/android-4.2-cdd.pdf
+++ b/src/compatibility/android-4.2-cdd.pdf
Binary files differ
diff --git a/src/devices/audio_preprocessing.jd b/src/devices/audio_preprocessing.jd
deleted file mode 100644
index 4beb7e0d..00000000
--- a/src/devices/audio_preprocessing.jd
+++ /dev/null
@@ -1,111 +0,0 @@
-page.title=Audio Warmup
-@jd:body
-
-<!--
- Copyright 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.
--->
-<div id="qv-wrapper">
- <div id="qv">
- <h2>In this document</h2>
- <ol id="auto-toc">
- </ol>
- </div>
-</div>
-
-<p>Audio warmup is the time for the audio amplifier circuit in your device to
-be fully powered and reach its normal operation state. The major contributors
-to audio warmup time are power management and any "de-pop" logic to stabilize
-the circuit.
-</p>
-
-<p>This document describes how to measure audio warmup time and possible ways to decrease
-warmup time.</p>
-
-<h2 id="measuringOutput">Measuring Output Warmup</h2>
-
-<p>
- AudioFlinger's FastMixer thread automatically measures output warmup
- and reports it as part of the output of the <code>dumpsys media.audio_flinger</code> command.
- At warmup, FastMixer calls <code>write()</code>
- repeatedly until the time between two <code>write()</code>s is the amount expected.
- FastMixer determines audio warmup by seeing how long a HAL <code>write()</code> takes to stabilize.
-</p>
-
-<p>To measure audio warmup, do the following
-steps for the built-in speaker and wired headphones and at different times after booting.
-Warmup times are usually different for each output device and right after booting the device:</p>
-
-<ol>
- <li>Ensure that FastMixer is enabled.</li>
- <li>Enable touch sounds by selecting <b>Settings > Sound > Touch sounds</b> on the device.</li>
- <li>Ensure that audio has been off for at least three seconds. Five seconds or more is better, because
- the hardware itself might have its own power logic beyond the three seconds that AudioFlinger has.</li>
- <li>Press Home, and you should hear a click sound.</li>
- <li>Run the following command to receive the measured warmup:
- <pre>adb shell dumpsys media.audio_flinger | grep measuredWarmup</code></pre>
-
-<p>
-You should see output like this:
-</p>
-
-<pre>
-sampleRate=44100 frameCount=256 measuredWarmup=X ms, warmupCycles=X
-</pre>
-
-<p>
- The <code>measuredWarmup=X</code> is X number of milliseconds
- it took for the first set of HAL <code>write()</code>s to complete.
-</p>
-
-<p>
- The <code>warmupCycles=X</code> is how many HAL write requests it took
- until the execution time of <code>write()</code> matches what is expected.
-</p>
-</li>
-<li>
- Take five measurements and report them all, as well as the mean.
- If they are not all approximately the same,
- then it’s likely that a measurement is incorrect.
- For example, if you don’t wait long enough after the audio has been off,
- you will see a lower warmup time than the mean value.
-</li>
-</ol>
-
-
-<h2 id="measuringInput">Measuring Input Warmup</h2>
-
-<p>
- There are currently no tools provided for measuring audio input warmup.
- However, input warmup time can be estimated by observing
- the time required for <a href="http://developer.android.com/reference/android/media/AudioRecord.html#startRecording()">startRecording()</a>
- to return.
-</p>
-
-
-<h2 id="reducing">Reducing Warmup Time</h2>
-
-<p>
- Warmup time can usually be reduced by a combination of:
- <ul>
- <li>Good circuit design</li>
- <li>Accurate time delays in kernel device driver</li>
- <li>Performing independent warmup operations concurrently rather than sequentially</li>
- <li>Leaving circuits powered on or not reconfiguring clocks (increases idle power consumption).
- <li>Caching computed parameters</li>
- </ul>
- However, beware of excessive optimization. You may find that you
- need to tradeoff between low warmup time versus
- lack of popping at power transitions.
-</p>
diff --git a/src/devices/audio_terminology.jd b/src/devices/audio_terminology.jd
index f6258502..eee03aaa 100644
--- a/src/devices/audio_terminology.jd
+++ b/src/devices/audio_terminology.jd
@@ -23,6 +23,13 @@ These are audio terms that are widely used, with their conventional meanings.
<dl>
+<dt>acoustics</dt>
+<dd>
+The study of the mechanical properties of sound, for example how the
+physical placement of transducers such as speakers and microphones on
+a device affects perceived audio quality.
+</dd>
+
<dt>bits per sample or bit depth</dt>
<dd>
Number of bits of information per sample.
@@ -45,6 +52,16 @@ The number of frames handed from one module to the next at once;
for example the audio HAL interface uses this concept.
</dd>
+<dt>Hz</dt>
+<dd>
+The units for sample rate or frame rate.
+</dd>
+
+<dt>latency</dt>
+<dd>
+Time delay as a signal passes through a system.
+</dd>
+
<dt>mono</dt>
<dd>
One channel.
@@ -89,6 +106,13 @@ to the kernel audio framework and drivers, not to the user-mode API. See
tinyalsa.
</dd>
+<dt>AudioEffect</dt>
+<dd>
+An API and implementation framework for output (post-processing) effects
+and input (pre-processing) effects. The API is defined at
+<a class="external-link" href="http://developer.android.com/reference/android/media/audiofx/AudioEffect.html" target="_android">android.media.audiofx.AudioEffect</a>
+</dd>
+
<dt>AudioFlinger</dt>
<dd>
The sound server implementation for Android. AudioFlinger
@@ -166,6 +190,13 @@ A higher-level client API than AudioTrack, for playing either encoded
content, or content which includes multi-media audio and video tracks.
</dd>
+<dt>media.log</dt>
+<dd>
+An AudioFlinger debugging feature, available in custom builds only,
+for logging audio events to a circular buffer where they can then be
+dumped retroactively when needed.
+</dd>
+
<dt>mediaserver</dt>
<dd>
An Android system process that contains a number of media-related
@@ -201,6 +232,14 @@ among threads. Whereas NBAIO is used to pass data, StateQueue is used
to pass control information.
</dd>
+<dt>tee sink</dt>
+<dd>
+An AudioFlinger debugging feature, available in custom builds only,
+for retaining a short fragment of recent audio for later analysis.
+This permits comparison between what was actually played or recorded
+vs. what was expected.
+</dd>
+
<dt>tinyalsa</dt>
<dd>
A small user-mode API above ALSA kernel with BSD license, recommended