| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
AudioTrack::getTimestamp"" into lmp-dev
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 54464ba861aaafd11ee5645f5d1ecd1171c6e9fe.
Bug: 17733142.
Change-Id: I9886d40032b2f7d96bee03e600e14f78943d8052
|
|\ \
| |/
| |
| | |
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
|
|/
|
|
|
|
|
|
| |
Track flush should be forwarded to the audio HAL when playing
on a direct output stream.
Bug: 17704953.
Change-Id: Iafc94327fe9aebf1d4eaa97b76c6767b7ac5babe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Add support for compressed audio playback by use
of an AudioTrack attached to a direct output thread.
Bug: 9428304.
Change-Id: I4a61be9cf0e31003ca85935d6e0ee38ca8192e03
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After releasing a reference to a shared memory interface,
IPCThreadState::self()->flushCommands() must be called to ensure
that the corresponding reference is also cleared immediately in the
remote process. Otherwise the binder implementaiton will not
push the clear systematically causing the memory region not to be freed.
See issues 10711502 and 2801375.
Bug: 14057166.
Change-Id: If55f36f00d452d6cf00cf83bd2fba1c8f3abcb57
|
|\
| |
| |
| | |
lmp-preview-dev
|
| |
| |
| |
| |
| | |
Bug: 15523502
Change-Id: Ifd4aa7fca197bc041c1620fc3f7d953a8902551a
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 9128d6ffec43731d723f9b394f243d940f4c7e41
Author: Glenn Kasten <gkasten@google.com>
Date: Tue May 13 10:38:42 2014 -0700
Use of fast capture by normal capture
Will only configure fast capture path if the input buffer size is less than
10 ms and the input sample rate is same as the primary output sample rate.
Change-Id: I4a7cdc6069d750845412c626d27e83f72a1ab397
commit 2e5e0806a5abe7499848358ef5fde5c26405000d
Author: Glenn Kasten <gkasten@google.com>
Date: Mon Jun 2 08:29:22 2014 -0700
Add mPrimaryOutputSampleRate
Change-Id: I46b527fc3f2b5a5720a74b4f0b9a8f2e0d570b09
commit baf1d73467923996d1b1f2a9237260cc5697e050
Author: Andy Hung <hunga@google.com>
Date: Fri May 30 10:42:03 2014 -0700
Change parameter type for volume to float in AudioMixer
Change-Id: I4da1505ce852505f86f8e5b87f60e8edceeb30e0
commit 40fe20fa9760cd03c69778c2021cf7a490d75ece
Author: Andy Hung <hunga@google.com>
Date: Fri May 30 10:35:47 2014 -0700
Rename UNITY_GAIN to UNITY_GAIN_INT in AudioMixer
Change-Id: Ic040311305026f0b4c4280a5b3bef7a447ac1da3
commit 37c9a2b49f876abc5ff537a9ec036d7f0a423775
Author: Andy Hung <hunga@google.com>
Date: Thu May 29 21:33:13 2014 -0700
Refactor setVolumeRampVariables in AudioMixer
Change-Id: I8fcf3101bcea292de7c65433fa578f1c9cdd0974
commit 397070eca31f121d5d3993de1bfea99aaea5d4f3
Author: Andy Hung <hunga@google.com>
Date: Thu May 29 18:52:38 2014 -0700
Fix floating point output from mixer
A buffer pointer was being erroneously reset to buffer start,
potentially causing an audio glitch. The floating point
output mode is not enabled at this time, but will be in
the future.
Change-Id: If8b6414d232f064f3a2e2c5a6da889a91b27fb24
commit 2e61aa5b33b2247bbc5d4eaa0b519df9accd4bbc
Author: Andy Hung <hunga@google.com>
Date: Fri May 23 21:22:17 2014 -0700
Add multiple format capability to FastMixer
Floating point data from MixerThread into FastMixer.
Multiple output format capability from FastMixer to Sink.
Change-Id: I0da17810ee71381a39a006c46faec71108d22c26
commit b9ea653c702a785bbd23a66c5e588d40b4192c4e
Author: Andy Hung <hunga@google.com>
Date: Thu May 29 15:53:09 2014 -0700
Avoid resetting BufferProviders in mixer unnecessarily
Change-Id: Iad85c4dfd21be1dbf89dc11906106b34219376f8
commit 7f1a6d6da21c616f80cf9ba21bea11b419ec561b
Author: Andy Hung <hunga@google.com>
Date: Tue May 27 12:32:17 2014 -0700
Update dynamic resampler buffer fetching
Make the criteria tight for fetching to avoid storing
excessive frame data internal to the resampler.
This should reduce jitter in frame delivery computation.
Bug: 14962343
Change-Id: I7adaf714d11c272696ccdbf218bda994c7217477
commit b5e4aac07b9a02f0c803c090058602b03ac09ebb
Author: Glenn Kasten <gkasten@google.com>
Date: Tue May 27 12:30:54 2014 -0700
Allow kFastTrackMultiplier to be specified per device
Change-Id: I4eaaaf038df720cec4f5d9221d1b632970f9e3dd
commit b93cd97a52af31122df2da2cc0415cda888c8c73
Author: Andy Hung <hunga@google.com>
Date: Fri May 23 21:13:31 2014 -0700
Rename mixBuffer to mMixerBuffer in FastMixer
Likewise mixBufferState becomes mMixerBufferState.
This harmonizes with the naming in AF::MixerThread.
Change-Id: I1255d7c07cc2c6ee925d7430925236d2bd163122
commit 8340758622b9711365a8801806cbdf934803c63f
Author: Andy Hung <hunga@google.com>
Date: Mon May 12 16:51:41 2014 -0700
Add multiple format capability to AudioMixer
Change-Id: I04ac1cafd90b6ed652f8d51888ad07576678f0bc
Signed-off-by: Andy Hung <hunga@google.com>
commit 6b695b9d094820c232a897a3fabbe83d2b7193fe
Author: Glenn Kasten <gkasten@google.com>
Date: Thu Mar 13 14:59:31 2014 -0700
Start adding FastCapture based on FastThread WIP
This version supports at most one fast capture client.
Change-Id: Idf609bfc80ae22433433d66a5232c043c65506df
commit e951ad05a2c388471d7e2806d91e7d51325a150a
Author: Glenn Kasten <gkasten@google.com>
Date: Mon May 12 11:06:26 2014 -0700
Move validation of frameCount from set to openRecord_l
This move is needed because frameCount is validated on server side for
fast tracks (as should be done for normal tracks too).
Change-Id: I6d99e80869fd90fab373cf60ef348c01f075fbca
commit 73e76992dbba794894837c38e5472312ea829cf3
Author: Glenn Kasten <gkasten@google.com>
Date: Tue May 13 10:41:52 2014 -0700
Allow track buffer "allocation" to be from pipe
Change-Id: Ib9ac170f8e8b7746b3588157a56cbee3b753a1cb
commit 60de1d7ded05c6304037d4858b401094b1d2b4d3
Author: Andy Hung <hunga@google.com>
Date: Fri May 9 15:02:21 2014 -0700
Add format parameter to getTrackName() and track_t
Change-Id: Ia152a839014e235fbfb656104c15d7c1b456d02e
Signed-off-by: Andy Hung <hunga@google.com>
Change-Id: Ied0ade8b25d23e89bb03319a7e3135c238f735b9
|
|\
| |
| |
| | |
Change-Id: I5cf238fa56d6fff443b212870cf9dd7f1110e7da
|
| |\
| | |
| | |
| | |
| | | |
* commit '3b6da6bfb50a1c0324fb4c87326d3a477944d5fe':
Move frameworks/av off private API.
|
| | |
| | |
| | |
| | |
| | | |
Bug: 11156955
Change-Id: Ib3bb9d66a2bf92977c2445b62aa074a2d7a45aea
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: Iabbe3e95e29f28461ff722b550e8a9f35bd2528f
|
| |\ \
| | |/
| | |
| | |
| | | |
* commit 'd084206d5a4a5364211af46e4201311933e83bfc':
Move frameworks/av off __futex_syscall3.
|
| | |
| | |
| | |
| | |
| | | |
Bug: 11156955
Change-Id: I943080bc51b6efa781059b48b5b5ecc4fa287512
|
| |\ \
| | |/
| |/| |
|
| | |\
| | | |
| | | |
| | | |
| | | | |
* commit '3c9130a8a12ce962dc8d22e04243b135b9e98b01':
Make frameworks/av 64-bit compatible
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ia658ab4b6320d19fdb50f123c930918724ff0ef3
Signed-off-by: Andy Hung <hunga@google.com>
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This will allow (eventually) a greater dynamic range for gains.
However there are still a few remaining places in effects and mixer
that will also need to be changed in order to get the full benefit.
Also fixes a minor bug: was not checking for NaN in AudioTrack C++.
Change-Id: I63bce9e82e0a61546d8ff475fb94bcb700d99c96
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I6bd48292310be4e05758a11f617f50585904422d
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a specific mutex to protect access to mClients and
mNotificationClients lists. This avoids locking the main AudioFlinger
mutex from inside thread loops and allows not to worry about
cross deadlocks when sending a config event with status reply while
keeping the ThreadBase or AudioFlinger mutex locked.
As a way of consequence, remove notification client list passed to
processConfigEvents_l() and audioConfigChanged() as the list
can now be accessed by locking client mutex only.
Change-Id: I228022204b6709a8bb60cc96d9514a6ffe59b62e
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Id20b5efd765b9796b0e391610e06dc928a829ebf
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
openRecord() now explicitly returns the control block and data buffer
as separate IMemory references. If the IMemory for data buffer
is 0, this means it immediately follows the control block.
Change-Id: Ic098f88f0e037f8fbe30006689e18cacacf09d06
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit 'e80631aa1992ca50af679cd6a018c0ffda7f9b17':
media: use size_t for integer iterator to Vector::size()
media: 64 bit compile issues
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '839d11d1f7be9dff2f06c7d30a9eb39cb6782078':
media: use size_t for integer iterator to Vector::size()
media: 64 bit compile issues
|
| | | |/
| | |/|
| | | |
| | | | |
Change-Id: I0a744dc7815a86a993df9b0623440be620ec8903
|
| |\ \ \
| | |/ /
| |/| /
| | |/
| | |
| | |
| | | |
condition
* commit '632c3790523896260dc43fd6cd40a158765cdb15':
audioflinger: update track ready condition
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Signal track ready if the track isStopping().
Bug: 12423190
Change-Id: I95e14905df10ebf301e398263478c8ca25d7e2ce
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
LOG_FATAL is compiled out in most builds, so the
assertion checks were not being performed.
Change-Id: I774f0985ab9c5ccecd8989a0f1c940386b73fc35
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
AudioFlinger can miss resuming h/w on a pause->resume transition
if sufficient data isn't available
Bug: 11358524.
Change-Id: Ic3c75256290d3515fd4a96dfcc900909fbe5bc15
|
| | |
| | |
| | |
| | |
| | |
| | | |
Set FS_FILLED only if framesReady() > 0
Change-Id: Ibb1d2e988ff17fcf3a7ab61031a3f85df82f18d5
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
-Pre-requisite:
Perform seek on the clip. After seek the data remaining till EOS
is little more than the driver and common block buffering.
-Framework state:
Offload thread is waiting for signal from the HAL for a free
buffer. Audio Player calls sink stop on reaching EOS. Audio
track is waiting on obtain buffer for a free space in common
block to send the last buffer. The track is moved to stopping
state as input EOS is reached.
-Issue:
Perform pause/ resume in this state(STOPPING), Audio playback
does not resume.
-Fix
Ensure resume is called in stopping state if frames ready is
greater than zero.
Bug: 12870871
Change-Id: Ib1378c4ee5ce4bea655691e93de0775f7b1d2804
Signed-off-by: Glenn Kasten <gkasten@google.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
And simplify error case
Change-Id: I0bb1ec252945d672cc4cef137977b912f1b23d51
|