OSDN Git Service

android-x86/frameworks-av.git
10 years agoMake sure we get to discover that the cache is sufficiently full again
Andreas Huber [Thu, 17 Oct 2013 20:24:42 +0000 (13:24 -0700)]
Make sure we get to discover that the cache is sufficiently full again

by posting buffering events while in the CACHE_UNDERRUN state.

Change-Id: Ic60c8d57f0ae502aa2b6eec7160dc4224b989604
related-to-bug: 11262689

10 years agoMerge "Fix race condition in AudioTrack::pause followed by start" into klp-dev
Glenn Kasten [Thu, 17 Oct 2013 00:59:33 +0000 (00:59 +0000)]
Merge "Fix race condition in AudioTrack::pause followed by start" into klp-dev

10 years agomerge in klp-release (no-op)
Ed Heyl [Thu, 17 Oct 2013 00:42:20 +0000 (17:42 -0700)]
merge in klp-release (no-op)

10 years agoFix race condition in AudioTrack::pause followed by start
Glenn Kasten [Thu, 17 Oct 2013 00:02:13 +0000 (17:02 -0700)]
Fix race condition in AudioTrack::pause followed by start

Bug: 11148722
Change-Id: Iec88f00c8510363d4418e4b8d5b34feb06ecf04d

10 years agoMerge "Camera: don't do hw support check for ZSL" into klp-dev
Zhijun He [Wed, 16 Oct 2013 22:47:47 +0000 (22:47 +0000)]
Merge "Camera: don't do hw support check for ZSL" into klp-dev

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 agoCamera: don't do hw support check for ZSL
Zhijun He [Wed, 16 Oct 2013 22:09:17 +0000 (15:09 -0700)]
Camera: don't do hw support check for ZSL

Only use camera.disable_zsl_mode to control disable/enable ZSL.

Bug: 11258054
Change-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a

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 agomerge in klp-release history after reset to klp-dev
The Android Automerger [Tue, 15 Oct 2013 13:00:42 +0000 (06:00 -0700)]
merge in klp-release history after reset to klp-dev

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 agomerge in klp-release history after reset to klp-dev
The Android Automerger [Mon, 14 Oct 2013 02:20:21 +0000 (19:20 -0700)]
merge in klp-release history after reset to klp-dev

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

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 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 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 agomerge in klp-release history after reset to klp-dev
The Android Automerger [Thu, 10 Oct 2013 13:01:02 +0000 (06:01 -0700)]
merge in klp-release history after reset to klp-dev

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 klp-release history after reset to klp-dev
The Android Automerger [Wed, 9 Oct 2013 13:01:03 +0000 (06:01 -0700)]
merge in klp-release history after reset to klp-dev

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 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 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 agomerge in klp-release history after reset to klp-dev
The Android Automerger [Sun, 6 Oct 2013 13:01:09 +0000 (06:01 -0700)]
merge in klp-release history after reset to 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 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 "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 agomerge in klp-release history after reset to klp-dev
The Android Automerger [Wed, 2 Oct 2013 13:01:04 +0000 (06:01 -0700)]
merge in klp-release history after reset to 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: 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 agomerge in klp-release history after reset to klp-dev
The Android Automerger [Tue, 1 Oct 2013 13:00:48 +0000 (06:00 -0700)]
merge in klp-release history after reset to 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 in klp-release history after reset to klp-dev
The Android Automerger [Sun, 29 Sep 2013 13:01:05 +0000 (06:01 -0700)]
merge in klp-release history after reset to klp-dev

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 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 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 in klp-release history after reset to klp-dev
The Android Automerger [Thu, 26 Sep 2013 13:01:12 +0000 (06:01 -0700)]
merge in klp-release history after reset to klp-dev

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 in klp-release history after reset to klp-dev
The Android Automerger [Wed, 25 Sep 2013 13:01:26 +0000 (06:01 -0700)]
merge in klp-release history after reset to 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