| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Bug: 23291988
Bug: 23614327
Bug: 23924081
Change-Id: Id1a519ed4bb2a6f4cb197da8450f7069b55c0d48
|
|
|
|
|
|
|
| |
This reverts commit cafe86a9cb6625bb1ec6383e16e28e4c9e455f87.
Bug: 23924093.
Change-Id: I186d1013b06a286eca93c30bb9b3545dc36695ff
|
|
|
|
|
| |
Bug: 22938515
Change-Id: I1de653de169a3fbbaa693da6057897ea57772447
|
|
|
|
|
| |
Bug: 11671194
Change-Id: Id48350264f8b5ce53bf7ce2b308bf4ba21e59241
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Bug: 19196501
Change-Id: I6411e1d3ce652b711a71a6d9df020cb5f60d4714
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I3cc3af221ad5797ff219d75227350733afa180db
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Change-Id: Ia3aab8590cd41e8a7cba0a7345d70d2866d92045
|
|/
|
|
|
|
|
| |
Allow creation of audio patches between input and output
devices managed by the same audio HW module.
Change-Id: I4b83268a4d5c41f3d5905d7581202cf5193efd32
|
|
|
|
|
|
|
|
|
|
| |
Fix a bug in audio HAL pause logic on output threads with
HW A/V sync preventing the HAL to enter standby when
the audio track is stopped and detroyed.
Bug: 19980184.
Change-Id: Ia497dad23159038b447fcbc18a67bb61b70b79cc
|
|
|
|
|
|
|
|
|
| |
Prevent retrograde motion in the HAL or drivers from making it
up through the AudioFlinger to the app.
Bug: 19604395
Change-Id: I11d6c0f7cab69e75fd4b4a2a90f64960b4bb6d5a
Signed-off-by: Phil Burk <philburk@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
False underrun is detected when starting recycled fast tracks, which
leads to continuous fatal assertion failures and even AP reboot.
Track's last mObservedUnderruns isn't updated one at previous stop()
call. Hence, when we start the same track again, we should synchronize
it to the latest state instead of relying on stale one.
authored-by: Weiyin Jiang<wjiang@codeaurora.org>
CRs-Fixed: 803389
Bug: 19635137
Signed-off-by: Andy Hung <hunga@google.com>
Change-Id: Ia003a49c6896dba965798c062c98b8c367ef8369
|
|
|
|
| |
Change-Id: I163f9d3d216c283ae1160ce4802e5247cf44fba7
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
It is not necessary to start the downstream MixerThread early,
rather allow stop() to flush the remaining frames.
Change-Id: Ibcf8e7f5eda09d0f915d50697ff0c24c32fd11c4
|
|/
|
|
| |
Change-Id: I1967861f383bb5ed6743fb69e3bd439907ed7033
|
|
|
|
|
|
|
| |
Update OutputTrack to take variable formats.
Previously conversion to AUDIO_FORMAT_PCM_16_BIT was required.
Change-Id: I4a96a60ddd8d8dfe651405a0bcd4f98c89bc1ade
|
|\
| |
| |
| |
| |
| |
| | |
pause/resume for direct outputs" into lmp-mr1-dev
* commit '85aca658ac7d20584b0647427256df50a5f243ef':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
getOutputForAttr() prototype." into lmp-mr1-dev
* commit '121143d5242a790d0bd01fe1b9cec5d28a1ba1d7':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
stream types
* commit '72215491c60fbcdb9a2f0be782e24e39cca249c5':
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
|
|\ \
| |/
| |
| |
| |
| |
| | |
from mixing data" into lmp-mr1-dev
* commit 'a248703b0799a9a27481f0ec13df90214a661eb5':
Prevent stopped audio tracks from mixing data
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Static tracks should have zero framesReady when stopping or stopped,
to prevent mixer from running potentially indefinitely with loop mode.
Bug: 16070883
Change-Id: Iab9968044d1a6f8543bbcbfb246f49f27d68cace
|
|\ \
| |/
| |
| |
| |
| |
| | |
mix buffer in AudioTrack::getTimestamp" into lmp-dev
* commit '12d0cd1bf756ec96755fae2e573659898bfba6d6':
Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The per-thread timestamp latch was not synchronized with the per-track
released frames. Now the value of each track's released frames is
latched along with the timestamp.
Bug: 17531839
Bug: 17669342
Change-Id: I9d50c8c6a5de55a3f4561ac40e20d497376c1257
|
|\ \
| |/
| |
| |
| |
| |
| | |
normal mix buffer in AudioTrack::getTimestamp"" into lmp-dev
* commit '0e42a8807edec5541ecac4a050459fbb72c477dc':
Revert "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp"
|
| |\
| | |
| | |
| | | |
AudioTrack::getTimestamp"" into lmp-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 54464ba861aaafd11ee5645f5d1ecd1171c6e9fe.
Bug: 17733142.
Change-Id: I9886d40032b2f7d96bee03e600e14f78943d8052
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
AudioTrack::getTimestamp" into lmp-dev
* commit '785da8f542120e49d29289947e69aba180c1724b':
Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp
|
| |\ \
| | |/
| | |
| | | |
into lmp-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The per-thread timestamp latch was not synchronized with the per-track
released frames. Now the value of each track's released frames is
latched along with the timestamp.
Bug: 17531839
Bug: 17669342
Change-Id: I96252782911bd42a2534cc4030521b7eeb99a7b9
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
output streams" into lmp-dev
* commit 'e0270e79066825bb232ef5f271ac9ef84ce91b0f':
audioflinger: forward flush to direct output streams
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Track flush should be forwarded to the audio HAL when playing
on a direct output stream.
Bug: 17704953.
Change-Id: Iafc94327fe9aebf1d4eaa97b76c6767b7ac5babe
|
|\ \
| |/
| |
| |
| |
| |
| | |
leak" into lmp-dev
* commit 'f5e9870228db68d9cb927ff49f2e46dabfb7bbec':
audioflinger: fix pre processing effect leak
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a capture thread was closed, the effects attached to this thread
were left dangling and the associated effect chain destroyed.
When their last client was disconnected, the effects were not released
properly from the effect library because the destruction process could
not be completed without the effect being attached to a thread.
A similar problem prevented a RecordTrack to be properly released if
its client was destroyed after the capture thread.
The fix consists in allowing the effect or record track to be properly
released even if its parent thread cannot be promoted.
Also save any effect chain still present on a closed capture thread
in case a new client wants to reuse the effects on the same session later.
Bug: 17110064.
Change-Id: I5cd644daa357afd1f3548f9bcb28e6152d95fdb8
|
|\ \
| |/
| |
| |
| |
| |
| | |
debugging" into lmp-dev
* commit '955d8f906e920fe8da66e7943a7f2bfa98422e19':
Restore the ability to build tee sink for debugging
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changelist does not enable tee sink, but makes it possible to do so.
Tee sink had suffered some bit rot since it is not built by default.
Also fixes a crash for > 2 byte per sample or > 2 channels.
Still does not write correct header for floating-point;
that will be best solved by moving to libsndfile.
Bug: 16990102
Change-Id: I8e92c588ccc513d7802d696fcfb324e815772df6
|
|/
|
|
|
| |
Bug: 11815245
Change-Id: I94885a1b4c2c7c055b8eacc7f7d0fcd064094b6d
|
|
|
|
|
|
|
|
|
| |
Add possibility to use sink and source devices not on
the primary HW module for voice calls (e.g. USB headsets).
Bug: 15520724.
Change-Id: Ib27db4ba759b6d91ea1104dc2e35c87733517b30
|
|
|
|
|
|
|
|
| |
Indicate the audio session ID when calling getInput(),
startInput(), stopInput(), releaseInput().
Bug: 12378680.
Change-Id: I763793752f93e2f4e1445a5ab217c895af011038
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for audio device connections between different audio
hw modules.
The patch is performed by creating a bridge between the playback
thread connected to the sink device and the record thread connected
to the source device using a pair of specialized PlaybackTrack and
RecordTrack.
- Added PatchTrack and PatchRecord classes.
- Added TrackBase type to indicate more clearly the track behavior.
- A TrackBase can allocate the buffer or reuse an existing one.
- Factored some code in openOutput() and openInput() for internal use
by PatchPanel.
Bug: 14815883.
Change-Id: Ib9515fcda864610458a4bc81fa8f59096ff4d7db
|
|
|
|
|
|
| |
introduced by Change-Id: I4e9b7fa99858b488ac98a441fa70e31dbba1b865
Change-Id: I9a0c8800f5cf3767cc259776f95c96cad972e392
|
|
|
|
|
|
| |
Show per-track sample rate, and whether there is a fast capture thread
Change-Id: If6a08a40d1eeba0690aa8da3c541f845ec101b7f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use floating point volume in AudioMixer mixing when floating
point input is used with the new mixer engine.
AudioResampler is updated to take floating point volume to match.
Both legacy integer and floating point mixer engines work.
For now, integer volume is used when the new mixer engine
runs in integer input mode, for backward compatibility with
the legacy mixer. The new mixer engine will generally run in
floating point input mode. When the legacy path is removed,
the integer volumes will be removed.
Change-Id: I79e80c292ae7c8b8bdd0aa371a1b2c3a1b618290
|
|
|
|
|
|
|
|
| |
Remove mBitDepth from class (not used).
Replace with audio_format_t in factory method to distinguish
between float and pcm 16-bit.
Change-Id: I166860796c68285077ef4458d8758d19b82523f9
|