| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Look at client's request for a fast track in the flags parameter,
and check whether the request can be satisfied.
Change-Id: I65ddaeb1b85670fe9066076f638bfed0cda01c0d
|
|
|
|
|
|
|
|
| |
The flags are currently unused, but will be used for requesting a fast
track. Making flags in/out will allow reporting back up to client that
the request is denied.
Change-Id: Ifbee57da3632ce130551065a426577fb97b1a68d
|
|
|
|
|
|
| |
This will allow AudioFlinger to tell client it is denying a request.
Change-Id: Iff2be3ad6636371bbda9c9899a283c94620c1f06
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a regression that was introduced earlier
by commit 9f80dd223d83d9bb9077fb6baee056cee4eaf7e5
called "New control block for AudioTrack and AudioRecord".
That commit broke underrun reporting for fast tracks.
Also remove Track::mUnderrunCount, which counted the number of underrun
events, and was only used by dumpsys media.audio_flinger.
Now dumpsys media.audio_flinger reports the number of underrun frames,
Isolated underrun-related control block accesses via the proxy, so that
the server is not directly poking around in the control block.
The new proxy APIs are AudioTrackServerProxy::getUnderrunFrames() and
AudioTrackServerProxy::tallyUnderrunFrames(). getUnderrunFrames() returns
a rolling counter for streaming tracks, or zero for static buffer tracks
which never underrun, but do a kind of 'pause' at end of buffer.
tallyUnderrunFrames() increments the counter by a specified number of frames.
Change-Id: Ib31fd73eb17cbb23888ce3af8ff29f471f5bd5a2
|
|\ \
| |/
|/|
| |
| | |
* commit '6d4d879037a495f9a4276a6996d1845594ce9090':
Fix mismatched delete/new couple
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In RecordThread::readInputParameters(), mRsmpInBuffer is allocated
with new[] and should be freed with delete[] instead of delete.
This error has been found by valgrind.
Change-Id: I2f947abb658a21a7d1e61eebb99270cb37d2d147
Signed-off-by: Andrei V. FOMITCHEV <andreix.fomitchev@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: Ie071673875f663de4212eed4a4dff89d51a5a915
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is part of a series of CLs to clean up the shared memory
control block, by removing any fields that don't have to be there.
Change-Id: I6e51003a1293b6800258c31b22cff2eba42162e7
|
| | |
| | |
| | |
| | | |
Change-Id: I7b6d31e24531954ab1ecdf3ed56c19433700bd89
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently there are 16-bit PCM assumptions in several places for capture:
- resampler API
- mRsmpInBuffer and mRsmpOutBuffer
- RecordThread::threadLoop upmix, downmix, and resampling
- possibly other places
Until those assumptions are removed, this CL enforces 16-bit PCM in both
client and server at all places where a format is checked.
Change-Id: I08b0570bff626ad0d341804825a72c14e61b4233
|
| | |
| | |
| | |
| | | |
Change-Id: Ieabd91acee92d0e84e66fbd358df5282b856306e
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In two places we assumed that TrackBase::sampleRate() would return the
same value when it is called twice in the same function. This is not
guaranteed; sampleRate() reads from the control block so the return
value could change. To fix this, only call sampleRate() once and cache
the return value to get a consistent value.
This was only a theoretical race. In MixerThread::prepareTracks_l()
it would have no bad effect. In TimedTrack::getNextBuffer() it could
cause a real problem, but we don't currently support dynamic sample rate
ratios for timed tracks.
Change-Id: I8e5c33f0121fc058d1e70c2ab5e9135397d3e0b7
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Only keep them in performance-sensitive code
Change-Id: Ib257ddd7bc39ce9896997ffae008c524ac743d01
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This prepares for using it in PlaybackThreads later
Change-Id: Id90a92aa6372e4b69914b0008cef07296ca5d6a3
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move mNormalFrameCount and frameCountHAL(), since they're not used by
record threads. Also comment which fields are updated by readParameters().
Change-Id: I5fc0a8a89cc637976f22d49271a5a3e136dab4e1
|
|\ \ \ \ |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
Former name 'channels' was ambiguous with respect to channel count.
Change-Id: I716f792d95a7e0c787d27514ad6e93dbcef8a415
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: Iedfeca3cd477d023c350d6d4e6eed874ee467a32
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
mChannelCount was 8-, 16-, or 32-bits
Change-Id: I2cc2fedf3e33144e5c8bbd9894763282d9217f63
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: Ideb83dea2c3002651c34fa646753cba598e29e93
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I5f624b7a51ffe1a17a67c056cf984f74e4c56eac
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I507c6109d66000bb30933ca23b912a1316f55e5e
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
No need to delete AudioMixer before readOutputParameters
Change-Id: Icafa785c9021bbe8d985e4f9527f8fc8c5e62622
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I6347096f066b8b19451c6472db7b0671f0cf7702
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ib959c1e9dc9544d12277ce11bea445118b2e0521
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I8948f76ef4717a423c37cd6ea7db4381636af612
|
|\ \ \ \ \
| |/ / / / |
|
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: I38100b7e28a12d7af8cb40ae3f4d9cb4a0ebe701
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Direct and tunnel output threads can support various HAL stream formats,
included encoded. But currently there are stereo 16-bit PCM assumptions
in several places for mixer and duplicating output threads:
- mMixBuffer and mixBuffer()
- AudioMixer including resampler
- FastMixer's mixBuffer
- effects
- NBAIO_Format
- anywhere FCC_2 is used
- possibly other places
Until those assumptions are removed, this CL enforces stereo 16-bit
PCM in mixer and duplicating threads at the place where the HAL format
is read. It was already being checked in checkForNewParameters_l(),
but not in readOutputParameters().
Change-Id: Ibe344cc922743da234299097aa1bb1f54795cc9b
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Added specialized playback thread class for offload playback,
derived from directoutput thread.
This thread type handles specific state transitions for offloaded
tracks and offloading commands (pause/resume/drain/flush..) to audio HAL.
As opposed to other threads, does not go to standby if the track is paused.
- Added support for asynchronous write and drain operations at audio HAL.
Use a thread to handle async callback events from HAL: this avoids locking
playback thread mutex when executing the callback and cause deadlocks when
calling audio HAL functions with the playback thread mutex locked.
- Better accouting for track activity: call start/stop and release Output
methods in audio policy manager when tracks are actually added and removed
from the active tracks list.
Added a command thread in audio policy service to handle stop/release commands
asynchronously and avoid deadlocks with playback thread.
- Track terminated status is not a state anymore. This condition is othogonal
to state to permitted state transitions while terminated.
Change-Id: Id157f4b3277620568d8eace7535d9186602564de
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 9798886
Change-Id: I9321e3f369f1ed9429ae222e3926ebdeb012b8b0
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 84e391686d7eced293913d1d7993721224ee0ba1.
Bug: 8834855
Change-Id: I8211ef5ea5d87d97ada115723df31c8057f38ca8
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I80de4a013dc65eb7c532561438fd10e005354c03
|
|/ / /
| | |
| | |
| | |
| | | |
Bug: 8834855
Change-Id: I4cd842cdfb09d2aaaaab9df9ac3bec6179709bd3
|
| | |
| | |
| | |
| | | |
Change-Id: I137f70676c8919661e716c33e0dd9c25c2b6285c
|