| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Underlying bug 25195759 is not yet fixed.
Bug: 24263351
Change-Id: I04b644246640054d38c8de79e0eb80fcbfef0e48
|
|
|
|
|
|
|
| |
Send only EVENT_NEW_IAUDIOTRACK to initiate teardown.
Bug: 23750452
Change-Id: Ib5dcd578b5b6a6a1d91a03e58ef8da0acd994243
|
|
|
|
|
|
|
|
| |
Avoid a duplicate marker event race condition (1 in 30 or less)
by clearing marker reached in start() not stop().
Bug: 24497521
Change-Id: I9520d063c7d173d2e642174bf60a2bfe75edf085
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure that an offloaded audio track is torn down if
start() returns an error in onResume().
This makes sure that a track invalidated due to a potential
audio path change while paused is re created on the correct
output.
Bug: 22256441.
Change-Id: I6c7bfec6e7322415daffc0451bab46d0c558522a
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove unnecessary restoreTrack_l() position warning when
AudioTrack output device changes.
Also, fix rare getPosition() offset error if a static track is
continuously playing a long time (> 24 hours at 48khz sampling)
and its output device changes.
Bug: 22524122
Bug: 21699132
Change-Id: I5a35c13d62ff9f0702b09d5cd9362c730364b18c
|
|/
|
|
|
| |
Bug: 22533684
Change-Id: I2f46770dca44fc9dae41e067d3bec893c42a826e
|
|\
| |
| |
| | |
into mnc-dev
|
| |
| |
| |
| |
| |
| |
| | |
Centralized validation code
bug: 20701446
Change-Id: I9d9941c7639c05b2afe069ff4f858c693c910bfe
|
| |
| |
| |
| |
| | |
Bug: 21699132
Change-Id: I90443f8674ed949e2546048b231be75cd6fe6615
|
|/
|
|
|
| |
Bug: 21699132
Change-Id: Ib0d029a5e28676aeffbbbafc88c52a17367a413c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New or existing glitch behavior for Nexus 5 offload audio:
we receive several 0 timestamps,
then we get a stale timestamp (very large),
then a few ms later we get a correct nonzero timestamp.
We attempt to hide the glitch because the retrograde timestamp
correction makes the glitch "sticky".
Bug: 21633313
Change-Id: I39153af718c151f9435e7d315651a811f72743da
|
|
|
|
|
|
|
|
|
|
|
|
| |
Callbacks can go into a sleep-wait cycle if the client/app is unable to
deliver data. This can happen if the buffer is large, or if
the client/app cannot keep the buffer filled, or upon a stream end condition.
We improve the sleep time computation for AudioTrack PCM callbacks.
This minimizes the number of callbacks to NuPlayerRenderer.
Bug: 21198655
Change-Id: I4247798a6638def2f0d8f1b46f60323482065cb2
|
|
|
|
|
| |
Bug: 21198655
Change-Id: I24590196642a97ea5d61bc6356f0aff782bd37d3
|
|
|
|
|
|
| |
Bug: 19061432
Bug: 21370108
Change-Id: Iaa757555ef37fd1ac87b6e2d5a9969bb58cc5ebc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add class AudioSystem::AudioDeviceCallback notifying
AudioSystem clients upon device selection change on a given
input or output thread.
Maintain a list of installed callback per I/O handle in AudioSystem
and call registered callbacks when an OPEN of CONFIG_CHANGED event
is received on IAudioFlingerClient::ioConfigChanged().
Add methods to AudioTrack and AudioRecord to add and remove device
change callbacks.
Add methods to AudioTrack and AudioRecord to query currently selected
device.
ioConfigChanged() events now convey the audio patch describing
the input or output thread routing.
Fix AudioRecord failure to start when invalidation is
handled by start().
Change-Id: I9e938adf025fa712337c63b1e02a8c18f2a20d39
|
|
|
|
|
| |
Change-Id: I96aced52b136ceea924aa3d9ef56374dd4c49784
Signed-off-by: Phil Burk <philburk@google.com>
|
|
|
|
|
|
|
| |
Bug: 18249558
Bug: 19666434
Bug: 20057497
Change-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605
|
|
|
|
|
|
|
| |
Using format %llu did not work for uint64_t on 64-bit systems!
Change-Id: I727094e460141b9da3e433ceaa95e069dad948bc
Signed-off-by: Phil Burk <philburk@google.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The retrograde motion was confused by some positions coming from
the DSP on offloaded tracks. So the retrograde check was moved up
into AudioTrack.cpp. This allows us to take advantage of the checks
for invalid positions based on timing.
Bug: 2047891
Change-Id: Ifcad2349201443a7f1711347c203297100449536
Signed-off-by: Phil Burk <philburk@google.com>
|
|/
|
|
|
|
|
|
|
|
|
| |
- Clear session routes when client process dies.
- Enforce the route only when the requesting session is active.
- Fix requested route not working if an output mix change is required
(e.g forcing to SPEAKER when the default route is USB or A2DP).
- Make sure all sessions sharing the strategy with a rerouted session
have the same route (needed for volume control consistency)
Change-Id: I0ab347a8fb97e73e2c5965374544c5f4fe509ef1
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|