diff options
-rwxr-xr-x | src/compatibility/4.0/android-4.0-cdd.pdf | bin | 196829 -> 296639 bytes | |||
-rw-r--r-- | src/compatibility/4.1/android-4.1-cdd.pdf | bin | 206285 -> 312797 bytes | |||
-rwxr-xr-x | src/compatibility/4.2/android-4.2-cdd.pdf | bin | 215120 -> 331741 bytes | |||
-rw-r--r-- | src/compatibility/android-4.0-cdd.pdf | bin | 196829 -> 296639 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/compatibility/android-4.1-cdd.pdf | bin | 206285 -> 312797 bytes | |||
-rw-r--r--[-rwxr-xr-x] | src/compatibility/android-4.2-cdd.pdf | bin | 215120 -> 331741 bytes | |||
-rw-r--r-- | src/devices/audio_preprocessing.jd | 111 | ||||
-rw-r--r-- | src/devices/audio_terminology.jd | 39 |
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 Binary files differindex f6c06a57..3de021a2 100755 --- a/src/compatibility/4.0/android-4.0-cdd.pdf +++ b/src/compatibility/4.0/android-4.0-cdd.pdf diff --git a/src/compatibility/4.1/android-4.1-cdd.pdf b/src/compatibility/4.1/android-4.1-cdd.pdf Binary files differindex 46b64822..270a2d0e 100644 --- a/src/compatibility/4.1/android-4.1-cdd.pdf +++ b/src/compatibility/4.1/android-4.1-cdd.pdf diff --git a/src/compatibility/4.2/android-4.2-cdd.pdf b/src/compatibility/4.2/android-4.2-cdd.pdf Binary files differindex 10addf35..f61708d4 100755 --- a/src/compatibility/4.2/android-4.2-cdd.pdf +++ b/src/compatibility/4.2/android-4.2-cdd.pdf diff --git a/src/compatibility/android-4.0-cdd.pdf b/src/compatibility/android-4.0-cdd.pdf Binary files differindex f6c06a57..3de021a2 100644 --- a/src/compatibility/android-4.0-cdd.pdf +++ b/src/compatibility/android-4.0-cdd.pdf diff --git a/src/compatibility/android-4.1-cdd.pdf b/src/compatibility/android-4.1-cdd.pdf Binary files differindex 46b64822..270a2d0e 100755..100644 --- a/src/compatibility/android-4.1-cdd.pdf +++ b/src/compatibility/android-4.1-cdd.pdf diff --git a/src/compatibility/android-4.2-cdd.pdf b/src/compatibility/android-4.2-cdd.pdf Binary files differindex 10addf35..f61708d4 100755..100644 --- a/src/compatibility/android-4.2-cdd.pdf +++ b/src/compatibility/android-4.2-cdd.pdf 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 |