OSDN Git Service

android-x86/frameworks-av.git
10 years agomerge in KQS81M
Ed Heyl [Tue, 8 Oct 2013 22:40:01 +0000 (15:40 -0700)]
merge in KQS81M

10 years agoMerge "Camera3: Improve resilience to stream failures" into klp-dev
Eino-Ville Talvala [Tue, 8 Oct 2013 18:46:21 +0000 (18:46 +0000)]
Merge "Camera3: Improve resilience to stream failures" into klp-dev

10 years agoCamera3: Improve resilience to stream failures
Eino-Ville Talvala [Wed, 25 Sep 2013 01:04:19 +0000 (18:04 -0700)]
Camera3: Improve resilience to stream failures

- Handle binder connection drops (DEAD_OBJECT) for streams
- Just log an error, don't go to an error state when queue/dequeue fails

Bug: 10347526
Change-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc

10 years agoAwesomePlayer: do not send events when paused.
Eric Laurent [Tue, 8 Oct 2013 16:22:31 +0000 (09:22 -0700)]
AwesomePlayer: do not send events when paused.

When streaming audio and paused, AwesomePlayer should
stop sending BufferingEvents as they will keep a wake lock
for no reason.

TimedEventQueue should always acquire the wakelock with mediaserver
identity so that it is released with the same identity by the
event handler thread.

Bug: 11104408.
Change-Id: Ied0e03acd6ad2f5a4c0ec82d5c2aa4e1c6da772c

10 years agoMerge "Cleanup openRecord error handling" into klp-dev
Glenn Kasten [Mon, 7 Oct 2013 16:16:06 +0000 (16:16 +0000)]
Merge "Cleanup openRecord error handling" into klp-dev

10 years agoaudioflinger: offload: fix pause/flush/resume
Eric Laurent [Fri, 4 Oct 2013 23:23:48 +0000 (16:23 -0700)]
audioflinger: offload: fix pause/flush/resume

If a pause/flush/resume sequence is fast enough, resume is received while
we are still in PAUSING state in which case it is a NOP. If this happens,
flush is still forwarded to the audio HAL but is not preceeded by a pause
which can cause problems to the audio DSP.
It is necessary to preserve the flush as this sequence is typical to a seek.

The fix consists in forcing a pause/resume when a flush request must be
executed and the audio HAL has not been paused previously.

Bug: 11081559.
Change-Id: Ib84ed26d503a61c05933b923ec556b10cedfe140

10 years agoMerge "audioflinger: fix wake lock acquisition check" into klp-dev
Eric Laurent [Fri, 4 Oct 2013 19:57:14 +0000 (19:57 +0000)]
Merge "audioflinger: fix wake lock acquisition check" into klp-dev

10 years agoaudioflinger: fix wake lock acquisition check
Eric Laurent [Fri, 4 Oct 2013 18:46:55 +0000 (11:46 -0700)]
audioflinger: fix wake lock acquisition check

Commit e14a5d6 introduced a bug in ThreadBase::acquireWakeLock() where
the wake lock acquisition return code is not initialized before
being checked causing the wake lock token to be sometines not set
and potential failure to release the wake lock later.

Bug: 10985160.
Change-Id: Iffd40e773ae3bcfec3c148a844d5dbebbf474eaf

10 years agoMerge "TimedEventQueue takes a wake lock" into klp-dev
Eric Laurent [Fri, 4 Oct 2013 17:47:25 +0000 (17:47 +0000)]
Merge "TimedEventQueue takes a wake lock" into klp-dev

10 years agoTimedEventQueue takes a wake lock
Eric Laurent [Fri, 4 Oct 2013 00:54:26 +0000 (17:54 -0700)]
TimedEventQueue takes a wake lock

Take a wake lock when events present in a TimedEventQueue
to prevent from going idle before all delayed events are
processed.

Bug: 11057387.
Change-Id: I26a17df68068fde5e879a2fe7568dec439fc540f

10 years agofix offload audio effect proxy implementation uuid
Eric Laurent [Fri, 4 Oct 2013 15:36:52 +0000 (08:36 -0700)]
fix offload audio effect proxy implementation uuid

The proxy implementation UUID should not be the NULL UUID as
AudioFlinger will reject effect creation if the AudioEffect
is constructed by passing the implementation UUID and not the
type UUID.

Bug: 11070481.

Change-Id: Ia9049d974e76303c5b63a607ee594b7dc1f182d4

10 years agoMerge "MediaCodec: avoid codec EOS if flushing during port reconfiguration" into...
Lajos Molnar [Fri, 4 Oct 2013 13:18:02 +0000 (13:18 +0000)]
Merge "MediaCodec: avoid codec EOS if flushing during port reconfiguration" into klp-dev

10 years agoMerge "Camera3: track request status in inflight queue" into klp-dev
Zhijun He [Thu, 3 Oct 2013 23:05:41 +0000 (23:05 +0000)]
Merge "Camera3: track request status in inflight queue" into klp-dev

10 years agoCamera3: track request status in inflight queue
Zhijun He [Wed, 2 Oct 2013 23:29:51 +0000 (16:29 -0700)]
Camera3: track request status in inflight queue

Bug: 9758581
Change-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc

10 years agoMerge "Better recording wake lock accounting" into klp-dev
Marco Nelissen [Thu, 3 Oct 2013 21:15:05 +0000 (21:15 +0000)]
Merge "Better recording wake lock accounting" into klp-dev

10 years agoBetter recording wake lock accounting
Marco Nelissen [Thu, 3 Oct 2013 15:51:24 +0000 (08:51 -0700)]
Better recording wake lock accounting

Count wake lock use against the app that initiated the recording,
not against the media server.

b/10985160

Change-Id: Iae6e6c030b7f1c6081d9c79725d6990f60dadaaa

10 years agoMerge "stagefright: enable adaptive playback based on codec format key" into klp-dev
Lajos Molnar [Thu, 3 Oct 2013 19:08:06 +0000 (19:08 +0000)]
Merge "stagefright: enable adaptive playback based on codec format key" into klp-dev

10 years agoMerge "Camera API 2, Device 2/3: Implement idle and shutter callbacks" into klp-dev
Eino-Ville Talvala [Thu, 3 Oct 2013 18:33:55 +0000 (18:33 +0000)]
Merge "Camera API 2, Device 2/3: Implement idle and shutter callbacks" into klp-dev

10 years agostagefright: enable adaptive playback based on codec format key
Lajos Molnar [Thu, 2 May 2013 23:46:41 +0000 (16:46 -0700)]
stagefright: enable adaptive playback based on codec format key

Added support for prepareForAdaptivePlayback() call in
configureCodec, if max-width and max-height keys are specified
in the format.  It is OK for this call to fail, if component
does not implement adaptive playback.

Change-Id: Ie15892bc666df103b635890a0fda799b204bb06c
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 7093648
Bug: 10192531

10 years agoIOMX: Add prepareForAdaptivePlayback method
Lajos Molnar [Thu, 2 May 2013 23:30:48 +0000 (16:30 -0700)]
IOMX: Add prepareForAdaptivePlayback method

prepareForAdaptivePlayback is the fallback mechanism to support
seamless resolution change for devices that do not support dynamic
output buffers.  It is up to the codecs to handle this appropriately,
but codecs that do not handle dynamic output buffers would
request enough buffers up to the requested size in this method
to avoid port reconfiguration on resolution changes.

Change-Id: I58d4aa8ef1359ea3472735bbe9140c3132039b3d
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10192531
Related-to-bug: 7093648

10 years agoRemove now unused wfd commandline tool. (also unbreaks the build)
Andreas Huber [Thu, 3 Oct 2013 15:43:20 +0000 (08:43 -0700)]
Remove now unused wfd commandline tool. (also unbreaks the build)

Change-Id: I03320342976e4e355cc6aeb3d2c485985613b3b5
related-to-bug: 11047222

10 years agoMediaCodec: avoid codec EOS if flushing during port reconfiguration
Lajos Molnar [Wed, 2 Oct 2013 18:25:20 +0000 (11:25 -0700)]
MediaCodec: avoid codec EOS if flushing during port reconfiguration

Change-Id: Ic2e93f38feeb2e906f8d6b400ed6df2b7580ca87
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11045434

10 years agoCamera API 2, Device 2/3: Implement idle and shutter callbacks
Eino-Ville Talvala [Fri, 6 Sep 2013 16:32:43 +0000 (09:32 -0700)]
Camera API 2, Device 2/3: Implement idle and shutter callbacks

- Update callback Binder interface
- Rename frameId to be requestId to be consistent and disambiguate
  from frameNumber.
- Implement shutter callback from HAL2/3 notify()
  - Add in-flight tracking to HAL2
  - Add requestId to in-flight tracking
  - Report requestId from shutter callback
- Implement idle callback from HAL3 process_capture_result
  - Add new idle tracker thread
  - Update all idle waiting to use the tracker
  - Add reporting from request thread, all streams to tracker
  - Remove existing idle waiting infrastructure

Bug: 10549462
Change-Id: I867bfc248e3848c50e71527e3561fe92dc037958

10 years agoRemove obsolete miracast sink code and friends.
Andreas Huber [Wed, 2 Oct 2013 20:06:06 +0000 (13:06 -0700)]
Remove obsolete miracast sink code and friends.

Change-Id: I8bbb22fb0cfe2d73881d9f05bf8112ae86d8040b
related-to-bug: 11047222

10 years agoCamera: only return static metadata for HAL3 device
Zhijun He [Tue, 1 Oct 2013 18:05:33 +0000 (11:05 -0700)]
Camera: only return static metadata for HAL3 device

This effectively disables the camera2 APIs for HAL2.x or lower HAL device.

Bug: 10360518
Change-Id: I0f374ac533468c6181f5672c75088b7144b9c53d

10 years agoMerge "Camera: drop stale callback buffer" into klp-dev
Zhijun He [Tue, 1 Oct 2013 17:47:18 +0000 (17:47 +0000)]
Merge "Camera: drop stale callback buffer" into klp-dev

10 years agoMerge "MediaTimeProvider support fixes" into klp-dev
Lajos Molnar [Tue, 1 Oct 2013 16:36:52 +0000 (16:36 +0000)]
Merge "MediaTimeProvider support fixes" into klp-dev

10 years agoMerge "MediaCodecInfo: report supported color formats for non-native-window mode...
Lajos Molnar [Tue, 1 Oct 2013 16:36:32 +0000 (16:36 +0000)]
Merge "MediaCodecInfo: report supported color formats for non-native-window mode" into klp-dev

10 years agoCamera: drop stale callback buffer
Zhijun He [Tue, 1 Oct 2013 02:31:39 +0000 (19:31 -0700)]
Camera: drop stale callback buffer

Sometimes, when preview size is changed and preview callback is enabled, stale
callback buffer from previous size could be delivered to callback processor
because stop preview doesn't guarantee consumer side buffers are properly
cleaned up. We need drop these buffers to avoid sending wrong data to app side.

Bug: 11009183
Change-Id: If9281e8c02481f883872ce58dfd8660a06d56a47

10 years agoMerge "Camera: Set default thumbnail size with matched aspect ratio" into klp-dev
Zhijun He [Tue, 1 Oct 2013 00:23:50 +0000 (00:23 +0000)]
Merge "Camera: Set default thumbnail size with matched aspect ratio" into klp-dev

10 years agoMediaTimeProvider support fixes
Lajos Molnar [Wed, 25 Sep 2013 15:09:41 +0000 (08:09 -0700)]
MediaTimeProvider support fixes

Add MEDIA_SKIPPED event when resuming at a different time than
seeked to.

Send MEDIA_STARTED/PAUSED events only when playing (vs. when doing seek
previews)

Change-Id: I243ebf054303755ea8863229c3211694f2c204a7
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10954008

10 years agoMerge "fix volume and effect enable delay on offloaded tracks" into klp-dev
Eric Laurent [Mon, 30 Sep 2013 21:31:34 +0000 (21:31 +0000)]
Merge "fix volume and effect enable delay on offloaded tracks" into klp-dev

10 years agoMediaCodecInfo: report supported color formats for non-native-window mode
Lajos Molnar [Mon, 30 Sep 2013 20:18:55 +0000 (13:18 -0700)]
MediaCodecInfo: report supported color formats for non-native-window mode

Revert the change in behavior when checking for adaptive playback was
introduced.

Change-Id: I59dc2450a4299b912015f2e4c9ec018a19a20b84
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10921537

10 years agoCamera: Set default thumbnail size with matched aspect ratio
Zhijun He [Mon, 30 Sep 2013 19:07:57 +0000 (12:07 -0700)]
Camera: Set default thumbnail size with matched aspect ratio

Make default thumbnail size match the default still capture size aspect ratio.

Bug: 10885012
Change-Id: If46da9508d3b71992f0e14a35c600b7e8d347f4e

10 years agoMerge "Change VP8 encoder bitrate" into klp-dev
Rachad Alao [Mon, 30 Sep 2013 19:11:06 +0000 (19:11 +0000)]
Merge "Change VP8 encoder bitrate" into klp-dev

10 years agoMerge "Indicate sync frames returned by encoder" into klp-dev
Rachad Alao [Mon, 30 Sep 2013 19:10:47 +0000 (19:10 +0000)]
Merge "Indicate sync frames returned by encoder" into klp-dev

10 years agofix volume and effect enable delay on offloaded tracks
Eric Laurent [Sat, 28 Sep 2013 01:48:26 +0000 (18:48 -0700)]
fix volume and effect enable delay on offloaded tracks

Volume: add a method to wake up the mediaserver playback
thread when a volume command is received on an offloaded track.

Effects: call effect chain process on offloaded playback threads
asynchronously from writes to allow effect state updates while
waiting for async write callback.

Bug: 10796540.

Change-Id: Id2747ae88783575d1d7ffd6fc86fbd054ab2c739

10 years agoMerge "Prevent onPrepared callback from being called twice" into klp-dev
Marco Nelissen [Sat, 28 Sep 2013 02:25:14 +0000 (02:25 +0000)]
Merge "Prevent onPrepared callback from being called twice" into klp-dev

10 years agoChange VP8 encoder bitrate
Johann [Sat, 28 Sep 2013 00:42:12 +0000 (17:42 -0700)]
Change VP8 encoder bitrate

Allow the bitrate to be updated while the encoder is running.

Bug: 8422347
Change-Id: I8427fe20921b00f92b8f99fe21691709fab354b0

10 years agofix oflload effect proxy commmand handling
Eric Laurent [Fri, 20 Sep 2013 19:27:32 +0000 (12:27 -0700)]
fix oflload effect proxy commmand handling

Implement a more generic command handling in offload effect
proxy. All commands are sent to both sub effects but only the reply
from the active one is returned to the caller.

Bug: 8174034.
Change-Id: I28aa0f0d806e846332bc29801ee40d34e4ea0c43

10 years agofix command handling in effect offload proxy
Eric Laurent [Fri, 27 Sep 2013 22:04:26 +0000 (15:04 -0700)]
fix command handling in effect offload proxy

Fix some issues in effect proxy related to handling of effect
commands to offloaded and non offloaded effects.

Also fixed a bug on capture index in software Visualizer effect.

Bug: 8174034.
Change-Id: I119458fea597cc3acbc0ef9ec315f67aa211cbd9

10 years agoEffect Offload Proxy for effects offload
jpadmana [Tue, 4 Jun 2013 10:33:29 +0000 (16:03 +0530)]
Effect Offload Proxy for effects offload

Effect Proxy abstracts the sub effects to the upper layers.
It has the following functionalities:
- creation and release of sub effects
- routing the effect commands and process to the appropriate sub effect

Bug: 8174034.

Change-Id: Iec34b61104f0bbec4ef67c62f0710a5536dc325b
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
10 years agoEffects Factory changes for effects offload
jpadmana [Tue, 4 Jun 2013 10:38:29 +0000 (16:08 +0530)]
Effects Factory changes for effects offload

audio_effects.conf - commented changes to illustrate the
addition of Proxy and sub effects to the conf file

Added an effectFactoryApi - EffectGetSubEffects for querying the
sub effect descriptors from the factory. This api is used by the Proxy
to get the sub effects

Added functions and data structures in factory code for
loading the sub effects

gSubEffectList - has the Proxies and their corresponding sub effects

- addSubEffect() - reads a sub effect node and adds to the gSubEffectList
- findSubEffect() - searches through the gSubEffectList to find a SubEffect

Bug: 8174034.

Change-Id: Id7f6aa67c41db370d32beaf43a979ba4ac925928
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
10 years agoRevert "Effects Factory changes for effects offload"
Eric Laurent [Fri, 27 Sep 2013 21:53:24 +0000 (14:53 -0700)]
Revert "Effects Factory changes for effects offload"

This reverts commit 284c17e73bbff51cb5b1adcee98386d47733757a.

Change-Id: I31db21e1ad4758b21356bfe4c4c64f15b2da8737

10 years agoRevert "Effect Offload Proxy for effects offload"
Eric Laurent [Fri, 27 Sep 2013 21:50:48 +0000 (14:50 -0700)]
Revert "Effect Offload Proxy for effects offload"

This reverts commit 60c60df7db278d2fa5c90b0fa14f99a61d50272b.

Change-Id: Iafba9e02a9f3bfde6248d802e96c4e649686a87d

10 years agoPrevent onPrepared callback from being called twice
Marco Nelissen [Fri, 27 Sep 2013 19:13:52 +0000 (12:13 -0700)]
Prevent onPrepared callback from being called twice

b/10891995

Change-Id: If6845c832d114629282f0b03f904a37c3325208e

10 years agoMerge "fix playback position after switching to offload" into klp-dev
Eric Laurent [Fri, 27 Sep 2013 16:29:36 +0000 (16:29 +0000)]
Merge "fix playback position after switching to offload" into klp-dev

10 years agofix playback position after switching to offload
Eric Laurent [Fri, 27 Sep 2013 00:23:10 +0000 (17:23 -0700)]
fix playback position after switching to offload

After switching from offloaded track to PCM track
while paused (e.g. when connecting A2DP), playback
restarts from the beginning of the song when resuming.

Save current position before recreating an AudioPlayer
in AwesomePlayer::play_l() and seek to the saved position before
starting playback.
Also fix a problem where the position is not reported properly
by AudioPlayer if a seek is pending and queried just after start
and before the first buffer is read from the MediaSource.

Bug: 8174034.
Change-Id: I254e65418ff903a9bf2e2111b89a00e2e54876c5

10 years agoMerge "LoudnessEnhancer compatible with stereo imaging" into klp-dev
Jean-Michel Trivi [Fri, 27 Sep 2013 01:21:38 +0000 (01:21 +0000)]
Merge "LoudnessEnhancer compatible with stereo imaging" into klp-dev

10 years agoIndicate sync frames returned by encoder
Johann [Fri, 27 Sep 2013 00:37:51 +0000 (17:37 -0700)]
Indicate sync frames returned by encoder

Set the appropriate OMX flag when the encoder generates a keyframe. This
is necessary for any muxer which needs to indicate which frames are
seekable.

Bug: 8422347
Change-Id: I744a0b3023db24d3de2210bce82f41e50d259505

10 years agoMerge "Don't call audio effect process on offloaded playback threads" into klp-dev
Jean-Michel Trivi [Fri, 27 Sep 2013 00:50:59 +0000 (00:50 +0000)]
Merge "Don't call audio effect process on offloaded playback threads" into klp-dev

10 years agoMerge "audioflinger: fix crash when starting offload thread" into klp-dev
Eric Laurent [Thu, 26 Sep 2013 22:58:26 +0000 (22:58 +0000)]
Merge "audioflinger: fix crash when starting offload thread" into klp-dev

10 years agoaudioflinger: fix crash when starting offload thread
Eric Laurent [Thu, 26 Sep 2013 22:28:21 +0000 (15:28 -0700)]
audioflinger: fix crash when starting offload thread

Passing a sp to parent thread to AsyncCallbackThread() constructor
causes a strong reference to be acquired on the OffloadThread inside
its constructor which causes an early launch of the thread loop
with unpredictable consequences.

Pass a wp to parent thread instead.

Also move the creation of the AsyncCallbackThread to
readOutputParameters() where mUseAsyncWrite is initialized which
makes more sense.

Also change the type of AsyncCallbackThread parent thread to PlaybackThread
instead of OffloadThread to allow a broder use of non blocking write which
in theory is not limited to audio offload use case.

Bug: 8174034.
Change-Id: I4b093b022030cd4f5eb8b8e477333e91098a6549

10 years agoCamera2 API: Hack: Always use async mode with GLConsumer
Eino-Ville Talvala [Thu, 26 Sep 2013 22:28:55 +0000 (15:28 -0700)]
Camera2 API: Hack: Always use async mode with GLConsumer

Until a cleaner solution is implemented, force buffer queues to
consumers that set USAGE_HW_TEXTURE usage to be asynchronous.

Bug: 10949105
Change-Id: I69e6b02b773831396767c282ce8c5936c5d41f03

10 years agoLoudnessEnhancer compatible with stereo imaging
Jean-Michel Trivi [Thu, 26 Sep 2013 01:43:55 +0000 (18:43 -0700)]
LoudnessEnhancer compatible with stereo imaging

Use a single compressor for both channels.
Envelope of signal is determined by looking at both channels.

Bug 8413913

Change-Id: Ia9b6f34923d2977c60a3352500b858dfa1fab33c

10 years agoDon't call audio effect process on offloaded playback threads
Jean-Michel Trivi [Thu, 26 Sep 2013 01:50:33 +0000 (18:50 -0700)]
Don't call audio effect process on offloaded playback threads

An audio effect process command is not meant to be called for
 playback threads belonging to offloaded playback.

Bug 10933817

Change-Id: Idc7b6a0224791bbf8d61648474d3c288617c498f

10 years agoMerge "Camera: Implement getCameraCharacteristics" into klp-dev
Zhijun He [Wed, 25 Sep 2013 23:52:06 +0000 (23:52 +0000)]
Merge "Camera: Implement getCameraCharacteristics" into klp-dev

10 years agoCamera: Implement getCameraCharacteristics
Zhijun He [Wed, 25 Sep 2013 17:14:30 +0000 (10:14 -0700)]
Camera: Implement getCameraCharacteristics

Bug: 10904541
Bug: 10360518
Change-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017

10 years agoMerge "fix deadlock in audioflinger::createEffect()" into klp-dev
Eric Laurent [Wed, 25 Sep 2013 20:01:01 +0000 (20:01 +0000)]
Merge "fix deadlock in audioflinger::createEffect()" into klp-dev

10 years agofix deadlock in audioflinger::createEffect()
Eric Laurent [Wed, 25 Sep 2013 19:25:29 +0000 (12:25 -0700)]
fix deadlock in audioflinger::createEffect()

commit 5baf2af5 introduced a regression by calling
getOutputForEffect() with AudioFLinger main mutex locked.
The locking order must always be AudioPolicyService mutex then
AudioFlinger then ThreadBase mutex.

Bug: 10916796.
Change-Id: Ide34a2d84dbb06dbb35abd0640d91b01b0ac4d40

10 years agoMerge "Camera2/3: Support new PASSIVE_UNFOCUSED AF state" into klp-dev
Eino-Ville Talvala [Wed, 25 Sep 2013 19:27:34 +0000 (19:27 +0000)]
Merge "Camera2/3: Support new PASSIVE_UNFOCUSED AF state" into klp-dev

10 years agoMerge "Send kWhatConnected in onTimeUpdate() before first access unit" into klp-dev
Chong Zhang [Wed, 25 Sep 2013 17:27:15 +0000 (17:27 +0000)]
Merge "Send kWhatConnected in onTimeUpdate() before first access unit" into klp-dev

10 years agoMerge "Fix log typos in Visualizer effect" into klp-dev
Jean-Michel Trivi [Tue, 24 Sep 2013 23:37:53 +0000 (23:37 +0000)]
Merge "Fix log typos in Visualizer effect" into klp-dev

10 years agoFix log typos in Visualizer effect
Jean-Michel Trivi [Tue, 24 Sep 2013 22:31:13 +0000 (15:31 -0700)]
Fix log typos in Visualizer effect

Fix errors in logs for Visualizer.
Set loop counters on 32 bits

Bug 8413913

Change-Id: Iad2140d003d15d45be46826a5e89baff14fe9e77

10 years agofix oflload effect proxy commmand handling
Eric Laurent [Fri, 20 Sep 2013 19:27:32 +0000 (12:27 -0700)]
fix oflload effect proxy commmand handling

Implement a more generic command handling in offload effect
proxy. All commands are sent to both sub effects but only the reply
from the active one is returned to the caller.

Bug: 8174034.
Change-Id: Ia45f9933b3bf338257ec70b37732fa1578d26b9f

10 years agoMerge "soundpool: allocate shared memory heap by client" into klp-dev
Eric Laurent [Tue, 24 Sep 2013 21:05:13 +0000 (21:05 +0000)]
Merge "soundpool: allocate shared memory heap by client" into klp-dev

10 years agoMerge "Camera2/3: Properly disambiguate FPS range vs. single FPS setting" into klp-dev
Eino-Ville Talvala [Tue, 24 Sep 2013 20:29:55 +0000 (20:29 +0000)]
Merge "Camera2/3: Properly disambiguate FPS range vs. single FPS setting" into klp-dev

10 years agoCleanup openRecord error handling
Glenn Kasten [Tue, 24 Sep 2013 18:52:37 +0000 (11:52 -0700)]
Cleanup openRecord error handling

Bug: 10888816
Change-Id: I84897dd7d30b370640b54e928f230604b873cb68

10 years agosoundpool: allocate shared memory heap by client
Eric Laurent [Tue, 24 Sep 2013 16:53:27 +0000 (09:53 -0700)]
soundpool: allocate shared memory heap by client

Current SoundPool implementation allocates the shared memory heap
containing decoded PCM samples in mediaserver process.
When mediaserver process crashes, the shared memory heaps allocated by
AudioCache cannot be mapped anymore in the new instance of mediaserver.
This causes a silent failure to end playback of new sounds because
AudioFlinger believes the new AudioTracks are opened in streaming mode
and not static mode: it sees a NULL shared memory pointer when the track
is created.

The fix consists in allocating the memory heap in the client process. Thus
the heap is not lost when mediaserver restarts. The global memory usage is
the same as this is shared memory.

Also added a way to detect that a shared memory is passed when the track is
created but cannot be mapped on mediaserver side.

Also fix a crash in SoundPool when ALOGV is enabled.

Bug: 10894793.
Change-Id: Ice6c66ec3b2a409d75dc903a508b6c6fbfb2e8a7

10 years agoSend kWhatConnected in onTimeUpdate() before first access unit
Chong Zhang [Tue, 24 Sep 2013 17:04:42 +0000 (10:04 -0700)]
Send kWhatConnected in onTimeUpdate() before first access unit

Bug: 10642588
Change-Id: If2b4fbbf250d5307e304f31c7aa4ac480e279484

10 years agoaudioflinger: fix ro.audio.silent in offload again
Eric Laurent [Tue, 24 Sep 2013 01:24:31 +0000 (18:24 -0700)]
audioflinger: fix ro.audio.silent in offload again

Commit 1abbdb4 was not working 100% of the times because
it is possible that the offload thread loop never sleeps
after being created in which case the property is never read.

The loop now reads the property once when starting.

Bug: 10899309.
Change-Id: I2e2ca332f2d7086e59d65f6010378c4d9618ba9e

10 years agoMerge "Add support for level measurements in Visualizer" into klp-dev
Jean-Michel Trivi [Mon, 23 Sep 2013 22:58:33 +0000 (22:58 +0000)]
Merge "Add support for level measurements in Visualizer" into klp-dev

10 years agoAdd support for level measurements in Visualizer
Jean-Michel Trivi [Fri, 20 Sep 2013 18:58:40 +0000 (11:58 -0700)]
Add support for level measurements in Visualizer

New commands to set a measurement mode and perform peak + RMS
 measurements.

Bug 8413913

Change-Id: Ib25254065c79d365ebb34f9dc9caa0490e2d300d

10 years agoMerge "AudioTrack: fix music resume" into klp-dev
Eric Laurent [Mon, 23 Sep 2013 22:15:37 +0000 (22:15 +0000)]
Merge "AudioTrack: fix music resume" into klp-dev

10 years agofix incoming call audio start time.
Eric Laurent [Mon, 23 Sep 2013 19:08:05 +0000 (12:08 -0700)]
fix incoming call audio start time.

commit cec4abb fixing issue 6720482 had a flaw that
would insert commmands at the wrong position in the
audio policy service command thread queue causing other
commands to be delayed more than expected.

A change in track stop timing introduced by commit bfb1b83
made this issue visible when answering a call.

Bug: 10860012.
Change-Id: Iec769112f14e13d13b64628b808e43663e33771c

10 years agoAudioTrack: fix music resume
Eric Laurent [Mon, 23 Sep 2013 19:29:42 +0000 (12:29 -0700)]
AudioTrack: fix music resume

Fix regression introduced by commit 5a6cd22 in AudioTrack resume:
the callback thread was not signaled if paused internaly.

Bug: 10895013.
Change-Id: Ic356b115132d6fccbcee2d9bb855e92671dc20c5

10 years agoCamera2/3: Support new PASSIVE_UNFOCUSED AF state
Eino-Ville Talvala [Sat, 21 Sep 2013 00:21:18 +0000 (17:21 -0700)]
Camera2/3: Support new PASSIVE_UNFOCUSED AF state

Bug: 10860639
Change-Id: I39be64abaf79b49b2d1f74e1c2ab2adf718ae701

10 years agoCamera2/3: Properly disambiguate FPS range vs. single FPS setting
Eino-Ville Talvala [Fri, 20 Sep 2013 23:32:26 +0000 (16:32 -0700)]
Camera2/3: Properly disambiguate FPS range vs. single FPS setting

The camera1 API allows for either setPreviewFrameRate or
setPreviewFPSRange, so both values may or may not change in a single
setParameter call.

The disambiguation of which setting has been changed since the last
setParameter() call was not fully correct, so a sequence of changes
that only changed setPreviewFPSRange or didn't change either could be
interpreted as as a change to setPreviewFrameRate.

Bug: 10842868
Change-Id: I40baeced80a58f09f8a1742ece8dd5e141e9c1e3

10 years agoMerge "Revert "Workaround slow AudioTrack destruction"" into klp-dev
Glenn Kasten [Fri, 20 Sep 2013 22:05:38 +0000 (22:05 +0000)]
Merge "Revert "Workaround slow AudioTrack destruction"" into klp-dev

10 years agoMerge "Fix slow AudioTrack and AudioRecord destruction" into klp-dev
Glenn Kasten [Fri, 20 Sep 2013 21:01:35 +0000 (21:01 +0000)]
Merge "Fix slow AudioTrack and AudioRecord destruction" into klp-dev

10 years agoCamera2/3: For still captures, use widest FPS range available.
Eino-Ville Talvala [Fri, 20 Sep 2013 17:12:32 +0000 (10:12 -0700)]
Camera2/3: For still captures, use widest FPS range available.

Instead of using the application-selected preview FPS range for still
captures, select the widest FPS range advertised by the device and use
it for still captures instead, to give the HAL the widest range of exposure
values to choose from possible.

Bug: 10842868
Change-Id: I0e24f5eb713a4f8df116cd5979a84390cc0974d7

10 years agoFix slow AudioTrack and AudioRecord destruction
Glenn Kasten [Fri, 20 Sep 2013 16:20:45 +0000 (09:20 -0700)]
Fix slow AudioTrack and AudioRecord destruction

There were two causes for the slowness:

When thread was paused, it used nanosleep and sleep.  These usually
run to completion (except for POSIX signal, which we avoid because it
is low-level).  Instead, replace the nanosleep and sleep by condition
timed wait, as that can be made to return early by a condition signal.
Another advantage of condition timed wait is that a condition wait was
already being used at top of thread loop, so it is a simpler change.

The AudioRecord destructor was missing a proxy interrupt that was correct
in AudioTrack.  This proxy interrupt is needed in case another thread
is blocked in proxy obtainBuffer.

Does not address the 1 second polling for NS_WHENEVER.

Bug: 10822765
Change-Id: Id665994551e87e4d7da9c7b015f424fd7a0b5560

10 years agoRevert "Workaround slow AudioTrack destruction"
Glenn Kasten [Fri, 20 Sep 2013 18:12:06 +0000 (18:12 +0000)]
Revert "Workaround slow AudioTrack destruction"

This reverts commit 8bbbd7da02fac3de40139af19f7cf7a7cc3cc824.

Change-Id: I269a6c445cbce33451b6a9e74223e36e6abbdbe0

10 years agoMerge "Camera2/3: For still captures, use widest FPS range available." into klp-dev
Eino-Ville Talvala [Fri, 20 Sep 2013 17:59:44 +0000 (17:59 +0000)]
Merge "Camera2/3: For still captures, use widest FPS range available." into klp-dev

10 years agoCamera2/3: For still captures, use widest FPS range available.
Eino-Ville Talvala [Fri, 20 Sep 2013 17:12:32 +0000 (10:12 -0700)]
Camera2/3: For still captures, use widest FPS range available.

Instead of using the application-selected preview FPS range for still
captures, select the widest FPS range advertised by the device and use
it for still captures instead, to give the HAL the widest range of exposure
values to choose from possible.

Bug: 10842868
Change-Id: I0e24f5eb713a4f8df116cd5979a84390cc0974d7

10 years agoMerge "audioflinger: implement getTimestamp() for offloaded tracks" into klp-dev
Eric Laurent [Fri, 20 Sep 2013 16:56:33 +0000 (16:56 +0000)]
Merge "audioflinger: implement getTimestamp() for offloaded tracks" into klp-dev

10 years agoaudioflinger: implement getTimestamp() for offloaded tracks
Eric Laurent [Fri, 20 Sep 2013 16:36:34 +0000 (09:36 -0700)]
audioflinger: implement getTimestamp() for offloaded tracks

Bug: 9587132.
Change-Id: Ie9d5f4cca96306d08bc9a2dbd6edd8953096702d

10 years agocamera2: Tell all streams to ignore global device UI rotation
Igor Murashkin [Wed, 18 Sep 2013 00:03:28 +0000 (17:03 -0700)]
camera2: Tell all streams to ignore global device UI rotation

- Also use android.sensor.orientation to set the right transform
  flags automatically.

Bug: 10804238
Change-Id: I10caf8331f19e107c461696963cc10f597c91d83

10 years agoMerge "audioflinger: fix lost offload thread resume event" into klp-dev
Eric Laurent [Fri, 20 Sep 2013 00:48:39 +0000 (00:48 +0000)]
Merge "audioflinger: fix lost offload thread resume event" into klp-dev

10 years agoaudioflinger: fix lost offload thread resume event
Eric Laurent [Thu, 19 Sep 2013 21:37:46 +0000 (14:37 -0700)]
audioflinger: fix lost offload thread resume event

It was possible that a resume request signaled by addTrack_l()
while waiting for an async write callback is lost. This is because
mSignalPending was not set and waitingAsyncCallback_l() would pause the
thread loop before executing prepareTracks_l().

The fix consists in using signal_l() method to wake the thread
loop o that mSignalPending is set.

Also make sure that sleepTime is reset to 0 when resuming to make sure
that we write any remaining bytes to the HAL.

Bug: 10810347.

Change-Id: If9a3b22cc3b9e6eb384a56c48c40e6258d0896ad

10 years agoMerge "Rotate fallback size" into klp-dev
Andy McFadden [Thu, 19 Sep 2013 21:23:28 +0000 (21:23 +0000)]
Merge "Rotate fallback size" into klp-dev

10 years agoWorkaround slow AudioTrack destruction
Glenn Kasten [Wed, 18 Sep 2013 21:15:42 +0000 (14:15 -0700)]
Workaround slow AudioTrack destruction

Bug: 10809586
Change-Id: I5f30d4deb1233e8ade8967568e40684ef680c395

10 years agoRotate fallback size
Andy McFadden [Thu, 19 Sep 2013 18:08:33 +0000 (11:08 -0700)]
Rotate fallback size

If configuring the encoder for display-size recording fails, we drop
back to 720p.  This was done a bit too literally, and didn't look
good in portrait mode.  Rotate the fallback size as needed.

Bug 10826876

Change-Id: Id3130471fc1467afa8bf91d75c9d4a49245253c3

10 years agoMerge "camera2: Tell all streams to ignore global device UI rotation" into klp-dev
Igor Murashkin [Thu, 19 Sep 2013 17:09:02 +0000 (17:09 +0000)]
Merge "camera2: Tell all streams to ignore global device UI rotation" into klp-dev

10 years agoMerge "Workaround slow AudioTrack destruction" into klp-dev
Glenn Kasten [Thu, 19 Sep 2013 16:28:23 +0000 (16:28 +0000)]
Merge "Workaround slow AudioTrack destruction" into klp-dev

10 years agomerge in klp-release history after reset to klp-dev
The Android Automerger [Thu, 19 Sep 2013 13:01:35 +0000 (06:01 -0700)]
merge in klp-release history after reset to klp-dev

10 years agocamera2: Tell all streams to ignore global device UI rotation
Igor Murashkin [Wed, 18 Sep 2013 00:03:28 +0000 (17:03 -0700)]
camera2: Tell all streams to ignore global device UI rotation

- Also use android.sensor.orientation to set the right transform
  flags automatically.

Bug: 10804238
Change-Id: I10caf8331f19e107c461696963cc10f597c91d83

10 years agoaudioflniger: fix leaked audiosession references
Eric Laurent [Thu, 19 Sep 2013 01:47:13 +0000 (18:47 -0700)]
audioflniger: fix leaked audiosession references

acquireAudioSessionId() should not create session references
if the caller is not listed in the known notification clients.
It happens when the MediaPlayer or AudioTrack is created by the
mediaserver on behalf of a client (e.g CameraService). In this case
releaseAudioSessionId() can be called from a different pid and
the session reference will not be removed.
Also we will not be able to remove the reference if the client
process dies.

Bug: 10606426.
Change-Id: Ibb5e27518daeb484a2e66302e4c6221cbaca5b70

10 years agoWorkaround slow AudioTrack destruction
Glenn Kasten [Wed, 18 Sep 2013 21:15:42 +0000 (14:15 -0700)]
Workaround slow AudioTrack destruction

Bug: 10809586
Change-Id: I5f30d4deb1233e8ade8967568e40684ef680c395

10 years agoPartial fix for SoundPool not terminating
Glenn Kasten [Wed, 18 Sep 2013 17:33:39 +0000 (10:33 -0700)]
Partial fix for SoundPool not terminating

SoundPool was waiting for EVENT_UNDERRUN only to indicate end of clip.  In
J, AudioTrack delivered both EVENT_UNDERRUN followed by EVENT_BUFFER_END.
However, as of K, AudioTrack is only delivering EVENT_BUFFER_END (this
lack of EVENT_UNDERRUN is another bug which still needs to be fixed).
The workaround is to also respond to EVENT_BUFFER_END in SoundPool.

Bug: 10787103
Change-Id: Id68a23bddd6dd9df6c49c55138197260d71ca468