| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
MediaPlayerService can't open files (it needs an already opened
file descriptor), so these were just wasting space.
Change-Id: I323044a6c1814a7bff952ed71b5c7792df2abf03
|
|\
| |
| |
| |
| |
| |
| | |
format flags on format change" into lmp-mr1-dev
* commit 'e09bf82465ff83f4da966b77d551367f7c050154':
stagefright: preserve output format flags on format change
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
on format change" into lmp-mr1-dev
* commit '6874ed79fd525cf5d6ec8a953475c14f5a185cb4':
stagefright: preserve output format flags on format change
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some flags are only set in configure, and get lost when output
format changes.
Bug: 17383204
Change-Id: I2011bce70920c4ee46fccc378da3b428f3395c11
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
attributes instead of audio source." into lmp-mr1-dev
* commit '61280541836947ce0b281b240ffa4c55bbf5bd55':
AudioRecord: use audio attributes instead of audio source.
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
of audio source." into lmp-mr1-dev
* commit '390ef84373b7edd1397381f780ca235326357094':
AudioRecord: use audio attributes instead of audio source.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added AudioRecord constructor with audio attributes.
Replaced AudioPolicymanager::getInput() by getInputForAttr().
No new functionality for now.
Also:
- Fixed warnings in AudioPolicyManager
- Allocate audio session ID before calling getOutputForAttr() in
AudioTrack.
Bug: 16006090.
Change-Id: I15df21e4411db688e3096dd801cf579d76d81711
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
getOutputForAttr() prototype." into lmp-mr1-dev
* commit '121143d5242a790d0bd01fe1b9cec5d28a1ba1d7':
audio policy: new getOutputForAttr() prototype.
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
prototype." into lmp-mr1-dev
* commit 'bf14c62e7973ed793a3b00c2c67beca4484c1c7a':
audio policy: new getOutputForAttr() prototype.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update getOutputForAttr() prototype and group all logic
dealing with audio attributes to stream type conversion in
audio policy manager.
getOutputForAttr():
- specifies the audio session (for future use)
- returns a status code
- receives either stream type (for legacy) or audio attributes
- returns an updated streamtype
Remove logic dealing with legacy stream types to attributes conversion
from AudioTrack.
Use correct type for audio sessions in other APIs (startOutput() ...).
releaseOutput() specifies the audio session (for future use).
Bug: 18067208.
Change-Id: I1bfbe9626c04c7955d77f8a70aecfad2cb204817
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
into lmp-mr1-dev
automerge: 56df21d
* commit '56df21d760d70a106adfbc8417b6ea179d576e24':
Fix missing loop count for static tracks.
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
into lmp-mr1-dev
* commit 'f8c2d1665393d8e0620a7129ef3865f34489e6ef':
Fix missing loop count for static tracks.
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
StaticAudioTrackServerProxy::framesReady() previously returned
only the contiguous frames, update to return the total
available frames. This resolves short-count looping in
SoundPool for FastTracks.
Also (1) Removes the racy condition of reading two variables
and (2) Fixes buffer->mNonContig to return the correct value
and (3) Restores behavior that loop count of 1 goes back to
loopStart once during playback.
Bug: 11830751
Bug: 12070295
Bug: 17456842
Change-Id: I64906e6036bb00a1d7375b03efe6deb69d6478ca
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
lmp-mr1-dev
automerge: c9769c5
* commit 'c9769c557e202df671e35196c8c735b49257be7d':
AudioSystem: fix cross deadlock
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | | |
lmp-mr1-dev
* commit '568689b169d8b0ae2cc252b88602db5e5acaa604':
AudioSystem: fix cross deadlock
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Do not hold gLockAPS when calling
AudioPolicyService::registerClient() in get_audio_policy_service().
registerClient() will need to acquire the AudioPolicyService mutex and
if at the same time a method called from AudioPolicyService
(with mutex held) calls back into AudioSystem and get_audio_policy_service()
a cross deadlock occurs.
Same preventive fix for get_audio_flinger().
Use a separate mutex for notification client list in AudioPolicyService.
This prevents deadlocking if registerClient() is called as a consequence of
AudioFlinger calling back into AudioPolicyManager while executing a method
with AudioPolicyService locked
Bug: 18403952.
Bug: 18450065.
Change-Id: Ia832e41aede8bc6c843fc615508fbdd74e0863b5
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* commit 'd0e12a161471823d1ab269cb608be3f3b0a71ed1':
C++11 compatibility.
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '902dc42d79b075395d484ce1c71f215b199aaa2a':
C++11 compatibility.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Fix string literal concatenation to not be interpreted as UD
literals.
* Add constexpr compatibility for non-integral static members.
* Use __typeof__ instead of typeof (should become decltype once this
actually becomes C++11).
* Add an appropriate cast for atomic_uintptr_t, since moving to C++11
means moving from <stdatomic.h> to <atomic>, which has better
typechecking (hooray for not macros!).
Bug: 18466763
Change-Id: I9561dcb2526578687819ff85421ba80d8e1a9694
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
output cache" into lmp-mr1-dev
* commit '57426fc6486c6c2fa27f4bc6fcf3349282c3fdd7':
AudioSystem: Add mutex for output cache
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
into lmp-mr1-dev
* commit '4fd641be9fed70743ca4fe823b69e74c258ce275':
AudioSystem: Add mutex for output cache
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fix cross deadlock with AudioFlinger by adding
a dedicated mutex to protect access to cached output list
and parameters.
Bug: 18410728.
Change-Id: Ia31283b1972d8865a46e84e63695173c187eb781
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | | |
* commit '8c5ee61a057e3b87e8f0800b284642bf3b107fd0':
Fix struct vs. class mismatches
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | | |
* commit 'd86450b93ab3960ccd68aed14563aaa76b43ce9b':
Fix struct vs. class mismatches
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fix something being declared a struct and forward-declared a class and
vice versa.
gcc doesn't care, clang complains about the mismatch.
Change-Id: I7a7a8e9040e3c86fa1d73eb112631ea140861657
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* commit 'af238382e33a027494a53556e6104b7245e7213f':
Fix VideoFrame class layout for 64/32 bit
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
playback" into lmp-dev
* commit '584c14c370f141685b7e8963a13ed91584383ca1':
stagefright: do not allocate output buffers for tunneled playback
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* commit '57c27c55006f0137a8ad5a87ec62eb89084dcdc6':
Add missing #includes
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
AudioSystem::getOutputSamplingRateForAttr()" into lmp-mr1-dev automerge: 0e8a328
* commit '9ac0177da562b8f4d2ac6f001a16658a76e6aad8':
remove AudioSystem::getOutputSamplingRateForAttr()
|
| |\ \ \ \ \ \ \
| | | |_|_|_|/ /
| | |/| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
lmp-mr1-dev
automerge: 0e8a328
* commit '0e8a3284c6828e561f58e66a014c3b7ee37325cf':
remove AudioSystem::getOutputSamplingRateForAttr()
|
| | |\ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
It is safer to query the output sampling rate once the output
have been acquired by calling getOutputForAttr().
Bug: 16009464.
Change-Id: Ib561facd19fba5359a6b837d75f1a1cd2dc51b29
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
support" into lmp-mr1-dev
* commit '102b17b8276f1f364f214f5d943d887f61f71765':
stagefright: add runtime debug support
|
| |\ \ \ \ \ \ \ \
| | |/ / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
into lmp-mr1-dev
* commit '41907c44a597ceb258495715d3dd391fef2907e3':
stagefright: add runtime debug support
|
| | |\ \ \ \ \ \ \
| | | |_|_|_|_|_|/
| | |/| | | | | | |
|
| | | |/ / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug: 18285408
Change-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
async mode for recording" into lmp-mr1-dev
* commit 'b6c785eeeb8e265a64bc0210bcfbc6332d0291dd':
Stagefright: use MediaCodec in async mode for recording
audio policy: move intializations to onFirstRef()
|
| |\ \ \ \ \ \ \
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
for recording" into lmp-mr1-dev
* commit '08961d0b57f33e0486db2ff135f0f7fa4b1a8c58':
Stagefright: use MediaCodec in async mode for recording
audio policy: move intializations to onFirstRef()
|
| | |\ \ \ \ \ \
| | | |/ / / / /
| | |/| | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Async mode reduces the number of messages posted between
MediaCodec and MediaCodecSource. This reduces thread
wakeups and helps reduce CPU utilization.
Bug: 18246026
Change-Id: I4b0837f309fdd12e323c1dfa72525f5a31971a03
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
mediaserver death" into lmp-mr1-dev automerge: e662cd5
* commit '5239bad27472b9ae42be924a98850683e5e70476':
Improve AudioTrack recovery from mediaserver death
|
| |\ \ \ \ \ \ \
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
lmp-mr1-dev automerge: e662cd5
* commit 'b177468bb1647c79ba48cd0a172cf3306b31ad69':
Improve AudioTrack recovery from mediaserver death
|
| | |\ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
1. Fix race condition in handling of binder death notifications.
AudioSystem has a mixture of APIs for both ordinary app clients,
and the AudioFlinger and AudioPolicy services within mediaserver.
Due to this mix of uses, it is possible for there to be "surprising"
sequences of calls on the call stack.
Previously, we used a single mutex for all global variables, but
this caused a deadlock. To avoid the deadlock, we unlocked the mutex
during the critical sequence of calls. But this was a a
crucial place where it should have stayed locked;
see Change-Id I315c1c5066f62b05e1c13b04fae1272b5fbce977
Now we use separate mutexes for the AudioFlinger, AudioPolicy, and audio port
related global variables. This allows us to correctly hold each mutex
throughout the atomic region, even when AudioFlinger calls AudioPolicy
via AudioSystem, or vice-versa.
2. AudioSystem::clearAudioConfigCache now clears the IAudioFlinger reference.
3. Make AudioSystem::get_audio_policy_service more like get_audio_flinger.
Bug: 18242291
Change-Id: I9761443d8337df5bf66d4ca2316a9fd0bd11be94
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
onFrameAvailable" into lmp-mr1-dev
* commit 'f8d051fee37b1a0734e4142072d3053fed8df161':
Add a BufferItem parameter to onFrameAvailable
|
| |\ \ \ \ \ \ \ \
| | |/ / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
onFrameAvailable" into lmp-mr1-dev
* commit '034d674721029e3b7e34fe30ee31814c521b62bf':
Add a BufferItem parameter to onFrameAvailable
|
| | |\ \ \ \ \ \ \ |
|
| | | |/ / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Passes the BufferItem for the queued buffer to the onFrameAvailable
callback so the consumer can track the BufferQueue's contents.
Bug: 18111837
Change-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
lmp-mr1-dev automerge: c339a92
* commit 'caf27abc62e15abc628c04183d3188728fe98990':
AudioSystem: remove obsolete method.
|