OSDN Git Service

android-x86/frameworks-av.git
10 years agoCamera2: Rework the FPS range vs. FPS single setting detection
Eino-Ville Talvala [Thu, 14 Nov 2013 18:32:13 +0000 (10:32 -0800)]
Camera2: Rework the FPS range vs. FPS single setting detection

Give up on current approach of writing out consistent FPS values
into parameters that will be read back by the app.

- Preserve app's latest set parameters exactly, and compare against
  them when detecting if a new FPS range or single FPS value has been
  selected.

- Since get() returns exactly what was set(), it doesn't matter if the
  app calls getParameters() before its next setParameters(), in terms
  of retriggering FPS selection logic. Before, the behavior varied
  depending on whether the app re-read the parameters.

- As before, if app changes both range and single FPS in a single set
  call, the range set wins. Otherwise, the value that has changed more
  recently is used.

Bug: 11570973
Change-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6

10 years agoMerge "audioflinger: fix offload track transition" into klp-dev
Eric Laurent [Thu, 14 Nov 2013 16:43:19 +0000 (16:43 +0000)]
Merge "audioflinger: fix offload track transition" into klp-dev

10 years agoMerge "audioflinger: fix offload resume after drain" into klp-dev
Eric Laurent [Thu, 14 Nov 2013 16:42:30 +0000 (16:42 +0000)]
Merge "audioflinger: fix offload resume after drain" into klp-dev

10 years agoMerge "stagefright: limit default max-input-size for AVC" into klp-dev
Lajos Molnar [Wed, 13 Nov 2013 23:53:42 +0000 (23:53 +0000)]
Merge "stagefright: limit default max-input-size for AVC" into klp-dev

10 years agoMerge "AwesomePlayer: Improve performance on high-fps clips" into klp-dev
Lajos Molnar [Wed, 13 Nov 2013 23:52:37 +0000 (23:52 +0000)]
Merge "AwesomePlayer: Improve performance on high-fps clips" into klp-dev

10 years agostagefright: limit default max-input-size for AVC
Lajos Molnar [Wed, 13 Nov 2013 22:11:41 +0000 (14:11 -0800)]
stagefright: limit default max-input-size for AVC

AVC has a compression ratio of at least 2.  Account for this, as
some codecs refuse exorbitant max-input-size requests.

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

10 years agoMerge "Only initialize sniffers once, don't hold mutex while sniffing" into klp-dev
Marco Nelissen [Wed, 13 Nov 2013 18:11:54 +0000 (18:11 +0000)]
Merge "Only initialize sniffers once, don't hold mutex while sniffing" into klp-dev

10 years agoMerge "Ignore transport stream packets with the "transport_error_indicator" bit set...
Andreas Huber [Wed, 13 Nov 2013 18:06:01 +0000 (18:06 +0000)]
Merge "Ignore transport stream packets with the "transport_error_indicator" bit set" into klp-dev

10 years agoam 27ae268a: am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder...
Adam Hampson [Wed, 13 Nov 2013 17:25:33 +0000 (09:25 -0800)]
am 27ae268a: am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev

* commit '27ae268af29b25d85f83aa34e92ac8b7f6c87c6f':
  StageFright: Removes hacks for Nvidia MPEG2 decoder

10 years agoam 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb...
Adam Hampson [Wed, 13 Nov 2013 17:21:33 +0000 (09:21 -0800)]
am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev

* commit '00cb884fc870aba4052c8d187a45e4aec50a6b43':
  StageFright: Removes hacks for Nvidia MPEG2 decoder

10 years agoMerge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev
Adam Hampson [Wed, 13 Nov 2013 17:14:31 +0000 (17:14 +0000)]
Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev

10 years agoaudioflinger: fix offload track transition
Eric Laurent [Wed, 13 Nov 2013 03:25:43 +0000 (19:25 -0800)]
audioflinger: fix offload track transition

Make sure that when transitioning from one active
offloaded track to the next we flush DSP content
if both tracks are not on the same audio session.
This happens when switching between two applications
playing the same type of content (e.g MP3, stereo, 44.1).
In this case, we reuse the same output thread because the track
formats are compatible.

Bug: 11247103.
Change-Id: I2b9031591149adeb70766da5e0d21ff2933a37e8

10 years agoaudioflinger: fix offload resume after drain
Eric Laurent [Wed, 13 Nov 2013 03:10:17 +0000 (19:10 -0800)]
audioflinger: fix offload resume after drain

When pausing and resuming during the drain,
the drain sequence number shuold not be modified
otherwise the drain callback will be ignored.
This causes failure to notify end of stream to audio
player and transition to next song.

Bug: 11247103.
Change-Id: I2a35c5cc3fd6aa667cdd257f9e9cc8715cef5159

10 years agoAwesomePlayer: Improve performance on high-fps clips
Lajos Molnar [Wed, 23 Oct 2013 22:19:47 +0000 (15:19 -0700)]
AwesomePlayer: Improve performance on high-fps clips

- Immediately retry rendering next frame after frame skip.
- Schedule next videoEvent based on the timestamp of the
  next frame.

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

10 years agoIgnore transport stream packets with the "transport_error_indicator" bit set
Andreas Huber [Mon, 11 Nov 2013 21:35:39 +0000 (13:35 -0800)]
Ignore transport stream packets with the "transport_error_indicator" bit set

which indicates that they contain at least one bitstream error that was
unrecoverable.

Change-Id: I10665fd190194fdd2568175fe00b6063d3fc10a5
related-to-bug: 11537029

10 years agoMerge "Back to the old way of making sure that no more buffers are submitted" into...
Andreas Huber [Tue, 12 Nov 2013 18:37:46 +0000 (18:37 +0000)]
Merge "Back to the old way of making sure that no more buffers are submitted" into klp-dev

10 years agoCamera API2: Add support for partial result quirk
Eino-Ville Talvala [Thu, 7 Nov 2013 23:13:16 +0000 (15:13 -0800)]
Camera API2: Add support for partial result quirk

- Camera3Device: Include requestId in partial 3A results
- FrameProcessorBase: Add support for partial result listeners
- CameraDeviceClient: Listen and forward partial results to client

Bug: 11115603
Change-Id: If1cc6bbc32932742ac142c058688761ebf6a8024

10 years agoMerge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into...
Andreas Huber [Tue, 12 Nov 2013 00:21:51 +0000 (00:21 +0000)]
Merge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into klp-dev

10 years agoOnly initialize sniffers once, don't hold mutex while sniffing
Marco Nelissen [Wed, 6 Nov 2013 18:50:17 +0000 (10:50 -0800)]
Only initialize sniffers once, don't hold mutex while sniffing

b/11482896

Change-Id: Ie036554b4c9e7e8863cb07901d414ea457f1b2f1
(cherry picked from commit 377fce69297a0e5b7c3b266a7602b17146785635)

10 years agoMerge "StageFrightRecorder: do not use meta-data mode for software encoders" into...
Lajos Molnar [Mon, 11 Nov 2013 16:16:46 +0000 (16:16 +0000)]
Merge "StageFrightRecorder: do not use meta-data mode for software encoders" into klp-dev

10 years agoMerge "TimedEventQueue: improve wakelock management" into klp-dev
Eric Laurent [Mon, 11 Nov 2013 00:21:16 +0000 (00:21 +0000)]
Merge "TimedEventQueue: improve wakelock management" into klp-dev

10 years agoBack to the old way of making sure that no more buffers are submitted
Andreas Huber [Fri, 8 Nov 2013 18:57:34 +0000 (10:57 -0800)]
Back to the old way of making sure that no more buffers are submitted

to the component while in executing->idle state.

Change-Id: Ia207f0a112025ed0e2c4d62f404afbbfa694cbab
related-to-bug: 1155746311573543

10 years agoMerge "Properly handle executing->idle in GraphicBufferSource" into klp-dev
Andreas Huber [Fri, 8 Nov 2013 16:19:35 +0000 (16:19 +0000)]
Merge "Properly handle executing->idle in GraphicBufferSource" into klp-dev

10 years agoTimedEventQueue: improve wakelock management
Eric Laurent [Tue, 5 Nov 2013 00:08:15 +0000 (16:08 -0800)]
TimedEventQueue: improve wakelock management

Do not acquire a wakelock unless the event is delayed by more
than a given time. This prevents from acquiring/releasing
wakelocks too often which has adverse effects on performance.

Bug: 11509471.
Change-Id: Id06803b393b40c4db5095a6e7ec02339fa581a38

10 years agoReplace assert with error message
Andy McFadden [Thu, 7 Nov 2013 22:39:03 +0000 (14:39 -0800)]
Replace assert with error message

The failure happens when vendor code sends EMPTY_BUFFER_DONE
twice on the same buffer.  The second time through, we see a slot
that has already been emptied, and get very confused.

This should be handled with an error, not an assertion, so we now
log a stern complaint and carry on.

Bug 11557463

Change-Id: I76e53ff08924bca81afb6980df8e59a6012ff8fe

10 years agoProperly handle executing->idle in GraphicBufferSource
Andreas Huber [Thu, 7 Nov 2013 19:13:27 +0000 (11:13 -0800)]
Properly handle executing->idle in GraphicBufferSource

ACodec has initiated the transition from exectuing->idle and is waiting
for the component to return all buffers so they can be freed.
It's counter productive and with some vendors harmful to submit additional
buffers to the component from this point on.

Change-Id: I332be254a1faf94902c77b5792a373ab447e44d3
related-to-bug: 11573543

10 years agoCamera HAL3/API1: Add support for the partial result quirk.
Eino-Ville Talvala [Fri, 11 Oct 2013 16:51:09 +0000 (09:51 -0700)]
Camera HAL3/API1: Add support for the partial result quirk.

- Camera2Client:
 - Detect partial result quirk
- Camera3Device:
 - Accumulate all partial results together
 - Fire off 3A-only result once all 3A states are available
- FrameProcessorBase:
 - Filter out partials, don't send to listeners
- FrameProcessor:
 - Skip face detect on partials
 - Make sure to only handle a 3A update for a given frame once
 - Trigger AF notifications when AF mode or trigger changes, to
   properly detect all AF transitions.

Bug: 11115603
Change-Id: Iea8aa73c568701562a46071f7ea100624251d10b

10 years agoMerge "audioflinger: fix direct output underrun" into klp-dev
Eric Laurent [Wed, 6 Nov 2013 17:29:58 +0000 (17:29 +0000)]
Merge "audioflinger: fix direct output underrun" into klp-dev

10 years agoaudioflinger: fix direct output underrun
Eric Laurent [Wed, 6 Nov 2013 02:22:08 +0000 (18:22 -0800)]
audioflinger: fix direct output underrun

Underruns on tracks handled by a direct or offloaded
threads were not properly reported to the applications
causing a failure to automatically recover.

Bug: 11535001.
Change-Id: I7a8696b4d646f78b16710addfe7c108d0dd0038d

10 years agoconfigure bitrate and bitrate mode at encoder initialization for VP8/9
Andreas Huber [Tue, 5 Nov 2013 20:36:17 +0000 (12:36 -0800)]
configure bitrate and bitrate mode at encoder initialization for VP8/9

Change-Id: I0389264db4102cabb0c6fcb4ca223d85cc9e86fb
related-to-bug: 11536167

10 years agoMerge "Notify current video size if available" into klp-dev
Marco Nelissen [Mon, 4 Nov 2013 17:42:11 +0000 (17:42 +0000)]
Merge "Notify current video size if available" into klp-dev

10 years agoMerge "Restore NuPlayer error and EOS handling" into klp-dev
Lajos Molnar [Fri, 1 Nov 2013 23:17:47 +0000 (23:17 +0000)]
Merge "Restore NuPlayer error and EOS handling" into klp-dev

10 years agoNotify current video size if available
Marco Nelissen [Fri, 1 Nov 2013 17:33:18 +0000 (10:33 -0700)]
Notify current video size if available

b/11248101

Change-Id: I0fa3b5592efcf400c86692002267da6825e331ad

10 years agoMerge "AudioFlinger: fix duplicating thread standby." into klp-dev
Eric Laurent [Thu, 31 Oct 2013 22:29:50 +0000 (22:29 +0000)]
Merge "AudioFlinger: fix duplicating thread standby." into klp-dev

10 years agoAudioFlinger: fix duplicating thread standby.
Eric Laurent [Wed, 30 Oct 2013 23:57:06 +0000 (16:57 -0700)]
AudioFlinger: fix duplicating thread standby.

Commit fd47797 fixing issue 11247103 introduced a regression
where the duplicating thread does not exit standby state as
expected. This in turn prevents the tracks sending audio to
other threads to complete their activity cycle normally.

The fix conists in clearing mStandby state also in the specialized
threadLoop_write() method of DuplicatingThread subclass.

Bug: 11451415.
Change-Id: Ie8a92c819a56a2834ea25fa70a8b7b2125721775

10 years agoMerge "camera: Collect stack traces when bad things happen, print with dumpsys" into...
Igor Murashkin [Wed, 30 Oct 2013 21:09:49 +0000 (21:09 +0000)]
Merge "camera: Collect stack traces when bad things happen, print with dumpsys" into klp-dev

10 years agoRestore NuPlayer error and EOS handling
Lajos Molnar [Mon, 28 Oct 2013 21:59:21 +0000 (14:59 -0700)]
Restore NuPlayer error and EOS handling

This was erroneously removed by commit a73c954

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

10 years agoMerge "AwesomePlayer: ensure STARTED message works after reset" into klp-dev
Lajos Molnar [Wed, 30 Oct 2013 20:23:17 +0000 (20:23 +0000)]
Merge "AwesomePlayer: ensure STARTED message works after reset" into klp-dev

10 years agoStageFrightRecorder: do not use meta-data mode for software encoders
Lajos Molnar [Wed, 30 Oct 2013 17:02:12 +0000 (10:02 -0700)]
StageFrightRecorder: do not use meta-data mode for software encoders

Camera HAL v1 uses vendor-specific camera-source meta-data mode, but
software encoders use generic gralloc-source mode, so they are not
compatible.

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

10 years agoMerge "audioflinger: enable effects after registration if needed" into klp-dev
Eric Laurent [Wed, 30 Oct 2013 01:13:52 +0000 (01:13 +0000)]
Merge "audioflinger: enable effects after registration if needed" into klp-dev

10 years agocamera: Collect stack traces when bad things happen, print with dumpsys
Igor Murashkin [Wed, 23 Oct 2013 23:40:06 +0000 (16:40 -0700)]
camera: Collect stack traces when bad things happen, print with dumpsys

Bug: 11324229
Change-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6

10 years agoAwesomePlayer: ensure STARTED message works after reset
Lajos Molnar [Mon, 28 Oct 2013 22:01:15 +0000 (15:01 -0700)]
AwesomePlayer: ensure STARTED message works after reset

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

10 years agoAudioFlinger: more fixes for offload audio lost
Eric Laurent [Sat, 26 Oct 2013 01:10:40 +0000 (18:10 -0700)]
AudioFlinger: more fixes for offload audio lost

mStandby being false was not a reliable indication that
something had been written to audio HAL.

Considering the last track in mActiveTracks vector as the
latest activated track was wrong as this is a SortedVector.

Bug: 11247103.
Change-Id: I397d011c5afcdd779def3fe25aaae7669a472cfc

10 years agoAssign blame for playback wakelocks.
Marco Nelissen [Mon, 14 Jan 2013 22:12:05 +0000 (14:12 -0800)]
Assign blame for playback wakelocks.

Set a work source for the playback wakelock, so that playback is
counted against the requesting app instead of the media server.

Cherrypicked from master.

b/9464621

Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31

10 years agoMerge "Check for NULL buffer in repeat-latest" into klp-dev
Andy McFadden [Thu, 24 Oct 2013 17:35:43 +0000 (17:35 +0000)]
Merge "Check for NULL buffer in repeat-latest" into klp-dev

10 years agoCheck for NULL buffer in repeat-latest
Andy McFadden [Wed, 23 Oct 2013 20:39:43 +0000 (13:39 -0700)]
Check for NULL buffer in repeat-latest

Repeating the most-recent buffer appears to fail when the producer
disconnects.  This adds a NULL check to avoid crashing.

Bug 10607920

Change-Id: Ied036004425f046fcf9c26303823681f3fddb99e

10 years agoMerge "Fix kAutoRampDurationUs overflow issue" into klp-dev
Vineeta Srivastava [Wed, 23 Oct 2013 19:58:15 +0000 (19:58 +0000)]
Merge "Fix kAutoRampDurationUs overflow issue" into klp-dev

10 years agoMerge "Allow releaseBuffer after flush" into klp-dev
Glenn Kasten [Fri, 18 Oct 2013 22:02:46 +0000 (22:02 +0000)]
Merge "Allow releaseBuffer after flush" into klp-dev

10 years agoFix kAutoRampDurationUs overflow issue
Vineeta Srivastava [Thu, 17 Oct 2013 21:23:00 +0000 (14:23 -0700)]
Fix kAutoRampDurationUs overflow issue

When kAutoRampDurationUs multiplies with mSampleRate, it overflows to int64.
Type cast it to int64 to make sure RampDurationUs properly.

BUg: 11162491
Change-Id: I4f93bc9acc8456e25623a9255ca7a5b206425009

10 years agoAllow releaseBuffer after flush
Glenn Kasten [Fri, 18 Oct 2013 20:00:29 +0000 (13:00 -0700)]
Allow releaseBuffer after flush

After AudioTrack start checks for pending flush,
allow releaseBuffer on any previously obtained buffer.
For example, this can happen if the resampler has obtained
a buffer but not released the whole buffer yet.
Note that the resampler will be reading obsolete data.

Bug: 11285590
Change-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5

10 years agoaudioflinger: fix track terminated before playing
Eric Laurent [Fri, 18 Oct 2013 01:59:26 +0000 (18:59 -0700)]
audioflinger: fix track terminated before playing

When a track is terminated before any audio was written,
we should not send a drain request to the HAL. The drain
will be ignored and we will wait the async callback for ever.

Also fix a potential deadlock by not deleting a track with the
thread mutex held: mPreviousTrack changed from a sp to a raw pointer.

Bug: 11247103.
Change-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae

10 years agoMerge "Fix flush() followed by start()" into klp-dev
Glenn Kasten [Thu, 17 Oct 2013 23:12:05 +0000 (23:12 +0000)]
Merge "Fix flush() followed by start()" into klp-dev

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 agoFix flush() followed by start()
Glenn Kasten [Thu, 17 Oct 2013 18:32:39 +0000 (11:32 -0700)]
Fix flush() followed by start()

Bug: 11259166
Change-Id: I72526cdfd4e3ff4b06e6a317e577f57cc285205d

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 agoaudioflinger: enable effects after registration if needed
Eric Laurent [Sat, 12 Oct 2013 23:17:46 +0000 (16:17 -0700)]
audioflinger: enable effects after registration if needed

This fixes a bug where effects were not properly reenabled after
being moved from one playback thread to another. The effect
is enabled but the audio policy manager sees it as disabled.

Bug: 11181933.
Change-Id: I19cac7acbaf61c546e667fd85ed7d4eda1c716d8

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