| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Make sure that a flush received after a pause is forwarded
to the HAL after the pause.
Change-Id: Ib3221f70c59f8b3dbbac20b23104f6b779b75be0
|
|\
| |
| |
| | |
klp-dev
|
| |
| |
| |
| |
| | |
Bug: 10552448
Change-Id: Ie93ba744ae6705aa657f980ae8e08ec624feeb39
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RequestThread's internal busy flag (mPaused) was not being immediately
set when new work was submitted to it. This allowed for a race
condition where a capture() followed by an immediate
waitUntilDrained() would immediately return from the wait.
Set the mPaused flag to false immediately in capture() and
setStreamingRequest() to avoid this, instead of waiting until the end
of the next RequestThread iteration.
Bug: 10531739
Change-Id: I54a79fe5361d527ec717f41ad805e9b319a48cd8
|
| |
| |
| |
| |
| |
| |
| | |
using a new timestamp latch in PlaybackThread, and
AudioTrackServerProxy::framesReleased() which returns mServer.
Change-Id: I1ebfba968c773faaab95648c272fd3ebd74718d6
|
| |
| |
| |
| |
| |
| |
| | |
with a dummy implementation initially,
and use it in AudioFlinger::TrackHandle::getTimestamp()
Change-Id: I2da88fc52a135a7f0d9fd9538986e919dc8ccd3b
|
|/
|
|
|
|
|
|
|
|
| |
with dummy implementation in AudioFlinger::TrackHandle, and
implement AudioTrack::getTimestamp() using IAudioTrack.
Also document invariant that mAudioTrack and control block are always
non-0 after successful initialization.
Change-Id: I9861d1454cff7decf795d5d5898ac7999a9f3b7e
|
|
|
|
|
|
|
|
| |
- On HAL2 devices, fall back to wait until idle
- On HAL3 devices, call HAL flush method
Bug: 9758581
Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use the controlledByApp flag to make sure application-bound
preview buffer queue is asynchronous as before
- Remove setPreviewDisplay in service, since it is no longer in
the binder interface
- Rename setPreviewTexture to setPreviewTarget, to make it clear it's
the only game in town now. Rename only on the binder level and service
for now.
Bug: 10312644
Change-Id: Icd33a462022f9729a63dc65c69b755cb7969857e
|
|
|
|
|
| |
Bug: 10265163
Change-Id: I2395036bac6e10baeaf6ea4bc3093bd9dd98742d
|
|
|
|
|
|
|
|
| |
Bug: 10361136
-Connect calls now return status_t error flags.
Change-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95
|
|
|
|
|
| |
Bug: 9265647
Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
At stream configure time, pass on the stream's consumer usage flags
to the HAL, to speed up final hardware configuration.
Bug: 9592202
Change-Id: Ie467be053be36a09e482f5f05cad65df42d66476
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* commit 'b687ff9f2e02790e8a8e3964cb73e87546cd72dd':
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>
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
Also rename the frameId to requestId to make it less confusing.
Change-Id: I14a20b6fcabb86294afb31fc0c56397e185c1373
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ie071673875f663de4212eed4a4dff89d51a5a915
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Support API rename from photography to camera2
- Reorganize camera service files
- API support files to api1/, api2/, api_pro/
- HAL device support files into device{1,2,3}/
- Common files into common/
- Camera service remains at top-level
Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Bug: 9487482
Change-Id: I09d3b4e41454d350c4bc7b1f8e893c3dad655e73
|
|\ \ \ \ \ \ |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Change-Id: Iedfeca3cd477d023c350d6d4e6eed874ee467a32
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
mChannelCount was 8-, 16-, or 32-bits
Change-Id: I2cc2fedf3e33144e5c8bbd9894763282d9217f63
|
|\ \ \ \ \ \ |
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ideb83dea2c3002651c34fa646753cba598e29e93
|