OSDN Git Service

android-x86/frameworks-av.git
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 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 agoFix slow AudioTrack and AudioRecord destruction
Glenn Kasten [Fri, 20 Sep 2013 16:20:45 +0000 (09:20 -0700)]
Fix slow AudioTrack and AudioRecord destruction

There were two causes for the slowness:

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

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

Does not address the 1 second polling for NS_WHENEVER.

Bug: 10822765
Change-Id: Id665994551e87e4d7da9c7b015f424fd7a0b5560

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

This reverts commit 8bbbd7da02fac3de40139af19f7cf7a7cc3cc824.

Change-Id: I269a6c445cbce33451b6a9e74223e36e6abbdbe0

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

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

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

Bug: 10842868
Change-Id: I0e24f5eb713a4f8df116cd5979a84390cc0974d7

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

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

Bug: 9587132.
Change-Id: Ie9d5f4cca96306d08bc9a2dbd6edd8953096702d

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

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

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

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

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

Bug: 10810347.

Change-Id: If9a3b22cc3b9e6eb384a56c48c40e6258d0896ad

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

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

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

Bug 10826876

Change-Id: Id3130471fc1467afa8bf91d75c9d4a49245253c3

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

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

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

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

Bug: 10804238
Change-Id: I10caf8331f19e107c461696963cc10f597c91d83

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

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

Bug: 10606426.
Change-Id: Ibb5e27518daeb484a2e66302e4c6221cbaca5b70

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

Bug: 10809586
Change-Id: I5f30d4deb1233e8ade8967568e40684ef680c395

10 years agomore support for audio effect offload
Eric Laurent [Fri, 13 Sep 2013 00:37:00 +0000 (17:37 -0700)]
more support for audio effect offload

Offloading of audio effects is now enabled for offloaded
output threads. If an effect not supporting offload is enabled,
the AudioTrack is invalidated so that it can be recreated in PCM
mode.

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: Ib23d3c2d5a652361b0aaec7faee09102f2b18fce

10 years agoMerge "Partial fix for SoundPool not terminating" into klp-dev
Glenn Kasten [Wed, 18 Sep 2013 17:56:05 +0000 (17:56 +0000)]
Merge "Partial fix for SoundPool not terminating" into klp-dev

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

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

Bug: 10787103
Change-Id: Id68a23bddd6dd9df6c49c55138197260d71ca468

10 years agoMerge "Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value" into klp-dev
Lajos Molnar [Wed, 18 Sep 2013 17:31:18 +0000 (17:31 +0000)]
Merge "Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value" into klp-dev

10 years agoUse changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value
Lajos Molnar [Wed, 18 Sep 2013 02:07:40 +0000 (19:07 -0700)]
Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value

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

10 years agoLoudnessEnhancer audio effect implementation
Jean-Michel Trivi [Tue, 10 Sep 2013 16:15:18 +0000 (09:15 -0700)]
LoudnessEnhancer audio effect implementation

Implementation based on DRC effect, controlled by a
 target gain.
 The target gain is used to amplify the signal at
 the input of the DRC, and to compute the knee
 of the DRC.

Bug 8413913

Change-Id: I386d64793a9fa3f7218e053d6f0a99f6836c02bd

10 years agoMerge "Fix underruns when fast track denied due to SRC" into klp-dev
Glenn Kasten [Tue, 17 Sep 2013 22:03:00 +0000 (22:03 +0000)]
Merge "Fix underruns when fast track denied due to SRC" into klp-dev

10 years agoFix underruns when fast track denied due to SRC
Glenn Kasten [Tue, 17 Sep 2013 01:07:38 +0000 (18:07 -0700)]
Fix underruns when fast track denied due to SRC

OpenSL ES requests a fast track.  If sample rate conversion is needed,
the request is denied by server, and a larger client buffer is used
to handle the higher latency of a normal track.  However the client
notification period was calculated based on buffer being divided into
2 sub-buffers.  That resulted in the notification period being too long.
The server pulls chunks that are smaller than half the total buffer.
So now the client uses 3 sub-buffers when there is SRC.

Also removed the 'defer wake' optimization because it was incorrect.
This optimization attempted to reduce the number of wakeups of client,
when server releaseBuffer knows that another releaseBuffer will be
following.  But there is no way for the first releaseBuffer to predict
how soon the second releaseBuffer will occur.  In some cases it was
a long time, and the client underran.  So now the client is woken up
immediately if the total number of available frames to client is >=
the minimum number the client wants to see (the notification period).

Also fix bug where minimum frame count was not being used in the
calculation of notification period.

Bug: 10342804
Change-Id: I3c246f4e7bc3684a344f2cf08268dc082e338e2a

10 years agoMerge "Fix hang" into klp-dev
Marco Nelissen [Mon, 16 Sep 2013 22:57:17 +0000 (22:57 +0000)]
Merge "Fix hang" into klp-dev

10 years agoMerge "Camera3: Always set a trigger ID for an active trigger" into klp-dev
Eino-Ville Talvala [Mon, 16 Sep 2013 22:45:56 +0000 (22:45 +0000)]
Merge "Camera3: Always set a trigger ID for an active trigger" into klp-dev

10 years agoFix hang
Marco Nelissen [Mon, 16 Sep 2013 20:30:01 +0000 (13:30 -0700)]
Fix hang

Specify that the surface is controlled by the app, to avoid a hang.
b/10531761

Change-Id: Idccc2c73aa3d368d8e7fbdc071ce36e2382efea4

10 years agoMerge "Camera: setCallBackWindow only if callback surface is used" into klp-dev
Zhijun He [Mon, 16 Sep 2013 18:23:35 +0000 (18:23 +0000)]
Merge "Camera: setCallBackWindow only if callback surface is used" into klp-dev

10 years agoMerge "Add FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags" into klp-dev
Chong Zhang [Mon, 16 Sep 2013 18:14:01 +0000 (18:14 +0000)]
Merge "Add FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags" into klp-dev

10 years agoCamera3: Always set a trigger ID for an active trigger
Eino-Ville Talvala [Fri, 13 Sep 2013 18:39:24 +0000 (11:39 -0700)]
Camera3: Always set a trigger ID for an active trigger

This is to work around HAL implementations that expect to see an
ID for every trigger.

Use a dummy trigger ID of 1, since 0 has special meaning for older
HALs.

Bug: 10720617
Change-Id: I9cb1b8dbcb113cb9e737e5adb04032fd61a54c12

10 years agoCamera: setCallBackWindow only if callback surface is used
Zhijun He [Mon, 16 Sep 2013 04:06:10 +0000 (21:06 -0700)]
Camera: setCallBackWindow only if callback surface is used

Calling setCallBackWindow without checking the previewCallbackSurface could make
the stream to be deleted during callback stream operation, which is bad because
the preview is still active and the delete fails.

Bug: 10730496
Change-Id: I8addac25e5aa7901bf200d730c749bee2c088090

10 years agoCamera: Don't overwrite the error status
Zhijun He [Sat, 14 Sep 2013 00:59:59 +0000 (17:59 -0700)]
Camera: Don't overwrite the error status

Bug: 10749544
Change-Id: I6096effde03e18ee1b8c63cf3b36dce0344054c5

10 years agoMerge "Fix SoundPool.play() looping" into klp-dev
Glenn Kasten [Sat, 14 Sep 2013 00:08:55 +0000 (00:08 +0000)]
Merge "Fix SoundPool.play() looping" into klp-dev

10 years agoMerge "audioflinger: fix ro.audio.silent in offload mode" into klp-dev
Eric Laurent [Sat, 14 Sep 2013 00:07:28 +0000 (00:07 +0000)]
Merge "audioflinger: fix ro.audio.silent in offload mode" into klp-dev

10 years agoaudioflinger: fix ro.audio.silent in offload mode
Eric Laurent [Sat, 14 Sep 2013 00:00:08 +0000 (17:00 -0700)]
audioflinger: fix ro.audio.silent in offload mode

Change-Id: I5a1a79000d53146689b0a198cc5419c36509703f

10 years agoMerge "Camera: Limit supported preview sizes" into klp-dev
Zhijun He [Fri, 13 Sep 2013 23:04:17 +0000 (23:04 +0000)]
Merge "Camera: Limit supported preview sizes" into klp-dev

10 years agoCamera: Limit supported preview sizes
Zhijun He [Thu, 12 Sep 2013 05:58:17 +0000 (22:58 -0700)]
Camera: Limit supported preview sizes

The ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES can provide sizes as large
as jpeg sizes, which could cause potential issues when trying to do
full size still capture and full size preview. This is not supported
by many devices due to hardware limitation. This change limits the
preview (as well video) size to no more than 1080p.

Bug: 10625115
Change-Id: I9467ab843553ec06e8249b4a17c0ecf4c6d6f04e

10 years agoaudioflinger: longer offload thread standby delay
Eric Laurent [Wed, 4 Sep 2013 16:42:59 +0000 (09:42 -0700)]
audioflinger: longer offload thread standby delay

- Increase offloaded output thread standby delay to 1 second
to allow transition between tracks with going to stanby
if reusing the same audio track (gapless)

- Make sure pause/flush/resume sequence is sent to the HAL
in the right order

- Fix format display in track dump

Bug: 8174034.
Change-Id: I43ef6f8fdbf7427e4eff6cc2d0665d7d1463ea8a

10 years agoMerge "Fix MediaDrm cts tests" into klp-dev
Jeff Tinker [Thu, 12 Sep 2013 21:58:15 +0000 (21:58 +0000)]
Merge "Fix MediaDrm cts tests" into klp-dev

10 years agoMerge "ACodec: fix flush/resume for decoder-output-meta-data mode" into klp-dev
Lajos Molnar [Thu, 12 Sep 2013 21:16:57 +0000 (21:16 +0000)]
Merge "ACodec: fix flush/resume for decoder-output-meta-data mode" into klp-dev

10 years agoACodec: fix flush/resume for decoder-output-meta-data mode
Lajos Molnar [Thu, 12 Sep 2013 16:12:54 +0000 (09:12 -0700)]
ACodec: fix flush/resume for decoder-output-meta-data mode

When in decoder-output-meta-data mode, ACodec does not hold onto
buffers, but they are either with the native window, or with the
component/client.  However, for flushing we did not release the
discarded buffers back to native window (this makes sense because
they will be resubmitted shortly.)  This logic can be handled by
the normal resubmission.

Change-Id: Ic472b386422251515ef12f426e187f208f14decc
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10621959
Bug: 10192533

10 years agoMerge "Fix AudioTrack shared memory leak" into klp-dev
Glenn Kasten [Thu, 12 Sep 2013 15:13:44 +0000 (15:13 +0000)]
Merge "Fix AudioTrack shared memory leak" into klp-dev

10 years agoFix MediaDrm cts tests
Jeff Tinker [Thu, 12 Sep 2013 01:40:44 +0000 (18:40 -0700)]
Fix MediaDrm cts tests

Moving the build of the mock MediaDrm plugin back to
frameworks/av since it can't be installed by cts.

b/10668350

Change-Id: Id662bdb0775389b458f86a299392217f2d959422

10 years agoAdd FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags
Chong Zhang [Wed, 11 Sep 2013 19:52:43 +0000 (12:52 -0700)]
Add FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags

Also update seek flag in NuPlayerDriver, otherwise MediaPlayer will
get wrong flags.

Bug: 10676387

Change-Id: Ice30f27a9a04e37b4718d26228a407fea8d9e4fc

10 years agoMerge "audioflinger: add HOTWORD audio source." into klp-dev
Eric Laurent [Thu, 12 Sep 2013 00:15:15 +0000 (00:15 +0000)]
Merge "audioflinger: add HOTWORD audio source." into klp-dev

10 years agoPass subtitle track properties to getTrackInfo
Chong Zhang [Fri, 6 Sep 2013 22:34:50 +0000 (15:34 -0700)]
Pass subtitle track properties to getTrackInfo

Bug: 10326117

Change-Id: I15fcc49ad02e26d7cc92e82ee670bafca62a09a7

10 years agoFix SoundPool.play() looping
Glenn Kasten [Wed, 11 Sep 2013 21:35:16 +0000 (14:35 -0700)]
Fix SoundPool.play() looping

This is done by configuring SoundPool for shared memory and fast track.
Previously SoundPool used a streaming track, and looping in streaming
mode relied on the ability to loop the most recently enqueued data.
That 'feature' was lost in the new implementation of streaming, so we're
now switching from streaming mode to shared memory mode.  Shared memory
mode had always been desired, but was blocked by bug 2801375 which is fixed now.

Bug: 10171337
Change-Id: I2a938e3ffafa2a74d5210b4198b50db20ad5da0e

10 years agoFix AudioTrack shared memory leak
Glenn Kasten [Wed, 11 Sep 2013 16:14:16 +0000 (09:14 -0700)]
Fix AudioTrack shared memory leak

Bug: 2801375
Change-Id: I50e15164fe310f69ea019dca5b49171a02bc6992

10 years agoaudioflinger: add HOTWORD audio source.
Eric Laurent [Mon, 9 Sep 2013 16:08:44 +0000 (09:08 -0700)]
audioflinger: add HOTWORD audio source.

HOTWORD is a special capture audio source that uses
the same audio tuning as VOICE_RECOGNITION but allows an
active capture to be preempted.

Bug: 10640877.

Change-Id: Iea09a11cbcdbacc8d434e5230e7559dcd1b44ac0

10 years agoMerge "Make sure the encoder instance is safely release()'d before its" into klp-dev
Andreas Huber [Tue, 10 Sep 2013 19:10:50 +0000 (19:10 +0000)]
Merge "Make sure the encoder instance is safely release()'d before its" into klp-dev

11 years agoMediaMuxer: Hook up setLocation method
Zhijun He [Mon, 9 Sep 2013 22:48:58 +0000 (15:48 -0700)]
MediaMuxer: Hook up setLocation method

This method is needed when mediamuxer is used for camera video recording.

Bug: 10594784
Change-Id: I9bd006a07e5e2ac7019849e3f4f7cf7b8356d669

11 years agoMerge "camera3: Dump latest request sent with dumpsys" into klp-dev
Igor Murashkin [Mon, 9 Sep 2013 23:07:23 +0000 (23:07 +0000)]
Merge "camera3: Dump latest request sent with dumpsys" into klp-dev

11 years agoMerge "audioflinger: no effects on offloaded tracks" into klp-dev
Eric Laurent [Mon, 9 Sep 2013 20:19:47 +0000 (20:19 +0000)]
Merge "audioflinger: no effects on offloaded tracks" into klp-dev

11 years agoaudioflinger: no effects on offloaded tracks
Eric Laurent [Sat, 31 Aug 2013 19:59:48 +0000 (12:59 -0700)]
audioflinger: no effects on offloaded tracks

Invalidate offloaded tracks when an effect is enabled
so that the track is recreated in PCM mode and the effect
can be applied.
This is temporary until effect offloading is implemented.

Bug: 8174034.

Change-Id: I77b8b54a10db6cb8334be76d863ea7e720eaad09

11 years agoCamera: Correct stream id types
Zhijun He [Fri, 6 Sep 2013 22:00:01 +0000 (15:00 -0700)]
Camera: Correct stream id types

Bug: 10604704
Change-Id: I223ac5d200eb6439c08955fb7ad586592099fbae

11 years agocamera3: Dump latest request sent with dumpsys
Igor Murashkin [Fri, 6 Sep 2013 23:55:14 +0000 (16:55 -0700)]
camera3: Dump latest request sent with dumpsys

Bug: 10606535
Change-Id: I0dd5ca3e09f45701659ab9ebd3b51939a2f6e6ba

11 years agoCamera: Send VIDEO_SNAPSHOT intent for video snapshot case
Zhijun He [Fri, 6 Sep 2013 18:46:01 +0000 (11:46 -0700)]
Camera: Send VIDEO_SNAPSHOT intent for video snapshot case

Bug: 9924539
Change-Id: Ief39eff79c31f2c2aa5df2fe1a0f04c4afc74690

11 years agoMake sure the encoder instance is safely release()'d before its
Andreas Huber [Fri, 6 Sep 2013 19:03:26 +0000 (12:03 -0700)]
Make sure the encoder instance is safely release()'d before its

reference count drops to 0.

Change-Id: I6601226e2754f17e964125cacf02dc02cfbf6231
related-to-bug: 10150263

11 years agoaudioflinger: remove async write race conditions
Eric Laurent [Fri, 6 Sep 2013 01:09:19 +0000 (18:09 -0700)]
audioflinger: remove async write race conditions

Remove possible race conditions between async callback
thread and offload thread when clearing and setting the
draining and write blocked flags.

Bug: 8174034.
Change-Id: I7af10491f39dc0e7d7414862a9d8e763daa2e2b7

11 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: I22d8136636048e7fe8f8807cbc6e348ffa200a22
Signed-off-by: jpadmana <rpadmanaban.jayashree@gmail.com>
11 years agoMerge "Effects Factory changes for effects offload" into klp-dev
Eric Laurent [Fri, 6 Sep 2013 17:34:56 +0000 (17:34 +0000)]
Merge "Effects Factory changes for effects offload" into klp-dev

11 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: I25b0c62b2ad523a52337128b51469e628209ea3e
Signed-off-by: jpadmana <rpadmanaban.jayashree@gmail.com>
11 years agoMerge "Better workaround for slow decoders." into klp-dev
Marco Nelissen [Fri, 6 Sep 2013 16:58:25 +0000 (16:58 +0000)]
Merge "Better workaround for slow decoders." into klp-dev

11 years agoMerge "camera: Fix race condition between setParameters() and stopPreview()." into...
Ruben Brunk [Fri, 6 Sep 2013 01:21:52 +0000 (01:21 +0000)]
Merge "camera: Fix race condition between setParameters() and stopPreview()." into klp-dev

11 years agocamera: Fix race condition between setParameters() and stopPreview().
Ruben Brunk [Thu, 5 Sep 2013 01:18:26 +0000 (18:18 -0700)]
camera: Fix race condition between setParameters() and stopPreview().

Bug: 10414772
Change-Id: I928cb3935afb101da8a7931f88c27dccdb03b4a9

11 years agoMerge "Start 'am' with exec()" into klp-dev
Andy McFadden [Thu, 5 Sep 2013 17:00:15 +0000 (17:00 +0000)]
Merge "Start 'am' with exec()" into klp-dev

11 years agoStart 'am' with exec()
Andy McFadden [Wed, 4 Sep 2013 22:54:07 +0000 (15:54 -0700)]
Start 'am' with exec()

We were using system() to run 'am broadcast'.  Switch to
fork()+exec().

Bug 10606037

Change-Id: Ifae1a2b4f1914f015d09f2cac8cd0b1896d87a84

11 years agoBetter workaround for slow decoders.
Marco Nelissen [Wed, 4 Sep 2013 22:00:07 +0000 (15:00 -0700)]
Better workaround for slow decoders.

This is more in the spirit of the original code. Now it checks
whether a codec instantiated by name is a video codec, and enables
the extra looper if so.

b/10528409

Change-Id: Ia253c04c1283d4ecf66f213ef4bf523279ad7cca

11 years agoMerge "wifi-display: do not use HDCP's encryptNative method if its unsupported" into...
Chong Zhang [Wed, 4 Sep 2013 22:08:00 +0000 (22:08 +0000)]
Merge "wifi-display: do not use HDCP's encryptNative method if its unsupported" into klp-dev

11 years agoMerge "Fix CameraService error flag when running HAL1 with API2." into klp-dev
Ruben Brunk [Wed, 4 Sep 2013 21:48:14 +0000 (21:48 +0000)]
Merge "Fix CameraService error flag when running HAL1 with API2." into klp-dev

11 years agoFix CameraService error flag when running HAL1 with API2.
Ruben Brunk [Mon, 19 Aug 2013 22:21:19 +0000 (15:21 -0700)]
Fix CameraService error flag when running HAL1 with API2.

Bug: 10620944

Change-Id: I44c0d09a3d313ae8f724fbe61fa5f36cf5b38b6d

11 years agoMerge " Fixed timestamp handling in ESQueue Access Unit parser. This fixes bug...
Rachad [Wed, 4 Sep 2013 16:21:35 +0000 (16:21 +0000)]
Merge "  Fixed timestamp handling in ESQueue Access Unit parser.   This fixes bug b/10294801" into klp-dev

11 years agoMerge "Work around decoder slowness" into klp-dev
Marco Nelissen [Wed, 4 Sep 2013 01:35:40 +0000 (01:35 +0000)]
Merge "Work around decoder slowness" into klp-dev

11 years agowifi-display: do not use HDCP's encryptNative method if its unsupported
Chong Zhang [Tue, 3 Sep 2013 21:35:37 +0000 (14:35 -0700)]
wifi-display: do not use HDCP's encryptNative method if its unsupported

Bug: 10609422
Change-Id: I005f1d04a4191b1503b5f3e895a98b8d6560c402

11 years agoWork around decoder slowness
Marco Nelissen [Tue, 3 Sep 2013 22:29:33 +0000 (15:29 -0700)]
Work around decoder slowness

b/10528409

Change-Id: Ifcaf0488d63e87676b1e9382437943138deb76a6

11 years agoFix miscellanous AudioTrack::getTimestamp() bugs
Glenn Kasten [Fri, 30 Aug 2013 20:28:22 +0000 (13:28 -0700)]
Fix miscellanous AudioTrack::getTimestamp() bugs

Check that get_presentation_position is non-NULL before calling.

AudioTrack::getTimestamp not implemented for fast tracks.

Fix typo in Track::getTimestamp().

Fix bugs in AudioTrack::getTimestamp after stop:
 - getTimestamp while stopped is not allowed.
 - stop, start, getTimestamp now returns the correct value.

Change-Id: Ie8d9dc1f28d8927634e04175a68b147ffc2ea8eb

11 years agoImplement MonoPipe::getTimestamp
Glenn Kasten [Thu, 29 Aug 2013 21:40:55 +0000 (14:40 -0700)]
Implement MonoPipe::getTimestamp

using SingleStateQueue observer

Change-Id: I7b1928b087f1e676c7b291df6cefa7707301662c

11 years agoFastMixer computes presentation timestamps for fast tracks
Glenn Kasten [Fri, 23 Aug 2013 16:26:31 +0000 (09:26 -0700)]
FastMixer computes presentation timestamps for fast tracks

and forwards them to each track's ExtendedAudioBufferProvider::onTimestamp().

Change-Id: I06fb9586bb7e20d5c0289abdc8cac6cd3fd2f6e8

11 years agoAdd ExtendedAudioBufferProvider::framesReleased and onTimestamp
Glenn Kasten [Fri, 23 Aug 2013 17:54:07 +0000 (10:54 -0700)]
Add ExtendedAudioBufferProvider::framesReleased and onTimestamp

and implement them in SourceAudioBufferProvider using the associated NBAIO_Source,
and in Track using the associated AudioTrackServerProxy.

Change-Id: I60dc4adba63fc1dc452ff16caf347e4a7c8242c2

11 years agoAdd NBAIO_Source::onTimestamp()
Glenn Kasten [Mon, 26 Aug 2013 17:29:28 +0000 (10:29 -0700)]
Add NBAIO_Source::onTimestamp()

with dummy default implementation, and implement in MonoPipeReader.
onTimestamp is meant to be called by the corresponding sink when it has
a new timestamp available.

Change-Id: I8a90d24d1061e4a592ce5bd8ee1c9fce6bdd8a84