OSDN Git Service

android-x86/frameworks-av.git
10 years agoMerge "AudioTrack: fix head position after restore" into klp-dev
Eric Laurent [Wed, 16 Oct 2013 22:28:33 +0000 (22:28 +0000)]
Merge "AudioTrack: fix head position after restore" into klp-dev

10 years agoAudioTrack: fix head position after restore
Eric Laurent [Wed, 16 Oct 2013 22:12:32 +0000 (15:12 -0700)]
AudioTrack: fix head position after restore

The head position transfered to the new track
by restoreTrack_l() must take into account the frames that
are dropped from the old track to avoid a non recoverable
offset in the playback head position returned to applications.

Bug: 11230062.
Change-Id: I51143a08b95e8f264ed709ae2054360315f2b8b1

10 years agoAwesomePlayer: fix concurrent pause and teardown
Eric Laurent [Tue, 15 Oct 2013 23:11:24 +0000 (16:11 -0700)]
AwesomePlayer: fix concurrent pause and teardown

There was a race condition if a pause request was received
while we were executing a teardown event. Although we hold
a mutex while processing the teardown event, there is a step
of the prepare sequence where we release the mutex if streaming.
In this case, the pause request is executed but ignored because
the player state is still preparing. At the end of the teardown
event processing we restore previous playback state and resume.

The fix consists in clearing the saved teardown playback state
when a pause request is received while processing a teardown event.

Bug: 11225491.
Change-Id: If0e61855ce5a336322f1ba8e5559bdc190beeb76

10 years agoMake Audio wakelock names less unique.
Narayan Kamath [Mon, 14 Oct 2013 14:03:38 +0000 (15:03 +0100)]
Make Audio wakelock names less unique.

These wakelocks now show up in the client process, where they
might cause wakelock overflows if AudioFlinger threads die often.

The client process should be agnostic of audio flinger threading,
so don't make the wakelock names rely on audioflinger thread names.

Wakelock names now depend only on the audio flinger thread type, and
not the ID itself.

bug: 11200551

Change-Id: Ia1f71b569cb7502d617b77596abc245f461a6ec0

10 years agoSoundPool: handle new audio track event
Eric Laurent [Sun, 13 Oct 2013 00:05:19 +0000 (17:05 -0700)]
SoundPool: handle new audio track event

If the AudioTrack is torn down, SoundPool will never
receive the buffer end event and the track will stay active
for ever.

The fix consists in stopping the AudioTrack when a new audiotrack
event is received.

Bug: 11193583.
Change-Id: I9876eb2a8f75c601368f669acd67b0accf6e2736

10 years agoCamera: Fix deadlock in Camera3OutputStream
Zhijun He [Fri, 11 Oct 2013 23:21:11 +0000 (16:21 -0700)]
Camera: Fix deadlock in Camera3OutputStream

process capture request thread, process capture result and setParameter
binder threads can run into circular locking situation when acquiring
StreamingProcessor lock, Camera3Stream lock, and bufferQueue lock.
Releasing the Camera3Stream lock briefly in process capture request
thread getbuffer call can break this deadlock.

Bug: 11016037
Change-Id: If08d4b134c26be26039b1d5363759e60f911bad6

10 years agoMerge "Camera: Skip AE precapture when possible" into klp-dev
Zhijun He [Fri, 11 Oct 2013 19:22:15 +0000 (19:22 +0000)]
Merge "Camera: Skip AE precapture when possible" into klp-dev

10 years agoMerge "Camera2/3: Add more tracing for API1" into klp-dev
Eino-Ville Talvala [Fri, 11 Oct 2013 19:21:51 +0000 (19:21 +0000)]
Merge "Camera2/3: Add more tracing for API1" into klp-dev

10 years agoCamera: Skip AE precapture when possible
Zhijun He [Fri, 11 Oct 2013 17:26:52 +0000 (10:26 -0700)]
Camera: Skip AE precapture when possible

Skip AE precapture when AE is already converged for still capture use case. This
could save still capture latency 6-7 frame time for AE already converged case.

Bug: 10712902
Change-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e

10 years agoCamera2/3: Add more tracing for API1
Eino-Ville Talvala [Thu, 10 Oct 2013 22:13:09 +0000 (15:13 -0700)]
Camera2/3: Add more tracing for API1

- AF state
- Async autofocus completion
- Async takePicture completion
- Stages of takePicture

Bug: 10570497
Change-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3

10 years agoCamera: Save 1 frame time for takePicture call
Zhijun He [Thu, 3 Oct 2013 23:12:43 +0000 (16:12 -0700)]
Camera: Save 1 frame time for takePicture call

Move the latest request signal call right before submitting request to HAL,
which avoids unnecessary 1 frame time wait.

Also fix request status constructor issue, and the log tag for Camera2Client.

Bug: 10570497
Change-Id: I0b1818658bee9983b117e49a5a00f1aab515c567

10 years agomerge in KFS78N (no-op)
Ed Heyl [Tue, 8 Oct 2013 22:59:50 +0000 (15:59 -0700)]
merge in KFS78N (no-op)

10 years agoMerge "camera2: Don't race while dumping last frame metadata" into klp-dev
Igor Murashkin [Tue, 8 Oct 2013 22:57:32 +0000 (22:57 +0000)]
Merge "camera2: Don't race while dumping last frame metadata" into klp-dev

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 agocamera2: Don't race while dumping last frame metadata
Igor Murashkin [Tue, 8 Oct 2013 01:01:46 +0000 (18:01 -0700)]
camera2: Don't race while dumping last frame metadata

Bug: 11095203
Change-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c

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