| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Added functional test code to validate effect API for
multi mic simplementations.
Also fixed warning in AudioFlinger.
Change-Id: I07be4d2e4d17791d3626c804ba3e9f87ff26d05a
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
SurfaceMediaSource takes advantage of BufferQueue to avoid
duplicated code.
Change-Id: I5e60b8eca21e6c3cf728d363cd8f3786125182d1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the AudioMixer structure associated with each track, add an object
that acts as the buffer provider when the track has more than two
channels of input in the mixer. This object, DownmixerBufferProvider,
gets audio from the actual buffer provider of the track, and applies
a downmix effect on it.
The downmix effect is created and configured when the track gets
created in AudioFlinger, which causes AudioMixer::getTrackName()
to be called with the new track's channel mask. It is released
when the track is disabled in the mixer.
Change-Id: I05281ed5f61bef663a8af7ca7d5ceac3517c82db
|
|/
|
|
|
| |
Change-Id: I69dd60e43078c4211c6123cf6e0ce90e676bf873
related-to-bug: 6275919
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
With the Cue based seeking we will get the closest previous key frame.
For audio, use the Cue file to find the Cluster with the video key frame
then incrementally look for the audio Block.
Change-Id: Idc934cca1286b1bb48ee7577b27903ca488a0610
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
Bug: 6234756
Change-Id: I0fae6e5ad8607d472faad7dd680e020f20ac1669
|
| |
| |
| |
| |
| |
| | |
b/5820120
Change-Id: Ia5c48eb1ab15fe3bbe773131148470a06eb2b96d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When creating a new AudioTrack (not inheriting one from a previous play),
the AudioSink should take the AudioTrack's position as the initial starting
point for mBytesWritten, since otherwise NuPlayer's calculations will be off.
Normally this position will be 0, but if the test code for 32 bit wraparound
in AudioFlinger.cpp is enabled, it might be (much) larger.
Change-Id: I1e4f906d529861c3dea996de8afc6dbd491589af
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Audio HW modules are now loaded upon request from audio policy manager
according to the configuration in audio_policy.conf.
Removed hard coded HW module loading by AudioFlinger at init time.
Added methods to IAudioFlinger and AudioPolicyInterface
to control the loading of audio HW modules.
Added methods to open an output or input stream on a specific hw module.
Change-Id: I361b294ece1a9b56b2fb39cc64259dbb73b804f4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
removed outputs to stream mapping cache in audio system: the output for a
given stream type must always be queried from audio policy manager as the cache
is not always updated fast enough by audioflinger callback.
removed AudioFlinger::PlaybackThread::setStreamValid() not used anymore if
stream to output mapping is not cached.
Change-Id: Ieca720c0b292181f81247259c8a44359bc74c66b
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
previous implementation tried to be clever about economizing Cue loads.
however, files with the cues at the beginning missed the initial load in
the seek function and would crash with a null pointer.
Change-Id: I49c15d6688909cd13afabf33a54d9f5896aab7cd
|
|/ /
| |
| |
| |
| | |
Change-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566
related-to-bug: 6275919
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On the first seek, load the Cues element. Parse it incrementally until
the desired seek point can be located.
This allows files to begin playing immediately. However, the Browser
still seeks to 0 before playing embedded YouTube files. Because YouTube
stores the cues at the end of the file, this causes it to seek, load the
cues, then begin playing. It is still better than the previous behavior
which blocked until the entire file was loaded.
BUG=5921311
Change-Id: Iad2abc64ded3b4e2c2d2c478a969f68450754282
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
Change-Id: I5ac193cd40c82bbcd87c1e55003b78102e8d4674
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Use definitions for AUDIO_PARAMETER_STREAM_* from <hardware/audio.h>
instead of repeating these constants.
String constants are const char * const.
Change-Id: I1c9ebe0bc9c827d719d3181aea55251c6db28ec4
|
|\ \ |
|
| |/
| |
| |
| | |
Change-Id: I42ce691df3f586ac061b62237f35a263a0116f1f
|
|/
|
|
|
|
|
|
|
| |
This makes NuPlayer use a SkipCutBuffer when needed, and adds a new
AudioSink method to retrieve the number of frames written so far, so
NuPlayerRenderer can calculate how much data it can write without blocking.
Also make some more methods const.
Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
|
|
|
|
|
| |
b/6160363
Change-Id: I471815012c6a113ec2c4dd7676e8fa288a70bc76
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added the infrastructure to support the synchronization of playback and
capture actions on specific events.
The first requirement for this feature is to synchronize the audio capture
start with the full rendering of a given audio content.
The applications can further be extended to other use cases
(synchronized playback start...) by adding new synchronization events and
new synchronous control methods on player or recorders.
Also added a method to query the audio session from a ToneGenerator.
Change-Id: I51f1167290d9cafdf2fbcdf9e4785156973af44c
|
| |
| |
| |
| | |
Change-Id: I1f8c32a771a411476d225adc62d1f07c24f39a3e
|
| |
| |
| |
| | |
Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
|
|/
|
|
|
|
|
|
| |
Add support for ABuffer to SkipCutBuffer, and make it (re)allocate an
appropriately sized buffer when needed, rather then relying on the
caller to tell it ahead of time how big the buffers are going to be.
Change-Id: I8b5c9ba5dd2fc13ef8870b7d4fe93a1bfdc7a626
|
|
|
|
|
|
|
| |
o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc
o remove some runtime dependencies to libandroid, libandroid_runtime, etc
Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
|
|
|
|
| |
Change-Id: I7d85e04fb9f0caa8460a111ca6181bba6f6497ac
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
|
|\ \
| | |
| | |
| | | |
of the dependency on jni.h"
|
| |/
| |
| |
| |
| |
| |
| |
| | |
dependency on jni.h
o related-to-bug: 6214141
Change-Id: I548d84a9888be884d3903dc9dea9235258792165
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Current method implemented by the visualizer to detect that audioflinger has
stopped providing audio buffers does not work if the application
reads pcm captures too fast.
The fix consist in implementing a method based on real time measurement only.
One drawback is that the new method makes use of system calls that add some
overhead to the process and capture functions.
Change-Id: I53bd596b856f1cc7f0f47e08413af3335227100b
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Reorganize SoundPool and JetPlayer code to be ready for the
creation of libmedia_native.
Split SoundPool between libsoundpool (JNI) and libmedia(sound pool implementation).
Remove dependencies on nativehelper/jni.h from JetPlayer.
Change-Id: I130c6014173b714329929dd82c5dfb70b757a610
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | | |
* changes:
libmedia: remove skia include
stagefright: remove dependency on skia
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
skia is not used in this file, remove the unnecessary include.
Change-Id: Ib4d0e0c0090c6b37ff8cfb816c0d8ba82a9638a4
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
createTrack and openRecord don't need the "old" flags parameter,
which was either audio_policy_output_t or audio_in_acoustics_t
shifted left by 16 bits. But they do need "new" flags, which
are defined by the application use case. Initially, the only
application use case flag is timed output, but others are planned.
For output, the audio_policy_output_t flags are passed to
AudioSystem::getOutput, which returns an audio_io_handle_t, and that
handle is then passed to createTrack. So createTrack doesn't need the
old flags parameter.
For input, the audio_in_acoustics_t flags are passed to
AudioSystem::getInput, which returns an audio_io_handle_t, and that
handle is then passed to openRecord. So openRecord doesn't need the
old flags parameter.
Change-Id: I18a9870911846cca69d420c19fe6a9face2fe8c4
|
| |/ /
|/| |
| | |
| | |
| | |
| | | |
o related-to-bug: 6214141
Change-Id: Ic88d1732b3e014af47532a0809e01f6086e8464d
|
|\ \ \ |
|
| | | |
| | | |
| | | | |
This reverts commit 0a3edd38df0743dcc7091bb7ebf29e7e7dadc7cb
|
| |_|/
|/| |
| | |
| | |
| | | |
Change-Id: I72474c17757dba5867f55b0e99e76e9e4e32ce7b
related-to-bug: 6217289
|
|\ \ \ |
|