| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
NOTE: this does _not_ include all private member variables added
to classes as part of offload support. Only public/protected functions
and stubs functions/variables needed to make the changes buildable.
- isOffloadSupported() added to audio policy service
A stub implementation is required to build, this always returns false
- setParameters() added to IAudioTrack
A stub implementation is required to build, this always returns
INVALID_OPERATION
- CBlk flag for stream end
- Change AudioSystem::getRenderPosition() to take an audio_output_t
so caller can specify which output to query
- Add AudioSystem::isOffloadSupported()
This is fully implemented down to the AudioFlinger function
AudioPolicyServer::isOffloadSupported() which is just a stub
that always returns false.
- Add EVENT_STREAM_END to AudioTrack interface.
STREAM_END is used to signal when the hardware has actually finished
playing all the data it was sent.
- Add event type enumeration to media player interface AudioSink callbacks
so that the same callback can be used to handle multiple types of
event. For offloaded tracks we also have to handle STREAM_END and
TEAR_DOWN events
- Pass audio_offload_info_t to various functions used for opening outputs,
tracks and audio players. This passes additional information about the
compressed stream down to the HAL when using offload.
For publicly-available APIs this is an optional parameter (for some of
the internal and low-level APIs around the HAL interface it is mandatory)
- Add getParameters() and setParameters() API to AudioTrack
Currently dummy implementations.
- Change AudioPlayer contructor so that it takes a set of bitflags defining what
options are required. This replaces the original bool which only specified
whether to use deep buffering.
- Changes to StageFright class definition related to handling tearing-down of
an offloaded track when we need to switch back to software decode
- Define new StageFright utility functions used for offloaded tracks
Currently dummy implementations.
- AudioFlinger changes to use extended audio_config_t.
Fills in audio_offload_info_t member if this info is passed in when
opening an output.
- libvideoeditor changes required to add the new event type parameter
to AudioSink callback functions
- libmediaplayerservice changes required to add the new event type parameter
to AudioSink callback functions
Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
|
|\ \
| |/
|/|
| | |
Change-Id: I21f23c1c5e4408c24c359bef6270dffce47a988d
|
| |\
| | |
| | |
| | |
| | | |
* commit 'a691ff3c03e38e148bbefed35ebb15e552a12613':
Camera2/3: Don't allow recording and callbacks to coexist.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Tear down conflicting streams when necessary.
- Shut down callbacks if recording starts
- Do not allow callbacks to start if recording is active
Per the current camera API, recording and preview callbacks cannot be
active simultaneously. However, the framework did not explicitly
disallow this, and in fact left the streams configured once they were
created, even if switching between the two operational modes.
In addition, no guards existed for trying to enable both recording and
callbacks at the same time.
Bug: 9423825
Change-Id: I7d6e6114c2e14fcfb5299b4c72ad557895cbf4b8
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
* changes:
Make android.hardware.photography.Camera work on HAL3+ devices
Initial implementation of android.hardware.photography.CameraDevice (service)
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 9213377
Change-Id: I5b2eeab28985f53dfcb7b8e3029930f5adcd74f5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Verified preview streaming requests
* Other things *should* work but unverified / unimplemented in client side
Missing:
* CameraService needs to return static camera info metadata
Bug: 9213377
Change-Id: I71568560fcf18d0e2b408ed1c4d0066647314868
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I752659e1f0522392b902839cd7f4d997dcd85966
|
|\ \ \ \
| |/ / /
|/| / /
| |/ /
| | |
| | |
| | | |
freed before read"
* commit 'd3ac2fc0c5429003f69d161e42bba7e94434ec09':
Prevent AudioCommands being freed before read
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* commit 'f3e21c301b8fef49eecf9c716373fcbfbaa47670':
Prevent AudioCommands being freed before read
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '60f3f102ba2973cc31e5c7ea00d95bbf19968e8b':
Prevent AudioCommands being freed before read
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When AudioCommandThread::threadLoop process AudioCommands it was
possible for it to delete a command where the posting thread still
hadn't read that status from it.
If a second command signaled the thread loop to continue after it
had inserted a new command while the thread loop was actually waiting
for the first command to report that it had read the status the
thread loop would continue and delete the first command.
Changed the wait condition when waiting for the calling thread to
read status to use command->mCond instead of mWaitWorkCV. This way
it's guaranteed that the signal to continue comes from the correct
thread.
Change-Id: Ia69b48cb4fdfaf8b4c83b56a197fb9f2058a92d1
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | | |
* commit '9c8714daaf6a402abd85557e9b652c86f0df86e4':
Camera2/3: Avoid shutdown race in callback processor.
|
| |\ \ \ \
| | | |_|/
| | |/| |
| | | | |
| | | | | |
* commit 'e6478de72a8ae1d3abb3e8c20898977c45354a4f':
Camera2/3: Avoid shutdown race in callback processor.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It's possible, during shutdown, for callback processor's heap to be
destroyed when it's about to send the callback back to the user.
Properly copy the heap reference to a local variable before unlocking
the mutex.
Bug: 9485959
Change-Id: I301347b77145f19c7ac721b9127dc74f122acce2
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | | |
* commit 'bda5d1f2a34f9b7ded0bc0441be4856e78ec066c':
Camera3: Power: Properly shut down unused thread.
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | | |
* commit '241b52798809d8db3d369af05ace1f73f723f29b':
Camera3: Power: Properly shut down unused thread.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 9466221
Change-Id: I9ed0740561b2e04954eebc1b8aec89cfab40a3a0
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
capture.
* commit '0cc754918a3c1353164ccc5798f63b28f65db406':
Camera2/3: Make sure to wait for idle after still capture.
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | | |
* commit '26bc908b3dafb5d80f092a22c5c71116526eae06':
Camera2/3: Make sure to wait for idle after still capture.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While this wait should be immediate, it's important to guarantee
that preview is stopped when takePicture completes, and that the
device knows itself to be idle.
Bug: 9413025
Change-Id: I1c151ba920e226107ee048918187364990f444c0
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
errors.
* commit 'e4a453d4b7563d1dab674df6ce52c291e63c6ca7':
Camera3: Always close HAL device even in face of errors.
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | | |
* commit '214a17fd37ef85fc841d3157b1e9096e1aa1b42f':
Camera3: Always close HAL device even in face of errors.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To improve robustness, make sure the HAL device instance is always
closed, even if it cannot be put into the IDLE state.
Bug: 9414167
Change-Id: I8e7035ff0afe7214951f9824e561b340cb37592e
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ia320a022b201a938a025efc30a54c05fcfe5b02f
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
state machine bad." into jb-mr2-dev
* commit 'ccc366a90fdd8d9df5de27820f04bc534d122c07':
Camera3: Skipping no-ops good, not updating state machine bad.
|
| |\ \ \ \ \
| | | |/ / /
| | |/| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
machine bad." into jb-mr2-dev
* commit '1191454a3a960a1972b0f36e625796c6c1b2c9ca':
Camera3: Skipping no-ops good, not updating state machine bad.
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
jb-mr2-dev
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
If a HAL-level stream reconfigure is not needed, still need to
transition camera device to ACTIVE state in configureStreams.
Otherwise, shutdown functions will not wait for device to drain
properly.
Bug: 9413025
Change-Id: I0b15792097c7e5771015f2a362735d5f88b8c6ea
|
|\ \ \ \ \ \ \
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
unconditionally." into jb-mr2-dev
* commit '4541531a6e64329764ad7359775689a8f5aca165':
Camera2/3: Create JPEG stream unconditionally.
|
| |\ \ \ \ \ \
| | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
jb-mr2-dev
* commit 'c4a8d2ddfff6d91e493692251733f20ece3e713d':
Camera2/3: Create JPEG stream unconditionally.
|
| | |\ \ \ \ \
| | | |/ / / /
| | |/| | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Instead of creating the JPEG output stream only at first use,
create it at time of preview start. This is important for reducing
the first-capture latency on HAL3 devices, and for ZSL on them.
Bug: 9339858
Change-Id: I4296f706cfd151c47ef315149e87d01fe554aaa4
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Main differences between old and new control block:
- removes the mutex, which was a potential source of priority inversion
- circular indices into shared buffer, which is now always a power-of-2 size
Change-Id: I4e9b7fa99858b488ac98a441fa70e31dbba1b865
|
|\ \ \ \ \ \ \
| |/ / / / / /
| | | | / / /
| |_|_|/ / /
|/| | | | |
| | | | | |
| | | | | | |
threads" into jb-mr2-dev
* commit 'bb35be24239f05f59715960a93cd491a4cd3b4d6':
audioflinger: fix effects on direct output threads
|
| |\ \ \ \ \
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
jb-mr2-dev
* commit '7be48189c0aefb82825a7689d9e1005175570779':
audioflinger: fix effects on direct output threads
|
| | |\ \ \ \ |
|
| | | |/ / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
PlaybackThread::addTrack_l() uses the assumption that
effects are attached to a track only if the track accumulation
buffer is different from the mixer thread output buffer.
This is not true for direct output threads where only one track is active
an only one buffer is needed.
This assumption is an optimization to avoid checking for effect chains with
the same session ID each time a track is processed. The optimization
is not key if only one track is attached to the thread which is the case for
direct outputs.
Current code fails to increment the active track count in the effect chain
on direct output threads when a track is started thus making the effect
framework clear the mix buffer and produce silence each time the mixer runs.
The fix consists in removing the optimization described above.
Bug: 9324989.
Change-Id: Id7a6337450ed90d326299c2ce9fc02f4b9e2fa6f
|
|\ \ \ \ \ \
| |/ / / / /
| | | | | |
| | | | | |
| | | | | | |
* commit '44ade05f8d030ae3af8d05359734b18eac433935':
Camera3: Skip no-op stream configurations.
|
| |\ \ \ \ \
| | |/ / / /
| | | | | |
| | | | | |
| | | | | | |
* commit 'ea26c7772f4721657db409068d4bed194ae49c94':
Camera3: Skip no-op stream configurations.
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If configuring the same set of streams more than once, don't actually
call into the HAL for the second and subsequent configure calls, since
they're no-ops.
This can speed up camera operation substantially if the
HAL implementation does not detect no-ops on its own and does a full
shutdown/restart on each configure call.
Bug: 9392513
Change-Id: I23baf4acbae2304735899adcf8e17565fa94d31d
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I5f5d0d3f37244f19446c473db70373bdf16cce56
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
preview callback" into jb-mr2-dev
* commit '574ca4f4f15a42d6159150149f68bf3cb800d869':
camera2/3: Fix deadlock take picture while preview callback
|
| |\ \ \ \ \
| | | |/ / /
| | |/| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
callback" into jb-mr2-dev
* commit 'ba696bbff88d5627beaa0be95be78ba30138983d':
camera2/3: Fix deadlock take picture while preview callback
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
jb-mr2-dev
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Acquiring mInputMutex before SharedParameters mutex in preview callback thread
causes circular locking dependency between callback thread and capture callback
thread.
Enforce the right lock ordering to break the dead lock.
Bug: 9323319
Change-Id: Iea2e025e4d9e29debcf74297c19930075017e179
|
|\ \ \ \ \ \ \
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
when 0." into jb-mr2-dev
* commit 'd3a5b48a1bc4f5d6ff4472f54f909abaadd5fa39':
AudioFlinger: do not cache audio device when 0.
|