| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use this struct to handle the parameters for TimestretchBufferProvider all
across the system.
Add stretch mode and fallback mode to TimestretchBuffer Provider.
Change-Id: I19099924a7003c62e48bb6ead56c785cb129fba2
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Have AudioTrack::setOutputDevice() set CBLK_INVALID flag instead
of calling restoreTrack_l(). This allows restoreTrack_l() to be called in
a safe context.
Allow device change while the AudioTrack is active by forcing a new
device selection in startOutput() if the output route for this
session was changed.
Remove some warnings.
Change-Id: I2d921a63c9bfa0e122233645e2d6d39f95f5f17d
|
|
|
|
| |
Change-Id: Ic00d2c5d0bbb1605e96666e25c9ccc22bea6d3ff
|
|
|
|
| |
Change-Id: I3e057b97c250a826133248b6aa1ff9ed677d88df
|
|\ |
|
| |
| |
| |
| |
| |
| | |
And fix error handling in both AudioRecord and AudioTrack.
Change-Id: I4853d736cc6d2c05de5b18b0eac62716edfa62ec
|
| |
| |
| |
| |
| | |
Bug: 19196501
Change-Id: I6411e1d3ce652b711a71a6d9df020cb5f60d4714
|
|/
|
|
| |
Change-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc
|
|
|
|
|
|
|
| |
This is needed for a SoundPool fix.
Bug: 19970735
Change-Id: I46b69e059aabf0d06b16b31ea436bb71f7146750
|
|
|
|
| |
Change-Id: I9d61b3d117e9b21fbbfad772d8981a5abb8fafae
|
|
|
|
|
|
|
|
|
|
| |
Move log of latency to where it is first computed.
Log more parameters when a fast track is denied by client.
Log session ID in destructor.
Remove obsolete ALOGV that were for debugging a particular problem.
Log more parameters of set().
Change-Id: I0156bceaf397f2faa053214572c57136705685ee
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 19802225
Change-Id: I19ca7836bc89627f6cead4961641b94c6b27b5f6
|
| |
| |
| |
| |
| |
| |
| | |
session ID check
buffer error code check
Change-Id: I092a61adfd249122f9127dceedf67c0a3bdcfe7b
|
| |
| |
| |
| | |
Change-Id: Ie8f9d42fc061f6d558f23b98414e04eb3d14b376
|
|/
|
|
| |
Change-Id: Ie8593692907e67558f9d7654c9a4bf8cbce99bd8
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix mismatch between track flags on client and server side
when HW A/V sync is requested.
The audio track was connected to a direct output by the audio policy
manager but the client failed to set the direct flag when creating
the track resulting in the direct flag not being set in audio flinger.
Bug: 19665934.
Change-Id: I0a5257b20bf76c9c4d89bc2ad9b44777b81f13bf
|
|
|
|
| |
Change-Id: I8fa20c26f076567b38210af4a680fe1cb2eacee4
|
|
|
|
| |
Change-Id: I1f61d7e3d057c3254babe456b4aa0f6a1809da55
|
|
|
|
| |
Change-Id: I31ac20863107de05b83cd7f8cd7dd61bed98e456
|
|
|
|
| |
Change-Id: I0eb178d1ab4eea7f72f4c55852c19b216ca55f5f
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move computation of minimum AudioTrack buffer size to server
for normal streaming PCM tracks.
Use server-side computation to exactly determine requirements
for the resampler to avoid triple buffering.
This reduces latency for normal audio tracks that require resampling,
and makes things consistent with the minimum buffer size.
Change-Id: I2f2ca0e599ee20e16559bc5c5dab61ed100da16c
|
|
|
|
|
|
|
|
| |
Previously conversion to AUDIO_FORMAT_PCM_16_BIT was required.
Client shared memory for static tracks and AudioFlinger track creation
and buffer delivery now use native 8 bit PCM data.
Change-Id: I485c07a4971fde9a25442bd43fed95019d39abcc
|
|
|
|
|
|
|
|
| |
Time for AudioTrackThread sleep due to periodic notification
needs to be computed from actual position.
External reported AOSP issue 65807.
Change-Id: Ic46b64588e6c5803afcd8252cde8837eb3fbf6ff
|
|
|
|
|
|
| |
Used for setMarkerPosition and setPositionUpdatePeriod.
Change-Id: I0d94b929438a5cd94b295d7c1884f876fae8b5e7
|
|
|
|
|
|
|
|
| |
Fix timing computation to consider current position.
Fix EVENT_LOOP_END count accuracy (some could be dropped before)
for non-infinite loop static AudioTracks.
Change-Id: I255f692915b55ab6f08ccd6a2365fee3f5d0a4fe
|
|
|
|
|
|
|
|
| |
Allow restoration of loop and position.
Make position and loop synchronously readable.
Bug: 17964637
Change-Id: I8cfb5036e665f55fdff5c67d27e1363ce9a8665d
|
|
|
|
|
|
|
| |
Allow independent setting of position and loop.
Bug: 17964637
Change-Id: I8b3bd97a244b932728b68da7684044f2636984a5
|
|\
| |
| |
| |
| |
| |
| | |
direct outputs" into lmp-mr1-dev
* commit 'd33712d7ec5dcf427cc0be9b7d2ca1c99823c8e6':
audioflinger: implement pause/resume for direct outputs
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extend pause/resume support to direct output threads
(was only for offload threads).
If the HAL implements pause/resume, track pause/resume is forwarded to
the HAL.
Pause, flush, resume sequence is respected by executing the HAL
calls in the playback thread (same as offload).
Make sure the track flags on client side are consistent with the
flags on server side.
Bug: 17883772.
Change-Id: I89b360d69818f7a9204bd36e3ec63a79e106ecf1
|
|\ \
| |/
| |
| |
| |
| |
| | |
into lmp-mr1-dev
* commit 'c49d9cda49dab8b7dd0376cf56476b3e1895d5c6':
audio policy: add support for custom mixes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for custom mixes in AudioPolicyManager.
Two methods are added to register or unregister a list of custom mixes
with their attributes and format.
getOutputForAttr() and getInputForAttr() first look for a match in
registered mixes before defaulting to normal output/input selection
Remote submix device connection disconnection now takes address into
account to identify the correspnoding custom mix.
Bug: 16009464.
Change-Id: I3f1c2a485a0fb71b1f984ed0adc9b68aa971e408
|
| |
| |
| |
| |
| |
| |
| |
| | |
If track is restored when it set its volume to a non-unity value (such as mute),
the volume was forced to unity again. Now, the previous volume is restored.
Bug: 18570664
Change-Id: I79f34c6c7d6f535baba813fd3b8ba8e55cac8ad7
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
track is restored"
* commit 'bde85d05414cdd3888071635dd05e9ff78679d5e':
Track volume should be maintained even if track is restored
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If track is restored when it set its volume to a non-unity value (such as mute),
the volume was forced to unity again. Now, the previous volume is restored.
Bug: 18570664
Change-Id: I79f34c6c7d6f535baba813fd3b8ba8e55cac8ad7
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
buffer start" into lmp-mr1-dev
* commit '1e18795a4847e9368baa7ecee146d3901b283cd0':
Fix AudioTrack loop mode to play audio from buffer start
|
| |\ \ \
| | |/ /
| |/| |
| | | | |
lmp-mr1-dev
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 18217633
Change-Id: Ica77acf0a32832d9b04eb657ef2f4f5329f8fbda
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* commit '1a475921c0577a4650d1bbe40a85b732d1766939':
audio: new routing strategies and stream types
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added new routing strategies and stream type for internal use
by audio policy manager and audio flinger:
- One for accessibility to allow different routing than media
- One for re-routing (remote submix) in preparation of dynamic
policies
- Added stream type for "internal" audio flinger tracks used
for audio patches and duplication.
Bug: 18067208.
Change-Id: I88f884b552e51e4a49c29125e5a1204cf58ff434
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
A2DP when suspended." into lmp-mr1-dev
* commit 'bfa77b5c687f217e26267693306aaa6cc8a63672':
audio policy: do not prevent routing to A2DP when suspended.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow A2DP sink selection even if A2DP is suspended.
It is not because use of A2DP is temporarily disabled by SCO
selection that the policy rule routing a given use case
to A2DP should be altered. The source will be routed to A2DP
but it will remain silent until suspend condition is cleared
which is the purpose of suspend mode.
Also make sure that accessibility prompts are audible while in call
by forcing stream type to STREAM_VOICE_CALL.
Fix inconsistent logic between AudioTrack::setStreamTypeFromAttributes()
and AudioPolicyManager::getStrategyForAttr()
Bug: 18095151.
Change-Id: I1c75dd8288ed3dd494eb942060eac9c9660dca50
|
|\ \ \
| |/ /
|/| /
| |/ |
Change-Id: If10a9cc17245f95d5e10b1507445abbb4020670e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to use the new static version.
Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
Conflicts:
media/libmedia/IAudioFlinger.cpp
media/libmedia/IMediaPlayer.cpp
media/libstagefright/CameraSource.cpp
|