History log of /frameworks/av/include/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
35d5af131c9d4962e935082f204ccd6a2130861c 28-Jan-2015 Weiyin Jiang <wjiang@codeaurora.org> nuplayer: acquire wakelock during offload pause timeout

Hold a wakelock while paused in audio offload mode, until audio
teardown event is received, or pause is canceled.

Since ARM cores are sleeping, the delayed AMessage will not be
received, and the audio output driver will not be closed.
This blocks XO shutdown.

Bug: 19297092
Change-Id: I3d11fef633e3f2783f4aa31e71285e2fa09d234c
edia/stagefright/foundation/AWakeLock.h
3a01a71dcbb467d06cc5da4a72a82bb588648cfc 31-Jan-2015 Lajos Molnar <lajos@google.com> stagefright: add fallback for native flex-YUV support

Use software renderer if codec cannot support flex-YUV on a surface

Bug: 17906609
Change-Id: I3d0e3ff5fee7d7b3e2416892968fa18f6139598a
edia/stagefright/MediaCodec.h
0d09182a1dde960f7acda1c28469e5deead1b996 30-Jan-2015 Lajos Molnar <lajos@google.com> stagefright: add support for native flex-YUV formats

Bug: 17906609
Change-Id: I14116796eaa94aa8ae62dcc29f67cb7d2c060d34
edia/stagefright/ACodec.h
78b01639c08fe5e7e9c1be5e9dc5de560f1383f9 30-Jan-2015 Rachad <rachad@google.com> Acodec: Send framerate information to OMX decoder if available

Bug: 19110889
Change-Id: Ia8dbe1b77aaac421ec9415884e1248b9b68168dc
edia/stagefright/ACodec.h
0b460ad7557f6be56aad3fa027d93b38d5995ac4 10-Jan-2015 Rachad <rachad@google.com> Merge "ACodec: Added support for E-AC3 decoders" into lmp-mr1-dev
1713460104b86f6be3a5d9993d9ace864d889b2d 08-Jan-2015 Chong Zhang <chz@google.com> mark any copyrighted content as protected to disable capture

bug: 18916274
Change-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340
edia/stagefright/ACodec.h
8a4728966dc9c78e21c3c93a927707e93c05e5e0 24-Dec-2014 Rachad <rachad@google.com> ACodec: Added support for E-AC3 decoders

Bug: 17883772

Change-Id: I05f674c33522eec0e6ceeece88dd800b1857b3ab
edia/stagefright/ACodec.h
edia/stagefright/MediaDefs.h
eee82e44548f17253c2e06b25725f91c7b549ec2 12-Dec-2014 Lajos Molnar <lajos@google.com> MediaCodecList: handle binder death

Bug: 18691591
Change-Id: Icc402d6ea9b0de4ac642c3b403fb64e865481b2e
edia/stagefright/MediaCodecList.h
a0940a569f2bc24b00dc10ce0fa7658b1dc3a3a5 24-Sep-2014 Lajos Molnar <lajos@google.com> stagefright: misc fixes to software video encoders (and decoders)

- move logic to set encoder parameters to common encoder class
(similarly to what was done for decoders)
- set compressed buffer size based on frame size and compression ratio,
and codec-specific minimum size
- set raw buffer size based on frame size and metadata mode
- do not set stride and slice height on compressed ports
- advertise only QCIF support for google H263 encoder
- set large-enough input size for video decoders to support adaptive
playback
- do not change input buffer size on output port reconfiguration, as
no input buffer reallocation takes place
- do not return empty buffers with EOS after EOS has been signaled

Bug: 18513091
Bug: 18639027
Change-Id: Ib13492ef66adf331aa4572c67d2b283ea020cb41
edia/stagefright/foundation/AUtils.h
baac183f3808d7b68f184647a97bd381620415fe 02-Dec-2014 Eric Laurent <elaurent@google.com> audio policy: binder calls for dynamic audio policy mixes

Add binder calls to register and unregister dynamic mixes
to AudioPolicyManager.

Bug: 16009464.

Change-Id: I4ef38166d0cfc88c984970969380d0cd6eb083ac
edia/AudioSystem.h
edia/IAudioPolicyService.h
275e8e9de2e11b4b344f5a201f1f0e51fda02d9c 01-Dec-2014 Eric Laurent <elaurent@google.com> audio policy: add support for custom mixes

Add support for custom mixes in AudioPolicyManager.

Two methods are added to register or unregister a list of custom mixes
with their attributes and format.

getOutputForAttr() and getInputForAttr() first look for a match in
registered mixes before defaulting to normal output/input selection

Remote submix device connection disconnection now takes address into
account to identify the correspnoding custom mix.

Bug: 16009464.

Change-Id: I3f1c2a485a0fb71b1f984ed0adc9b68aa971e408
edia/AudioPolicy.h
edia/AudioPolicyHelper.h
4e865a3cfe4c955e0890321a6b488cf661808b63 06-Dec-2014 Lajos Molnar <lajos@google.com> stagefright: preserve output format flags on format change

Some flags are only set in configure, and get lost when output
format changes.

Bug: 17383204
Change-Id: I2011bce70920c4ee46fccc378da3b428f3395c11
edia/stagefright/ACodec.h
caf7f48a0ef558689d39aafd187c1571ff4128b4 26-Nov-2014 Eric Laurent <elaurent@google.com> AudioRecord: use audio attributes instead of audio source.

Added AudioRecord constructor with audio attributes.
Replaced AudioPolicymanager::getInput() by getInputForAttr().

No new functionality for now.

Also:

- Fixed warnings in AudioPolicyManager
- Allocate audio session ID before calling getOutputForAttr() in
AudioTrack.

Bug: 16006090.
Change-Id: I15df21e4411db688e3096dd801cf579d76d81711
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioPolicyService.h
e83b55dc29ca16092ba02f36f55fa6e0e37fd78c 14-Nov-2014 Eric Laurent <elaurent@google.com> audio policy: new getOutputForAttr() prototype.

Update getOutputForAttr() prototype and group all logic
dealing with audio attributes to stream type conversion in
audio policy manager.

getOutputForAttr():
- specifies the audio session (for future use)
- returns a status code
- receives either stream type (for legacy) or audio attributes
- returns an updated streamtype

Remove logic dealing with legacy stream types to attributes conversion
from AudioTrack.

Use correct type for audio sessions in other APIs (startOutput() ...).

releaseOutput() specifies the audio session (for future use).

Bug: 18067208.

Change-Id: I1bfbe9626c04c7955d77f8a70aecfad2cb204817
edia/AudioPolicyHelper.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioPolicyService.h
a7cf01da547bad8d4e66e3e4570eddeac98b6b05 20-Nov-2014 Glenn Kasten <gkasten@google.com> Merge "Fix missing loop count for static tracks." into lmp-mr1-dev
0ebd5f95b68a3a5c9e5509f21938c9e51e74d71b 20-Nov-2014 Eric Laurent <elaurent@google.com> AudioSystem: fix cross deadlock

Do not hold gLockAPS when calling
AudioPolicyService::registerClient() in get_audio_policy_service().
registerClient() will need to acquire the AudioPolicyService mutex and
if at the same time a method called from AudioPolicyService
(with mutex held) calls back into AudioSystem and get_audio_policy_service()
a cross deadlock occurs.

Same preventive fix for get_audio_flinger().

Use a separate mutex for notification client list in AudioPolicyService.
This prevents deadlocking if registerClient() is called as a consequence of
AudioFlinger calling back into AudioPolicyManager while executing a method
with AudioPolicyService locked

Bug: 18403952.
Bug: 18450065.
Change-Id: Ia832e41aede8bc6c843fc615508fbdd74e0863b5
edia/AudioSystem.h
f6778fd0c72ab54328f0e9f5ecf0017b73e99dd8 19-Nov-2014 Eric Laurent <elaurent@google.com> AudioSystem: Add mutex for output cache

Fix cross deadlock with AudioFlinger by adding
a dedicated mutex to protect access to cached output list
and parameters.

Bug: 18410728.
Change-Id: Ia31283b1972d8865a46e84e63695173c187eb781
edia/AudioSystem.h
cb2129b3b568a4e31bcbda3545a468024bc972fe 11-Nov-2014 Andy Hung <hunga@google.com> Fix missing loop count for static tracks.

StaticAudioTrackServerProxy::framesReady() previously returned
only the contiguous frames, update to return the total
available frames. This resolves short-count looping in
SoundPool for FastTracks.

Also (1) Removes the racy condition of reading two variables
and (2) Fixes buffer->mNonContig to return the correct value
and (3) Restores behavior that loop count of 1 goes back to
loopStart once during playback.

Bug: 11830751
Bug: 12070295
Bug: 17456842
Change-Id: I64906e6036bb00a1d7375b03efe6deb69d6478ca
rivate/media/AudioTrackShared.h
990dad996b748fdaa2041cc6d039e96ccfeae6fb 14-Nov-2014 Eric Laurent <elaurent@google.com> Merge "remove AudioSystem::getOutputSamplingRateForAttr()" into lmp-mr1-dev
cede28e22bce0c92a6d139b51d2c007d2e3f6fca 14-Nov-2014 Lajos Molnar <lajos@google.com> Merge "stagefright: add runtime debug support" into lmp-mr1-dev
97e6ca1a0be83e420ab238d9a1c31d3112126646 14-Nov-2014 Chong Zhang <chz@google.com> Merge "Stagefright: use MediaCodec in async mode for recording" into lmp-mr1-dev
0d6db582f2ccc9f8943c5f3965e2994b7d137158 13-Nov-2014 Eric Laurent <elaurent@google.com> remove AudioSystem::getOutputSamplingRateForAttr()

It is safer to query the output sampling rate once the output
have been acquired by calling getOutputForAttr().

Bug: 16009464.
Change-Id: Ib561facd19fba5359a6b837d75f1a1cd2dc51b29
edia/AudioSystem.h
1099188151eb63af24ecf542b58d4257bbb8236a 16-Oct-2014 Praveen Chavan <pchavan@codeaurora.org> Stagefright: use MediaCodec in async mode for recording

Async mode reduces the number of messages posted between
MediaCodec and MediaCodecSource. This reduces thread
wakeups and helps reduce CPU utilization.

Bug: 18246026
Change-Id: I4b0837f309fdd12e323c1dfa72525f5a31971a03
edia/stagefright/MediaCodecSource.h
f296e2b262d2a8f7c570eaed454a28cca99eb976 19-Jun-2014 Lajos Molnar <lajos@google.com> stagefright: add runtime debug support

Bug: 18285408
Change-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384
edia/stagefright/foundation/ADebug.h
edia/stagefright/foundation/AStringUtils.h
e662cd5cdbe1312d6b74754d2945fffe99e4fe2c 07-Nov-2014 Glenn Kasten <gkasten@google.com> Merge "Improve AudioTrack recovery from mediaserver death" into lmp-mr1-dev
1609e451cf6101efe6aeaaa2da61db2cb095c9e8 07-Nov-2014 Dan Stoza <stoza@google.com> Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev
a36060891425c4ce0621e40344ac473ec14924dd 07-Nov-2014 Eric Laurent <elaurent@google.com> AudioSystem: remove obsolete method.

Bug: 18067208.
Change-Id: I9bbf9088485f5162c765ca504d9b784b956234c6
edia/AudioSystem.h
1cf9ad1abb599ce4057189e0db154cf00b4913f8 06-Nov-2014 Jeff Tinker <jtinker@google.com> Merge "Pass resolution to Crypto plugin on format change" into lmp-mr1-dev
19a3f69d9d5398db62ee7b15f2c13052d7ee9f07 06-Nov-2014 Jeff Tinker <jtinker@google.com> Merge "Add missing secure stop methods" into lmp-mr1-dev
d2d089fc86c62843992e7d5b371ee9227189a1e6 05-Nov-2014 Glenn Kasten <gkasten@google.com> Improve AudioTrack recovery from mediaserver death

1. Fix race condition in handling of binder death notifications.

AudioSystem has a mixture of APIs for both ordinary app clients,
and the AudioFlinger and AudioPolicy services within mediaserver.
Due to this mix of uses, it is possible for there to be "surprising"
sequences of calls on the call stack.

Previously, we used a single mutex for all global variables, but
this caused a deadlock. To avoid the deadlock, we unlocked the mutex
during the critical sequence of calls. But this was a a
crucial place where it should have stayed locked;
see Change-Id I315c1c5066f62b05e1c13b04fae1272b5fbce977

Now we use separate mutexes for the AudioFlinger, AudioPolicy, and audio port
related global variables. This allows us to correctly hold each mutex
throughout the atomic region, even when AudioFlinger calls AudioPolicy
via AudioSystem, or vice-versa.

2. AudioSystem::clearAudioConfigCache now clears the IAudioFlinger reference.

3. Make AudioSystem::get_audio_policy_service more like get_audio_flinger.

Bug: 18242291
Change-Id: I9761443d8337df5bf66d4ca2316a9fd0bd11be94
edia/AudioSystem.h
74adca9ad30b7f8a70d40c5237bade0d16c4ea58 05-Nov-2014 Eric Laurent <elaurent@google.com> IAudioPolicyService: bound array size in queryDefaultPreProcessing

Bug: 18226810.
Change-Id: Ib8e2bfe835a8681aac50bf23161db14e50c9a124
edia/AudioEffect.h
04f101c35eaa90b1f95939afac30674ec1611e6f 04-Nov-2014 Dan Stoza <stoza@google.com> Add a BufferItem parameter to onFrameAvailable

Passes the BufferItem for the queued buffer to the onFrameAvailable
callback so the consumer can track the BufferQueue's contents.

Bug: 18111837
Change-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0
amera/ProCamera.h
edia/stagefright/SurfaceMediaSource.h
2514d080c8a54ff603a45d7e336de668fe7329db 03-Nov-2014 Jeff Tinker <jtinker@google.com> Pass resolution to Crypto plugin on format change

Change-Id: I56cd557ce3525fe625db8c312d2557d3c8b51101
related-to-bug: 16034599
edia/ICrypto.h
3c1285e8f86bd497e14c14fb6df7b42072ef52bd 31-Oct-2014 Jeff Tinker <jtinker@google.com> Add missing secure stop methods

b/18053197
b/18076411

Change-Id: I923dc893d48c70bf17980007b32f0ac5dfd22896
edia/IDrm.h
df2592beab557663a471da2ac33ca463f7eee722 25-Oct-2014 Chong Zhang <chz@google.com> do not hold mNotifyLock when calling MediaPlayer::notify

Bug:18120688
Change-Id: Ia66dcfc3fd2d67d1ceba9808d21e0120cc8691d6
edia/MediaPlayerInterface.h
258420480e1edc73b112a5994a8456e31c558860 22-Oct-2014 Lajos Molnar <lajos@google.com> Merge "stagefright: try to free codec instance if MediaCodec.release hangs" into lmp-dev
30358faf33fb9b638257b017fadb4c5f7352d903 22-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: try to free codec instance if MediaCodec.release hangs

Bug: 18033275
Change-Id: If86cd26566d7b75941976f37829bbec619800778
edia/stagefright/ACodec.h
52dfbee90cc3c4426428318e06a92774f5201198 15-Oct-2014 Praveen Chavan <pchavan@codeaurora.org> Stagefright: MediaCodec: shutdown allocated codec on error

If MediaCodec sees a fatal error and transitions to
UNINITIALIZED state, The codec may still be alive (with an
exception of 'mediaserver-died' error).
Handle Shutdown of the codec during release().

Bug: 17784012
Bug: 18033275

Change-Id: I891e036499d9b440a57f77fb735a5ba4da9a6e43
edia/stagefright/MediaCodec.h
af238382e33a027494a53556e6104b7245e7213f 09-Oct-2014 Marco Nelissen <marcone@google.com> Merge "Fix VideoFrame class layout for 64/32 bit" into lmp-dev
04906863a1fa7f296ac11f07e62aa688da39c3ad 09-Oct-2014 Marco Nelissen <marcone@google.com> Fix VideoFrame class layout for 64/32 bit

This structure is passed between 64 and 32 bit processes via shared
memory, so ensure it's the same size, and that the members we care
about are in the same place.

Bug: 17569156
Change-Id: Id776bc825af1fbf43a6dd3407cca064f6d932902
rivate/media/VideoFrame.h
584c14c370f141685b7e8963a13ed91584383ca1 07-Oct-2014 Rachad <rachad@google.com> Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev
f2a64852a4a48c5a3d8a08ffcda20d6884586672 04-Oct-2014 Chong Zhang <chz@google.com> MediaRecorder: only dequeue available buffers from MediaCodec

Bug: 17514968
Change-Id: If232f92d163deb2440b927315c69e0c4d51ca290
edia/stagefright/MediaCodecSource.h
a147b4f91143d9f2fb608e22f9fca14bbd029573 02-Oct-2014 Lajos Molnar <lajos@google.com> mediarecorder: set level if setting default profile

Bug: 17676461
Change-Id: If01ccd09935945d330de0842be95c3544951b6b9
edia/stagefright/ACodec.h
c416becd966945fca5fa7fb45ac51f84d1d8cd20 02-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: move math templates into AUtils.h

add unit test for math templates

Bug: 17676461
Change-Id: Ie964c5fcfcca1ec53b4538f8e577392e8fbb4319
edia/stagefright/foundation/AUtils.h
d0b9efe7d8300e48f7a99c1dd746d60060206b3c 01-Oct-2014 Chong Zhang <chz@google.com> Merge "add AAC audio decoder params for PCM limiter enable" into lmp-dev
360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee 29-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: support disconnect before NuCachedSource2 is created

Bug: 17672488
Change-Id: I96776c9679fdcfbe9a442c86447c59802b1465ac
edia/stagefright/DataSource.h
2965f4eb7dceaf1173f0e2d93c11c28293aeead7 01-Oct-2014 Chong Zhang <chz@google.com> add AAC audio decoder params for PCM limiter enable

Bug: 17470065
Change-Id: Ib67aa1c50e3b6c24c4b12b0f31a996cc6874abd1
edia/stagefright/ACodec.h
ab76066c11e988ca3d3a5d6d74dd510ae080322e 23-Sep-2014 Rachad <rachad@google.com> stagefright: do not allocate output buffers for tunneled playback

Do not allocate native window buffers for tunneled video playback codecs.

Bug: 17112525
Change-Id: I262d8030a9df6188938fde5d62ebce8faf7dba1f
edia/stagefright/ACodec.h
bb6c9a05840d924b502ce0f1868fca4881ada1ed 25-Sep-2014 Eric Laurent <elaurent@google.com> audio: fix stream type for accessibility usage

Make sure that accessibility prompts are heard when
a ringtone is active by forcing stream type
to AUDIO_STREAM_RING when phone state is AUDIO_MODE_RINGTONE.

Bug: 17558149.
Change-Id: Ia3bead8052fca5cbf282c267f7b9b06014fef628
edia/AudioSystem.h
edia/IAudioPolicyService.h
d7f77cd78f5180ba7a04b270d632cc4f9f11718a 22-Sep-2014 Andy Hung <hunga@google.com> Merge "MediaCodec: Fix deallocated pointer reference when calling reset()" into lmp-dev
dc9f58dc23a86d0635fd8601d1cbc8d47bab0303 18-Sep-2014 Andy Hung <hunga@google.com> MediaCodec: Fix deallocated pointer reference when calling reset()

The name pointer argument in MediaCodec::init() was being
implicitly deallocated.

Bug: 17499622
Change-Id: If9409f95674e52d1478f969f77693c4d27ff1ff2
edia/stagefright/MediaCodec.h
0079b331227fc1555d7c5305f33917a570d44890 22-Sep-2014 Wei Jia <wjia@google.com> Merge "MediaBuffer: ABuffer will release MediaBuffer when it's destructed." into lmp-dev
96e92b58b7e9647b4c7c2f54b62a1b357ab06b66 19-Sep-2014 Wei Jia <wjia@google.com> MediaBuffer: ABuffer will release MediaBuffer when it's destructed.

Bug: 17454455
Change-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99
edia/stagefright/MediaBuffer.h
edia/stagefright/foundation/ABuffer.h
edia/stagefright/foundation/MediaBufferBase.h
6aadfce1d8c972faad7f4437dcd88d8cd3557611 19-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioEffect acquires session" into lmp-dev
a0fd9ca66a68baefd9d76800fd66823fd654ef45 18-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioEffect acquires session

Currently, users of audio sessions, AudioTrack and AudioRecord,
are acquiring and releasing audio sessions according to their
life-cycle. AudioEffect instances were not counting as users
of an audio session. This caused an effect used on a session
to be purged by AudioFlinger::purgeStaleEffects_l() whenever
the last user of that session went away.
This CL makes AudioEffect acquire and release a session when
created and destroyed.

Bug 15432115

Change-Id: I922532150009988d43872f9b5928044a830ae0b3
edia/AudioEffect.h
832666776a681ec3a30ee8fc7d5da9039646147d 18-Sep-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: use getTimestamp instead of getPosition" into lmp-dev
7f1bc8af1c46695191bf7e2aba6467f3616629c0 12-Sep-2014 Andy Hung <hunga@google.com> Fix AudioTrack offloaded timestamp handling.

getTimestamp for offloaded tracks now returns WOULD_BLOCK for
situations where the timestamp is unavailable due to the
previous track still flushing or the timestamp is stale.
It is fixed for normal playback conditions.

Bug: 14659809
Bug: 17428188
Change-Id: Ic9ec07ccabc604236979769db5c4ea2dec252660
edia/AudioTrack.h
06ad1528e6dd4c866c085d3cad9235d2752eb3ed 28-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: use getTimestamp instead of getPosition

Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
edia/MediaPlayerInterface.h
200092b7f21d2b98f30b800e79d152636f9ba225 16-Aug-2014 Glenn Kasten <gkasten@google.com> Clean up AudioTrack position and timestamp handling

Replace epoch concept by observing and accumulating server delta
positions. The advantage of using server deltas instead of absolute
values is that they (1) are not sensitive to 32-bit wraparound,
(2) are not sensitive to server behavior for stop(), and
(3) prepare for future 64-bit client positions without requiring 64-bit
positions on server.

Add comments to AudioTrack::getTimestamp() and friends
that the timestamp output parameter is undefined on error.

Don't allow getTimestamp to return a negative frame position after stop().

Accumulate the client released frames, which may be useful for a future API.

Bug: 11815245
Change-Id: I652940fa2db2f34a78c012a3ead0d9204fa29c6e
edia/AudioTrack.h
edia/IAudioTrack.h
edia/nbaio/NBAIO.h
7ea429295a2eb31f2d9256c36c1ef53a195456ac 27-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: don't use AAtomizer in AMessage

Bug: 15094301
Change-Id: Ib82fb6d8fb6b48402d81f411123b3d924368eb93
edia/stagefright/foundation/AMessage.h
83ee5564965408307e6f045ce5faed72bc3437b0 10-Sep-2014 Zhijun He <zhijunhe@google.com> Merge "CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P" into lmp-dev
9caf1f5677edb365c20739612cba9f59291a9afb 10-Sep-2014 Jeff Tinker <jtinker@google.com> Merge "Add error code for insufficient output protection" into lmp-dev
9520aa609c505cf8a9ee105bd78dc186cfb7770b 10-Sep-2014 Zhijun He <zhijunhe@google.com> CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P

Bug: 17059255
Change-Id: Ic6b272e4ceec8fc852c9eb787370f4d366dad0ac
edia/MediaProfiles.h
640adb3cf89cc9b826372009fad8c9b3d120482e 05-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> Cache audio attributes when player not available

Cache the audio attributes stored in a Parcel in the client-side
MediaPlayer object if they are set through setParameter()
before the server-side MediaPlayer is available. Apply them when
the player is prepared.

Bug 17280746

Change-Id: I72f1a7fc4e2b076fae8cbdede77a2f74e98b2a03
edia/mediaplayer.h
d71233a846aca7035a851941c1530d04c6a65086 03-Sep-2014 Marco Nelissen <marcone@google.com> Merge "Use CharacterEncodingDetector in metadataretriever" into lmp-dev
ea8462ccd1a882f2c7c785250bcfaa2606b53cb5 03-Sep-2014 Marco Nelissen <marcone@google.com> Merge "Fix more potential deadlocks in ALooperRoster" into lmp-dev
34581f44cde67960fbac3ba1f191a2c063ea5145 30-Aug-2014 Marco Nelissen <marcone@google.com> Use CharacterEncodingDetector in metadataretriever

instead of media scanner. This way the java MediaMetadataRetriever API
will give the same result as the media scanner.
Also apply some tweaks to the encoding detector to improve handling of
ISO-8859-1 tags.

Bug: 16302581, 17205395

Change-Id: I1682a7a6a8bf04cffaa455044ba72dd7fd152d49
edia/CharacterEncodingDetector.h
edia/StringArray.h
edia/mediascanner.h
97827bd7c7e64dec22c8fe0f9e734a3c432ad7ee 29-Aug-2014 Rachad <rachad@google.com> Tunneled Video Playback:
Changed AudioHwSync token to int32_t to match Audio stack api.

Bug: 17112525
Change-Id: I673819495c2e7b540e8d7572cc95796bddbf63bb
edia/stagefright/ACodec.h
0671947255321526cb1ba1ec3a20af9e8579c257 29-Aug-2014 Jeff Tinker <jtinker@google.com> Add error code for insufficient output protection

bug: 16034599
Change-Id: Ib52c8bdae83ea138cac897bce78ab651c36c1998
edia/stagefright/MediaErrors.h
047dd13ca42ff7cea10821ef64eb09229fa3e751 28-Aug-2014 Marco Nelissen <marcone@google.com> Fix more potential deadlocks in ALooperRoster

Bug: 17059501
Change-Id: I242f2859527bed2d6e275c27de94fb19f4dcdc28
edia/stagefright/foundation/ALooperRoster.h
1754351d9199721e7e7943461689e399ef015260 06-Aug-2014 Eino-Ville Talvala <etalvala@google.com> CameraService: Correct API2 error handling

- Add more error codes to the binder camera2 callbacks
- Translate HAL errors to callback errors
- When flushing, report failures for queued requests
- Treat stream config failure as nonfatal
- Send request errors when buffers aren't available for captures

Bug: 15524101
Bug: 14448494
Bug: 11272459
Bug: 17160301
Change-Id: I81aa54e805a9cce1cb8a6a9374549daa7666deb2
amera/camera2/ICameraDeviceCallbacks.h
d354d8d1b09503c0166c1f3e626cda72a3eeb83c 20-Aug-2014 Chong Zhang <chz@google.com> move cache prefill to GenericSource's message handler

This allows prepareAsync to be terminated by reset promptly.

It also makes it easier to do buffer update as GenericSource
can access the cache status now.

Bug: 16892748
Bug: 17182378

Change-Id: Ia55c04a810fd805041cb2025f6739afa5120b5ed
edia/stagefright/DataSource.h
0b88a62d4d5ac1e515721e587cdf9bcec191812b 19-Mar-2014 Igor Murashkin <iam@google.com> camera: Fix setParameters for Preview FPS single/range values

As a workaround, duplicate CameraParameters into CameraParameters2 to
prevent ABI break for some camera HALs that directly link into
CameraParameters.

CameraParameters2 implements the real fixes needed in the framework,
while CameraParameters is left in to satisfy older camera HALs.

Bug: 12609188
Bug: 16654949
Change-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da
amera/CameraParameters2.h
732c6d955524ead6c31e6e1bafbd41ea4cee525d 15-Aug-2014 Lajos Molnar <lajos@google.com> stagefright/media: add support for codec features with text value

Bug: 11990470
Change-Id: I7600d999c5f4b6821d825d25fa7e8a2bb5a80c46
edia/MediaCodecInfo.h
d018b8ffd84452a7a4b992b5325713b3256e48ff 12-Aug-2014 Lajos Molnar <lajos@google.com> Merge "MediaCodecList: handle errors gracefully" into lmp-dev
2461e0cf6ae3fe5c9b52ce9e3ac764f4aff5e5eb 12-Aug-2014 Lajos Molnar <lajos@google.com> MediaCodecList: don't return references

Bug: 16905025
Change-Id: I5b42b294f0cc785b8e4dda0e82c8f8377a46f487
edia/MediaCodecInfo.h
6ff58f04f78886b07c72c0118eb71a78d08f5651 12-Aug-2014 Lajos Molnar <lajos@google.com> MediaCodecList: handle errors gracefully

Handle missing OMX codecs, and codecs that do not load.
Fix NULL dereference when initializing codec with no type.

Bug: 16907578
Bug: 16905025
Change-Id: I5d103db36ebb029d1aab03222bf6e9324beb1566
edia/MediaCodecInfo.h
306c92dabc524f408445f7da2524c7a5e77ade63 11-Aug-2014 Andy Hung <hunga@google.com> Merge "Extend downsampling ratios greater than 2:1" into lmp-dev
cd04484f4837b8ca0041d118286ab6a98e84fc75 07-Aug-2014 Andy Hung <hunga@google.com> Extend downsampling ratios greater than 2:1

Also improve robustness to choice of sampling rate or buffer size
such that increasing either by 10x does not cause overflow.

Bug: 12979141
Bug: 15933066
Change-Id: If7989bd745d1bee3bdf811b8b7c978543ccafb65
edia/AudioResamplerPublic.h
e079c76c5c29d6cca85d9debc470358588721618 09-Aug-2014 Rachad <rachad@google.com> Merge "Added Tunneled video playback support to ACodec" into lmp-dev
5a446aafff3020d607ad6fb14cc7ae76dd8f7947 30-Jul-2014 Rachad <rachad@google.com> Added Tunneled video playback support to ACodec

Bug:16132368
Change-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38
edia/IOMX.h
edia/stagefright/ACodec.h
7c4f0d757bfeedaab4b7ef4ccf5b0a72ec8f4306 10-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer: getSelectedTrack

Change-Id: If5251f89b881e7f268e11a06cd3685d794c958b6
edia/mediaplayer.h
ddabe554e95940891c5df9a7f092798351b5f75e 08-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AAC decoder: add support for controlling presentation parameters" into lmp-dev
8045853d03649f43ea2f7107e7d2dbb9b2d20855 02-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> AAC decoder: add support for controlling presentation parameters

Control the dowmixing of the AAC decoder
Control the DRC processing of the AAC decoder

Bug 16740915

Change-Id: I9b06ea8785f56213ea120ed85eeb360c88223297
edia/stagefright/ACodec.h
317bb9163befccd87348c11bdfc0044e629b362b 08-Aug-2014 Andy Hung <hunga@google.com> Merge "Clarify and implement MediaCodec status codes" into lmp-dev
251d4be8aa5ab80bc915a82a2420233bdc62018e 31-Jul-2014 Andy Hung <hunga@google.com> Clarify and implement MediaCodec status codes

Clarify MediaCodec status codes in MediaError.h
When appropriate, return OMX error codes for status.
Optionally return a status code from CreateByType() and
CreateByComponentName().

Bug: 12034929
Bug: 13976475
Change-Id: I7463dd08d101074f730481b26127a69c9186c97e
edia/stagefright/MediaCodec.h
edia/stagefright/MediaErrors.h
229d242665c612fd97431d1e7ac004823b47f181 07-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: support flexible YUV format

- Report flexible format for standard OMX formats that are flexible.
- Accept flexible format when specifying video port formats.

Bug: 10706245
Change-Id: I9e82bc895bb0d5d606eb05fdf83bec766eaa2046
edia/stagefright/ACodec.h
1381d4b5c0385aec3741073e5998773b064c1fb0 08-Aug-2014 Lajos Molnar <lajos@google.com> media/playerservice: add getCodecList() to MediaPlayerService

Bug: 11990470
Change-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef
edia/IMediaPlayerService.h
60b1c0e79d12a1c70758bc8d060156924635f8ba 07-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: rework media codec list and infos

This is in preparation of serving the codec list and codec infos
from the mediaserver

Bug: 11990470
Change-Id: Ib8e2708679c9ce461a4ba179974a740cdcdf2731
edia/IMediaCodecList.h
edia/MediaCodecInfo.h
edia/stagefright/MediaCodecList.h
edia/stagefright/OMXCodec.h
8accee4f0e94f19866d260be6eecd6c219eb4982 06-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: add AString parceling, and equal/compareIgnoreCase

Bug: 11990470
Change-Id: If43ada5d2e768931f4409e499eaa268edade0500
edia/stagefright/foundation/AString.h
a9522673f3076ea937eb2912945d7ed646ca05df 06-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: move ARRAY_SIZE to foundation

Bug: 11990470
Change-Id: Ifae790b774a0fb210acbe33a1310d3d6ba46e7fa
edia/stagefright/foundation/ABase.h
29e09664c2c5b49d78f2666d38a812502a36e26b 07-Aug-2014 Chong Zhang <chz@google.com> Merge "some fixes for crash when extractor creation fails" into lmp-dev
3de157dd8f9cd45bf9b0406268f5830887105ae1 06-Aug-2014 Chong Zhang <chz@google.com> some fixes for crash when extractor creation fails

- prefetch data for sniffing

- notify error instead of crashing if extractor is NULL

Bug: 16818302

Change-Id: I56ff4996d99ac2811d19d141f7ff7acdd7c1da17
edia/stagefright/DataSource.h
edia/stagefright/MediaExtractor.h
93c3d41bdb15e39dac0faea9c5b60f1637cd477c 01-Aug-2014 Eric Laurent <elaurent@google.com> AudioSystem: add API to query audio HW sync source

Add a method to query from the audio HAL the HW sync
source used for a given audio session.
Modify audio policy to select a direct output with HW sync
when requested.

Bug: 16132368.

Change-Id: I03038f9188f2d389f8a5fd76a671854013a4513e
edia/AudioSystem.h
edia/IAudioFlinger.h
b97cc6a9a3c81215e365c61b071a932073b56ff2 02-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> AAC encoder: add support for SBR mode selection

Change-Id: Ibc07bff7710398929c135f38324dd29857fa0ea6
edia/stagefright/ACodec.h
3c9879b980ad195797543ce237ecbe479267e16f 06-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AAC encoder: add support for SBR mode selection" into lmp-dev
df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871 28-Jul-2014 Eric Laurent <elaurent@google.com> Add sound trigger control by audio policy

Audio policy:
- Added active capture indication to sound trigger service:
recognition stops if concurrent capture is not supported.
- Added generation of reserved I/O handle and session ID for
utterance capture.

Sound trigger service
- Added sound model update callback handling.
- Added service state callback
- Simplified callback shared memory allocation.

Bug: 12378680.

Change-Id: Ib0292c2733e6df90fdae480633dd9953d0016ef1
edia/AudioSystem.h
edia/IAudioPolicyService.h
oundtrigger/ISoundTriggerClient.h
oundtrigger/ISoundTriggerHwService.h
oundtrigger/SoundTrigger.h
oundtrigger/SoundTriggerCallback.h
ca61a8f0bc22606cb11b99bdb10a146f941d556e 04-Aug-2014 Chong Zhang <chz@google.com> Merge "MediaCodecSource: stop puller from caller's thread instead of looper" into lmp-dev
16e79115e497386eaf010af388627f94314a55a3 01-Aug-2014 Chong Zhang <chz@google.com> MediaCodecSource: stop puller from caller's thread instead of looper

Currently CameraSource/AudioSource's stop() and read() are both called
from the puller's looper. This works if source operates normally (i.e.
read() returns regularly before source is stopped), as the stop() will
eventually be handled by the looper. However, if for some reason the
source hang, it will get stuck in read(), and the stop() will never
be processed, which could lead to ANR (in addition to the source hang).

We need to move the source's stop out of the puller's looper. It also
can't be on MediaCodecSource's looper, because the source's stop
synchrounously waits for all outstanding buffers to return, these
are only returned when MediaCodecSource's looper processes the buffer.

This change moves the stop to MediaCodecSource::stop, after encoder
is shutdown.

Bug: 16522726
Change-Id: Ie91f563c5d8a98ab091bf1945af4e51f662b9403
edia/stagefright/MediaCodecSource.h
68b15554f6dca3b056eac517fe5fa2fd4ee80a33 30-Apr-2014 Jeff Tinker <jtinker@google.com> Allow device to be unprovisioned

bug: 12247651
Change-Id: I564ac8de3da2430342a028f4058e2c5ac2d85d5e
edia/IDrm.h
1d5b45f70f684996acc24fbf3e30fa5af0a0c642 31-Jul-2014 Lajos Molnar <lajos@google.com> Merge "stagefright: MediaCodec async operations." into lmp-dev
89869f692c35d0ca914c7de4a1f5ff63c9920634 28-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: enable decoder color format selection

Bug: 10706245
Change-Id: I9a77631bfae0358be229b079228c1fcae0e77faf
edia/stagefright/ACodec.h
0e8cfc36044ba97545e7c9e129b0b3e98eec5089 31-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: MediaCodec async operations.

In async mode:
- codec must be restarted after flush
- dequeueIn/OutputBuffers fail
- getIn/OutputBuffers fail

Bug: 11990118
Change-Id: If2d6a76ab499ee9ed4a11486fb537acbc52e66f6
edia/stagefright/MediaCodec.h
e9e63bcf6c36351f1129b0bdc5e93f17f0f9f0b4 31-Jul-2014 Chong Zhang <chz@google.com> handle rotation in NuPlayer

Bug: 16653284
Change-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0
edia/stagefright/ACodec.h
9f2dcf14cb4bb75bd810f6ed8938e4dbbb18c651 30-Jul-2014 Andy Hung <hunga@google.com> Merge "Add isSafeArraySize for new array size checks" into lmp-dev
d00b7d1fb949e226b189e7d0047d78531b3264da 29-Jul-2014 Andy Hung <hunga@google.com> Add isSafeArraySize for new array size checks

Bug: 15328708
Change-Id: I9dfca30745c3e4dda91c3894363462f8631c41a1
edia/stagefright/foundation/ABase.h
4dc680607181e6a76f4e91a39366c4f5dfb7b03e 29-Jul-2014 Eric Laurent <elaurent@google.com> audio policy: pass session ID to capture activity methods

Indicate the audio session ID when calling getInput(),
startInput(), stopInput(), releaseInput().

Bug: 12378680.
Change-Id: I763793752f93e2f4e1445a5ab217c895af011038
edia/AudioSystem.h
edia/IAudioPolicyService.h
de3f8392fbf380ba6f09d009b00d7172477389a2 28-Jul-2014 Eric Laurent <elaurent@google.com> rename AudioSystem::newAudioSessionId()

Rename AudioSystem::newAudioSessionId() to
AudioSystem::newAudioUniqueId() as it can be used
also for I/O handles.

Bug: 12378680.
Change-Id: I611ea3b5eb57a4b0774437f477ee87dc4ccc2cc2
edia/AudioSystem.h
edia/IAudioFlinger.h
cf2c0210c8afbe7d0661ccbbae3835b5ce73c0bf 26-Jul-2014 Eric Laurent <elaurent@google.com> AudioFlinger: update openInput() and openOutput()

Add parameters to openInput() and openOutput(): device address,
input source.
Allow caller to specify a given I/O handle
Group parameters in a struct audio_config.

Bug: 12378680.
Change-Id: I7e9af74c0d996561cc13cbee7d9012d2daf33025
edia/IAudioFlinger.h
03c556ae1eb409ad088c49037e185946c54e1d25 25-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add flexible YUV support

Bug: 10706245
Change-Id: Icd246f22edfc67ed5240d59f5a5bde3e5f749465
edia/stagefright/ACodec.h
90b16fbdef406d95a6fb2f9395719dd7b7ca6adb 25-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add ABuffer.CreateAsCopy

Bug: 10706245
Change-Id: I8c4e96a2581a039e9e8237c3e09e2c22226da055
edia/stagefright/foundation/ABuffer.h
6c28f1fb6d8262a327ffa8be5bb4c84c9ef7ce62 26-Jul-2014 Zhijun He <zhijunhe@google.com> Merge "CamcorderProfiles: add high speed profile constants" into lmp-dev
83b8808faad1e91690c64d7007348be8d9ebde73 21-Jun-2014 Eric Laurent <elaurent@google.com> audio flinger: add patch connection between hw modules

Add support for audio device connections between different audio
hw modules.
The patch is performed by creating a bridge between the playback
thread connected to the sink device and the record thread connected
to the source device using a pair of specialized PlaybackTrack and
RecordTrack.
- Added PatchTrack and PatchRecord classes.
- Added TrackBase type to indicate more clearly the track behavior.
- A TrackBase can allocate the buffer or reuse an existing one.
- Factored some code in openOutput() and openInput() for internal use
by PatchPanel.

Bug: 14815883.

Change-Id: Ib9515fcda864610458a4bc81fa8f59096ff4d7db
rivate/media/AudioTrackShared.h
e07909715b44cc56df723750af93f0608210f94d 24-Jul-2014 Zhijun He <zhijunhe@google.com> CamcorderProfiles: add high speed profile constants

Change-Id: I8f783466f8c2560820db14488acc1a309d27ab0f
edia/MediaProfiles.h
dc042ce074ea2cb6063f3e154da26f42b7f3b233 23-Jul-2014 Lajos Molnar <lajos@google.com> Merge "MediaRecorder: constants for webm recordering" into lmp-dev
92b583ad786edcbe0ae0925e2b7cc043e0849b86 23-Jul-2014 Robert Shih <robertshih@google.com> MediaRecorder: constants for webm recordering

Bug: 16329805
Change-Id: Idcd603545352e36a88589d3e23ccf1ee37704695
edia/mediarecorder.h
114819633470ebd5b346c13c2a82a0025d2d39c0 10-Jul-2014 Robert Shih <robertshih@google.com> StagefrightRecorder: webm (video only) support

Bug: 16329805
Change-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364
edia/mediarecorder.h
f6f4c0d7c5e2d33b38f080896466e56e2d0a97d4 23-Jul-2014 Robert Shih <robertshih@google.com> Merge "StagefrightRecorder: webm (video only) support" into lmp-dev
b104d5a4dfbd8415f6bc227106b9f0130350d79a 23-Jul-2014 Robert Shih <robertshih@google.com> Merge "MediaWriter: make get/setStartTimeOffsetMs virtual" into lmp-dev
2606b10d51c2dceb851a2ea63e803aba4134bf00 22-Jul-2014 Chong Zhang <chz@google.com> update battery stats for video/audio

Bug: 12979595

Change-Id: Iafd93046a4fd9f22bcd66084deace746a7ca5d3c
edia/stagefright/MediaCodec.h
df813a3ba59109ca519ce0cb00a1a9144074f40e 21-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> audio_attributes_t for SoundPool

Add support for the audio_attributes_t structure in the
SoundPoool constructor.
Remove SRC quality which was never implemented.
Remove stream types.

Add file to contain audio helper functions related to policy.

Change-Id: I1720ff15e7b23ea7b713a4395fdfac26dc3fd4da
edia/AudioPolicyHelper.h
edia/SoundPool.h
d8cf55d878edddfc36bb821a95b88dfb2453c2c3 17-Jul-2014 Robert Shih <robertshih@google.com> MediaWriter: make get/setStartTimeOffsetMs virtual

Bug: 16329805
Change-Id: Ib971dd95b54829438c8af97528f9e00b87ab3f1e
edia/stagefright/MPEG4Writer.h
edia/stagefright/MediaWriter.h
693dd7e252529be98acd2e2585b44a6a10fa4233 17-Jul-2014 Zhijun He <zhijunhe@google.com> Merge "Camera HAL3: migrate from partial quirks to partial result" into lmp-dev
513d967dae82cd03e67bff17b927cf869d9bc43e 15-Jul-2014 Lajos Molnar <lajos@google.com> Add MediaCodecList capabilities

Bug: 12065651
Change-Id: Icfb73c0009621cd747e113d8a0cd84c966bf055d
edia/stagefright/MediaCodecList.h
edia/stagefright/foundation/AMessage.h
edia/stagefright/foundation/AString.h
c9a11abbb6b48604ea063daedd6118024cfbfa92 17-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add nonblocking MediaBufferGroup.acquire_buffer method

Bug: 15699665
Change-Id: I31c1ab4413c62ff3dd4e0d5b06a398064b4aaddd
edia/stagefright/MediaBufferGroup.h
8eebda045d865c2e23fc439e87fe915467812967 17-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add nonblocking read option to MediaBuffer

Bug: 15699665
Change-Id: I2aaddc4c937cf5c1e36386bafd7d396d5781bf6d
edia/stagefright/MediaSource.h
91be1fbc424035e70688e60306b755893e0fb0ae 17-Jul-2014 Glenn Kasten <gkasten@google.com> Merge "Move AudioRecord frame count calculations to server" into lmp-dev
e94754c9601d132354e5db2079762c7d1a0bddda 17-Jul-2014 Glenn Kasten <gkasten@google.com> Merge "Add audio_input_flags_t to IAudioPolicyService::getInput" into lmp-dev
d1a4f35ec10f36c33cf7391e800910da8fdebb6e 17-Jul-2014 Glenn Kasten <gkasten@google.com> Merge "Add audio_input_flags_t to IAudioFlinger::openInput" into lmp-dev
7410591dad836434c72ddee66680802708b70c10 03-Jul-2014 Glenn Kasten <gkasten@google.com> Move AudioRecord frame count calculations to server

Buffer frame count and notification frame count
are now calculated by server instead of by client.
The server has more information and can do a better job.

Also fix a few bugs:

- If a fast track was re-created, even with same pipe depth, it would fail.
Now it can correctly re-create a fast track provided the pipe depth is same.

- Notification frame count for fast tracks was calculated by client
as 1/2 of the total frame count, which is a large value due to the pipe.
Now the notification frame count is set by server to the HAL frame count.
This should reduce latency for fast tracks.

- EVENT_OVERRUN were happening frequently when there was sample rate conversion,
because the client didn't know about the sample rate conversion,
and under-estimated the necessary buffer size. Now since server
calculates the buffer sizes, EVENT_OVERRUN is unlikely.

- RecordThread::createRecordTrack_l was checking for mono and stereo
for fast tracks. This is not necessary, and now we can handle a
multi-channel fast track.

Bug: 7498763
Change-Id: I0c581618e8db33084d5ff9ed50a592990c9749e8
edia/AudioRecord.h
b3b1660ecb67f61f9da54efced8677fa3a6f4863 16-Jul-2014 Glenn Kasten <gkasten@google.com> Add audio_input_flags_t to IAudioPolicyService::getInput

Change-Id: I9f37be05f8dc7b85a8827a94e76ca0f45453e170
edia/AudioSystem.h
edia/IAudioPolicyService.h
ec40d284218466d8f0e832e7eb88e6ea6c479c88 16-Jul-2014 Glenn Kasten <gkasten@google.com> Add audio_input_flags_t to IAudioFlinger::openInput

For backward compatibility, until flags are correctly calculated,
we will assume that the request is for a low latency input stream.

Change-Id: I76746834e870df00833dc77cbdaa2edd2ffeec95
edia/IAudioFlinger.h
204e3295e2814052aef7e45ee9edd60128efbbd0 15-Jul-2014 Zhijun He <zhijunhe@google.com> Camera HAL3: migrate from partial quirks to partial result

- Enable the normal partial result path for HAL3.2, the quirk is only used
for the HAL version lower than HAL3.2. The partial quirks is no longer supported
for HAL3.2 or higher versions.
- Add CameraDeviceBase getDeviceVersion API.
- Fix some build warnings

Change-Id: I7a1b03d4d5fd5258d2addfba4368bee2ba691337
amera/CaptureResult.h
dd235727a1b4e283deeb581559f99c2c8889da07 12-Jun-2014 Robert Shih <robertshih@google.com> GenericSource: implement getTrackCount/getTrackInfo

Bug: 15153976
Change-Id: I0204c4188d485cda026497469c7cde24f7bd5c95
edia/stagefright/MetaData.h
671160ffe81592efa376dc1ff0fc3f4ddcdebc35 15-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add MediaCodec.reset()

Bug: 12034929
Change-Id: I326f1356df89474aa088c1c87f8505b33654139d
edia/stagefright/MediaCodec.h
5698d4461a260dbf208484383f692b03c6473e74 18-Jun-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Set orientation flags for hardware composer.

Bug: 15116722
Change-Id: I3fcc9aea38afcbd665f86c511a9929fe9a6a3a8f
amera/CameraUtils.h
e71dcef63a746970d5c11c83207201fe8de02a78 12-Jul-2014 Chong Zhang <chz@google.com> Merge "MediaCodec: change onError cb to return CodecException"
749dafad09d85f2aaf6902a7ff16b4087e3bc4c7 12-Jul-2014 Chong Zhang <chz@google.com> MediaCodec: change onError cb to return CodecException

Bug: 11990118
Change-Id: I3278aecb20df88c42fa2709a66e6166eb3cbe56f
edia/stagefright/MediaCodec.h
c5619c7a6dcc1137fde7520351ad5284e3e958ab 09-Jul-2014 Chong Zhang <chz@google.com> MediaCodec async callbacks

Bug: 11990118

Change-Id: I6fe4b407d9c85cddec8d958620d5d356735273cf
edia/stagefright/MediaCodec.h
7bad72237b49ac47e77ffe2a89fd26f3d171324c 09-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add indexed buffer and format getters to MediaCodec

These are designed to be called from the same thread as the one
calling dequeue?Buffer, and use a mutex to avoid switching
context. All other calls of MediaCodec are designed to be blocking
and synchronous.

Bug: 14297827
Change-Id: If341c6e4407ca6f10f5e0d47008dddc0e20b0a50
edia/stagefright/MediaCodec.h
2db91ae0e6aa33b50cc924ad65d6dc01876d220f 11-Jul-2014 Chong Zhang <chz@google.com> Merge "MediaCodec async callbacks"
2829edccd7d2bb8244246f316face82b650b8949 18-Jun-2014 aarti jadhav-gaikwad <agaikwad@nvidia.com> stagefright: Pass audio aac sub formats in offloadinfo

Pass audio aac sub formats in offloadinfo according to
aac profile. Audio HAL can take decision about offload
using DSP capabilities

Change-Id: If269a3654b5d2b09c183212b0646ef03e06f2d8f
edia/stagefright/Utils.h
718cee5f3ba7c0a055fbeced90f26296f8acb117 08-Jul-2014 Chong Zhang <chz@google.com> Merge "handle emulation_prevention_three_bytes for AVC"
e8eb7a885e574858ddfe3dfd836fbe9ce62f92b8 08-Jul-2014 Lajos Molnar <lajos@google.com> Merge "AString: add startsWithIgnoreCase and endsWithIgnoreCase"
862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c 27-Jun-2014 Chong Zhang <chz@google.com> handle emulation_prevention_three_bytes for AVC

bug: 15917805
Change-Id: I824fe7eea807f8faba6b149c31890b7a5df87825
edia/stagefright/foundation/ABitReader.h
d8cbe4a024ef54adf043b6ea31fa22271b8b2c51 08-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: update ACodec to use CodecBase enumerations directly

Bug: 11784825
Change-Id: I9f322b78b52bfcc5040fda951486df4354cdba4f
edia/stagefright/ACodec.h
92cd05b8f2e994aabcdda5d7454c96a707dc9579 07-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: update MediaCodec to use CodecBase instead of ACodec

MediaCodec still creates an ACodec instance in init()

Bug: 11784825
Change-Id: Ifba1e1582c788056c0e59afdf68cd3a504ab3679
edia/stagefright/MediaCodec.h
05ca3bfb847ff3c1980f2f0922a4d494c0e7ebab 07-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: create CodecBase interface (abstract class)

This abstracts out the ACodec dependency in MediaCodec.

Bug: 11784825
Change-Id: I0aa8b56c6414865fd4b0646e2c5bd1b62d030682
edia/stagefright/ACodec.h
edia/stagefright/CodecBase.h
edia/stagefright/foundation/AHierarchicalStateMachine.h
5c68f959eaa2e02fed5643c78e281fff42bcc0a2 07-Jul-2014 Glenn Kasten <gkasten@google.com> Merge "IAudioFlinger::openRecord now suggests notificationFrames"
7df8c0b799d8f52d6386e03313286dbd7d5cdc7c 03-Jul-2014 Glenn Kasten <gkasten@google.com> IAudioFlinger::openRecord now suggests notificationFrames

Change-Id: I08885cc381d03c522a23289e74f0e1ed46563863
edia/IAudioFlinger.h
7c6f87856c0880ee39c2107a0fc3c9b41f8c195c 03-Jul-2014 Glenn Kasten <gkasten@google.com> Add new API AudioRecord::notificationFrames()

Change-Id: I27fb888f01ed547242ffaa8d4626d38c7999ad53
edia/AudioRecord.h
11fa4012f1c68083abfc21972f3f46da397d2c5c 07-Jul-2014 Glenn Kasten <gkasten@google.com> Merge "Add new API AudioRecord::notificationFrames()"
665470b36f202bcc8ee2f7417f68fd2608dd07c1 04-Jul-2014 Eric Laurent <elaurent@google.com> audio: deprecate audio_stream_frame_size()

Bug: 15000850.
Change-Id: I955a6efa620b8f70fa5193c7853cbe88e879c9c3
edia/AudioSystem.h
5ba4440c11eb975ec0e104e0af1981838f42f57c 04-Jul-2014 Glenn Kasten <gkasten@google.com> Merge "Remove obsolete IAudioFlinger::channelCount()"
d9d7fa0873796ac661c44a7fcd6ad5ff697ff01f 24-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Support for audio attributes on audio output of media player

Change-Id: Iae4995c98e64add1ab9e6c8ae6501515032755f5
edia/AudioTrack.h
edia/mediaplayer.h
4ce87ac008bcd6a1004ca416f6d7031ba813078f 28-Jun-2014 Rachad <rachad@google.com> Merge "Add HEVC encoder support to ACodec"
c8efda9e9cd61dfe8e486c93fa8940b77cc3cceb 20-May-2014 Rachad <rachad@google.com> Add HEVC encoder support to ACodec

Bug: 14571712
Change-Id: Idaec2394d569541f3963befe722f46f6b0007937
edia/stagefright/ACodec.h
b10cdadf0fb945e23ca77008d4af76584bd0e39a 17-Jun-2014 Zhijun He <zhijunhe@google.com> cameraservice: Implement HAL1 and higher HAL API coexistence

A higher hal version device like HAL3.2 can be opened as HAL1.0 device
if HAL supports it. This only applies to camera API1.

Change-Id: I4ae9f59f4317158cc1bd7ed7726e4032cdd1fa07
amera/Camera.h
amera/ICameraService.h
ab5cdbaf65ca509681d2726aacdf3ac8bfb6b3fa 10-Jun-2014 Eric Laurent <elaurent@google.com> AudioTrack: add support for compressed audio

Add support for compressed audio playback by use
of an AudioTrack attached to a direct output thread.

Bug: 9428304.

Change-Id: I4a61be9cf0e31003ca85935d6e0ee38ca8192e03
edia/AudioTrack.h
edia/IAudioFlinger.h
3c1da7224155516a08d94598eb64b64204bf10f8 18-Jun-2014 Lajos Molnar <lajos@google.com> AString: add startsWithIgnoreCase and endsWithIgnoreCase

Change-Id: I340159aa14d4d3d28ea675c6c5b8a82f7e731069
edia/stagefright/foundation/AString.h
29a8b2fe294a34ac7f004203426961a599e725ea 19-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge changes I0fef0584,I322b91fa

* changes:
AudioPolicyManager: return output for audio attributes
AudioTrack construction with audio attributes
5bd3f38638acab633d181359cc9ec27b80f84d43 14-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicyManager: return output for audio attributes

In AudioPolicyManager, support querying an output
or playback strategy for audio attributes,
instead of a stream type,
In AudioTrack creation, use the output returned
for the track's attributes.

Change-Id: I0fef05845ba676404775e2e338c10e6a96237268
edia/AudioSystem.h
edia/IAudioPolicyService.h
faabb51ceef13bf1e3f692219ac410c1cd75d0de 12-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioTrack construction with audio attributes

Store audio attributes in AudioTrack class.
When an AudioTrack is "set" with non null audio
attributes, derive a stream type that reflects
the attributes.
When an AudioTrack is "set" without attributes,
and only has a stream type, derive default
audio attributes.

Change-Id: I322b91fa9a7e193118960c5e78cdddd85d66f9ad
edia/AudioTrack.h
65d14b9825311f9d1847cf282bd0419e71bac666 17-Jun-2014 Igor Murashkin <iam@google.com> camera: Add #getLegacyParameters, #supportsCameraApi to ICameraService

Change-Id: Ic86c8df3d703e7cf89caa856387e2c0a1b977401
amera/ICameraService.h
3ea91c9593c2c792f96682f436b587c278fe228c 16-Jun-2014 Chong Zhang <chz@google.com> Merge "support for CEA-608 closed caption"
a7fa1d9530b6870f2c7850e3025d7db963661803 11-Jun-2014 Chong Zhang <chz@google.com> support for CEA-608 closed caption

Bug: 15470448

Change-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083
edia/stagefright/MediaDefs.h
404fced9bfa8fa423ee210a271ca051ffd1bec13 11-Jun-2014 Chong Zhang <chz@google.com> refactor getTrackInfo()

(this is in preparation for supporting other cc source)

- split into two methods: getTrackCount() and getTrackInfo()

- move track info parcelling to NuPlayer

- parcel in the mime type of the subtitle format

Bug: 15470448
Change-Id: If00724d8c3a2b2319cb9c5f29d3fe76347bfe947
edia/stagefright/MediaDefs.h
bdb8ef09f119c3fa8cc751babd483e942ad17749 16-Jun-2014 Chong Zhang <chz@google.com> Merge "refactor getTrackInfo()"
9c68ac03f16cc32625f6965e869432eae4fded2d 13-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioSystem: remove unused stream type"
0d1004ad38955dffcb911656fc191eb29af9b4d5 13-Jun-2014 Elliott Hughes <enh@google.com> am 6bf02664: am ccaffa8d: Merge "Use char x[] rather than char x[0]."

* commit '6bf02664bbe4955d4818fe308b00ce0d97f38c8f':
Use char x[] rather than char x[0].
6bf02664bbe4955d4818fe308b00ce0d97f38c8f 13-Jun-2014 Elliott Hughes <enh@google.com> am ccaffa8d: Merge "Use char x[] rather than char x[0]."

* commit 'ccaffa8df0e201da6bfabb6d616e62904cfb5534':
Use char x[] rather than char x[0].
8b8e5d45928aed8592d321fe55f560e35a4fece8 13-Jun-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of cbd74fcb to klp-modular-dev-plus-aosp

Change-Id: I00270ef6fe813c0d3649483cbc3aba6af789e033
ccaffa8df0e201da6bfabb6d616e62904cfb5534 13-Jun-2014 Elliott Hughes <enh@google.com> Merge "Use char x[] rather than char x[0]."
4177a19769d43980bdb803bce33f9cacc1e4e1f8 13-Jun-2014 Elliott Hughes <enh@google.com> Use char x[] rather than char x[0].

Bug: 15514223
Change-Id: I895ea8ef7e391fd14cdf8976e048385e01c90f8f
edia/mediascanner.h
7903bb2b3065d58cc75637900922b434f50024d9 12-Jun-2014 Elliott Hughes <enh@google.com> am 2a8270e6: am c323737d: Merge "Offer a type-safe album art interface."

* commit '2a8270e6944fb3addfcba87f6885aaad196b8b88':
Offer a type-safe album art interface.
2a8270e6944fb3addfcba87f6885aaad196b8b88 12-Jun-2014 Elliott Hughes <enh@google.com> am c323737d: Merge "Offer a type-safe album art interface."

* commit 'c323737dd46d724b4c1ec230b283f26ae2a22b4f':
Offer a type-safe album art interface.
b7f24b101d43139b4c747129bfbc4ecf5c468b86 11-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioSystem: remove unused stream type

The audio stream type is not used in the getSampleRate() and
getFrameCount() methods.

Change-Id: I3d065ae272bd039204cd323cdab9b60460034f2d
edia/AudioSystem.h
8b1be2ca7cee71a4920d5d31fdcbad2b1d4ca49d 02-May-2014 Andy Hung <hunga@google.com> Update OMX messages for 64 bit

Change node_id and buffer_id to uint32_t.
Ensure IOMX messages are fixed size.
Remove 64 bit compile warnings in associated files.

Change-Id: Icdbef00aca575e5dc502ebb52e3ce7d0d7883203
Signed-off-by: Andy Hung <hunga@google.com>
edia/IOMX.h
edia/stagefright/MediaCodec.h
f3e80dddd7376aa9deeb27de25e1d50030a2ad98 11-Jun-2014 Elliott Hughes <enh@google.com> Offer a type-safe album art interface.

Bug: 15514223
Change-Id: Iddfc33a00e6cd3779ca09c01a55f62b151f6ec95
edia/MediaMetadataRetrieverInterface.h
edia/mediascanner.h
edia/stagefright/StagefrightMediaScanner.h
rivate/media/VideoFrame.h
5f6af1a8e34381ca2ac2527fcefe220a22f49b53 10-Jun-2014 Zhijun He <zhijunhe@google.com> MediaProfiles: Add 4K video related constants

Bug: 15287656
Change-Id: I4c49640a349afb336f52db1636902fc216bff6ad
edia/MediaProfiles.h
62df539321b3079f5ff11bb6aeaaab75ef307d40 07-Jun-2014 Lajos Molnar <lajos@google.com> am 8a454611: Merge "stagefright: added support, and SoftOMX decoder, for HEVC" into lmp-preview-dev

* commit '8a45461198c69e9e15f133c2e11ded47fc4c708b':
stagefright: added support, and SoftOMX decoder, for HEVC
3b5a6b9fa6c6825a1d0b441429e2bb365b259827 20-May-2014 Harish Mahendrakar <harish.mahendrakar@ittiam.com> stagefright: added support, and SoftOMX decoder, for HEVC

also fixed QuerySupportedProfileLevels in
SoftVideoDecoderOMXComponent.cpp

Bug: 14571712
Change-Id: Ifa3793f7c1b18ac5e8c0a096848c998cabd9e777
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
b7a11d83f749ad0200778c4815e907d011d4b5d3 19-Apr-2014 Eric Laurent <elaurent@google.com> add sound trigger native service

Change-Id: I0cd954c1c7d28a334e786d0004431d4f6a1227ec
oundtrigger/ISoundTrigger.h
oundtrigger/ISoundTriggerClient.h
oundtrigger/ISoundTriggerHwService.h
oundtrigger/SoundTrigger.h
oundtrigger/SoundTriggerCallback.h
63141c4356b4f885d3926247df508df3515e41a7 03-Jun-2014 Marco Nelissen <marcone@google.com> Fix typos, remove callback functions - do not merge

b/15414091
Change-Id: I2f7b7ea6a7943a808de2c6a54fe810eefdee133e
dk/NdkMediaCodec.h
dk/NdkMediaExtractor.h
f947dbce4390f2c3c460325d37002a34f09c0b74 01-Jun-2014 Glenn Kasten <gkasten@google.com> Remove obsolete IAudioFlinger::channelCount()

Change-Id: Ie623edae2e795f9155f1f452fe4e6c7217a4a4c8
edia/IAudioFlinger.h
72aa32f7dbbfb658097930b57659d8e50f24a953 31-May-2014 Eric Laurent <elaurent@google.com> resolved conflicts for merge of b52c152d to master

Change-Id: I34869bda071d511c9595ea0a5ff6571eb34da059
b52c152d553556b2d227ffc943489de0c60b4b02 20-May-2014 Eric Laurent <elaurent@google.com> audio policy: add routing update client interface

Added IAudioPolicyServiceClient client binder interface
for client process to receive notifications from AudioPolicyService
when audio ports are added/removed or audio patches created/released.

The audio patches owned by a given client are automatically released when
this client binder dies.

Bug: 14815883.

Change-Id: I6013f6aec03b50565cffb1ad2cd1f0f8852032c5
edia/AudioSystem.h
edia/IAudioPolicyService.h
edia/IAudioPolicyServiceClient.h
eb4860c305def68c5965474bb43c67c2c9d49bbb 29-May-2014 Marco Nelissen <marcone@google.com> getSampletime -> getSampleTime

Change-Id: I87aaa87be068d414903a0e1e22bfe4183cf45ab0
dk/NdkMediaExtractor.h
203b1a18a806e2c56c701aac49cda963bccfad5b 01-Apr-2014 Eric Laurent <elaurent@google.com> DO NOT MERGE - IAudioPolicyService interface extension for patch panel

Change-Id: I0a62e5416edc41c3a0e816275085ab18a23066f1
edia/AudioSystem.h
edia/IAudioPolicyService.h
1cda6afaf6207a41303e653a6ecd7909d73186eb 11-Apr-2014 Eric Laurent <elaurent@google.com> DO NOT MERGE - IAudioFlinger interface extension for patch panel

Change-Id: Iaabe0a7e315d5725e00a74a6ed40339b98f20330
edia/IAudioFlinger.h
5584c58c7c952b5ed891bbff3b00a0be3f96196d 28-May-2014 Eric Laurent <elaurent@google.com> Merge "IAudioPolicyService interface extension for patch panel"
5e49780692b4f23966be89ac32b19c3c1ead4e85 28-May-2014 Eric Laurent <elaurent@google.com> Merge "IAudioFlinger interface extension for patch panel"
7b2b401a1decf286890171a6791b7a6aa8b80ca7 27-May-2014 Marco Nelissen <marcone@google.com> Merge "Remove codec callback for now."
8670c31fddbeadcf9627aa970c69a823f13939ff 01-Apr-2014 Eric Laurent <elaurent@google.com> IAudioPolicyService interface extension for patch panel

Change-Id: I0a62e5416edc41c3a0e816275085ab18a23066f1
edia/AudioSystem.h
edia/IAudioPolicyService.h
4b123406c10c17852734a1b691bb9ce2a4cb7caf 11-Apr-2014 Eric Laurent <elaurent@google.com> IAudioFlinger interface extension for patch panel

Change-Id: Iaabe0a7e315d5725e00a74a6ed40339b98f20330
edia/IAudioFlinger.h
e22a64b6887240fc9910d6fc8afb0e6f81507047 24-May-2014 Marco Nelissen <marcone@google.com> Remove codec callback for now.

Change-Id: I7ef3c1fc7aa1bfec958e6ea58bf95ae35a575e91
dk/NdkMediaCodec.h
b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8 10-May-2014 Ruben Brunk <rubenbrunk@google.com> camera2: Update CameraService for HAL1 shim.

Updates the camera service to handle shim connections.

Changes include:
- Adds begin/end configure binder calls.
- Adds cache for shim client static camera metadata.
- Implements basic getCameraCharacteristic functionality for shim clients.

Bug: 15116722
Bug: 15117269

Change-Id: I510c5888ca15f8e7d3b8ed1680ff1c7f8f514744
amera/CameraParameters.h
amera/camera2/ICameraDeviceUser.h
0e03cf07deeda10c573657479591dcfbf1efca56 21-May-2014 Marco Nelissen <marcone@google.com> Remove the last of the references.

Change-Id: Id68cdab7e972e3e78e2065e56b8a095c3d496df2
dk/NdkMediaMuxer.h
43a28fb96ccb6800ceb0c6275075845f3ae5a7ed 20-May-2014 Marco Nelissen <marcone@google.com> Fix include

Change-Id: I2c1e6b0e85ff608f942e54edf9bc5dd6f8716518
dk/NdkMediaDrm.h
18a1b5904b352cedef29b95169a1226140d38576 20-May-2014 Marco Nelissen <marcone@google.com> Use pointers instead of references because C

Change-Id: I5c84469e5ff977bf8bb91be2cc6c38a0c7f08609
dk/NdkMediaDrm.h
93c6fa7508cd0f5bb0ec80ea29ef8bfab4a6015f 20-May-2014 Marco Nelissen <marcone@google.com> Merge "Add docs, releaseOutputBufferAtTime, seekTo."
ddde219f2f93c1d81ff1cfaf4d3d31d95156f7a3 20-May-2014 Rachad <rachad@google.com> Merge "Add HEVC decoder support to ACodec bug: 14571712"
79e2b622702fb148ccff12d6f38643466555c4eb 16-May-2014 Marco Nelissen <marcone@google.com> Add docs, releaseOutputBufferAtTime, seekTo.

Change-Id: Iadd231b63e75b7937c13d2ebfef47aedeaeef5a1
dk/NdkMediaCodec.h
dk/NdkMediaCrypto.h
dk/NdkMediaExtractor.h
dk/NdkMediaMuxer.h
c56f3426099a3cf2d07ccff8886050c7fbce140f 22-Mar-2014 Glenn Kasten <gkasten@google.com> Pass stereo gains as packed minifloat

This will allow (eventually) a greater dynamic range for gains.
However there are still a few remaining places in effects and mixer
that will also need to be changed in order to get the full benefit.

Also fixes a minor bug: was not checking for NaN in AudioTrack C++.

Change-Id: I63bce9e82e0a61546d8ff475fb94bcb700d99c96
rivate/media/AudioTrackShared.h
7c96d53a65085f42ac2b6d416cbc16fd36ed72ff 16-May-2014 Marco Nelissen <marcone@google.com> Fix build.

Change-Id: I2b0a3049c81b99ba233d5945e16dcddd975aa4f9
dk/NdkMediaDrm.h
5362ba070797c52a18d3cb5558cd41d1a72c74c5 15-May-2014 Marco Nelissen <marcone@google.com> Merge "Unify error/status codes"
e419d7cd5c62b4b5866a45d59c5770bb470193c1 15-May-2014 Marco Nelissen <marcone@google.com> Unify error/status codes

Change-Id: Ib90cc2f2adc07ff146256931c92c0ec4becb86f5
dk/NdkMediaCodec.h
dk/NdkMediaDrm.h
dk/NdkMediaError.h
dk/NdkMediaExtractor.h
dk/NdkMediaFormat.h
dk/NdkMediaMuxer.h
16a25c150c49c730d206167012a24cbd9eb3a082 15-May-2014 Jeff Tinker <jtinker@google.com> Merge "Hook up event handling in NDK MediaDrm API"
3305b99ec3804c740aecd2ab6d1edd5c6137b7c6 15-May-2014 Jeff Tinker <jtinker@google.com> Hook up event handling in NDK MediaDrm API

Change-Id: I48ac1d3ca5405c5909454c7a553917b31b9a50e5
dk/NdkMediaDrm.h
19a0c7687ca1d00d4518191648848a16d08083c7 15-May-2014 Andy Hung <hunga@google.com> Merge "Update OMX messages for 64 bit"
609b815a3131d22da38b2f452faa9f89daad4039 02-May-2014 Andy Hung <hunga@google.com> Update OMX messages for 64 bit

Change node_id and buffer_id to uint32_t.
Ensure IOMX messages are fixed size.
Remove 64 bit compile warnings in associated files.

Change-Id: Icdbef00aca575e5dc502ebb52e3ce7d0d7883203
Signed-off-by: Andy Hung <hunga@google.com>
edia/IOMX.h
edia/stagefright/MediaCodec.h
2472b1c0d63454e5d90a982bd6c555de6c3127bd 06-May-2014 Rachad <rachad@google.com> Add HEVC decoder support to ACodec
bug: 14571712

Change-Id: I221625a42e143cb1c581059694f6730211e251ae
edia/stagefright/MediaDefs.h
7edda7ac8b86f2493b7df945e9f63da947124288 15-May-2014 Marco Nelissen <marcone@google.com> Merge "Fix typos and pointer math."
829e097f832b4c4c41733f9b77121888204d993e 14-May-2014 Marco Nelissen <marcone@google.com> Fix typos and pointer math.

Change-Id: I07f33a57454d013844b56bc3e57fe0a271e8b38c
dk/NdkMediaCodec.h
dk/NdkMediaCrypto.h
497ca097bf373ac69405131bd257915c97b31dc0 13-May-2014 Jeff Tinker <jtinker@google.com> WIP: MediaDrm NDK APIs

Change-Id: I3ac08a3b027135c3fd2a9e95c5e8b3fd722df019
TODO: hooking up event handler, testing
dk/NdkMediaDrm.h
050eb3280d7305b84f723d515be2dc9606dc39d1 10-May-2014 Marco Nelissen <marcone@google.com> Some crypto stuff, error codes

Add crypto/drm related functions, define some media errors
instead of using magic numbers in the code.

Change-Id: I5924cba0bfcdb3623073c9182a646b70f4ead5a5
dk/NdkMediaCodec.h
dk/NdkMediaCrypto.h
dk/NdkMediaError.h
dk/NdkMediaExtractor.h
aa0315f9fdcf99e84a969a4f81192150ddaef260 13-May-2014 Marco Nelissen <marcone@google.com> Merge "Add AMediaCodec callback"
5e4c4f12337ff4d7ceb105bcd441bb7aea6ab070 09-May-2014 Glenn Kasten <gkasten@google.com> Fix bit rot in AudioStreamInSource

It obviously had not been compiled in a while.

Change-Id: If514f474808e557a67a671c3b833572ad4a88338
edia/nbaio/AudioStreamInSource.h
c26d923712a59e669d18191d93fbe3696789d592 09-May-2014 Glenn Kasten <gkasten@google.com> Allow placement of Pipe buffer to be specified

Change-Id: I2f6b68089ecfe85cd975d29ad0d0afd13c487002
edia/nbaio/Pipe.h
fe9570c7b937b49d3603ccb394aed732b79bc6be 07-May-2014 Glenn Kasten <gkasten@google.com> Remove obsolete IAudioRecord::getCblk()

Change-Id: Id20b5efd765b9796b0e391610e06dc928a829ebf
edia/IAudioRecord.h
d776ac63ce9c013c9626226e43f7db606e035838 07-May-2014 Glenn Kasten <gkasten@google.com> IAudioFlinger::openRecord returns IMemory(s)

openRecord() now explicitly returns the control block and data buffer
as separate IMemory references. If the IMemory for data buffer
is 0, this means it immediately follows the control block.

Change-Id: Ic098f88f0e037f8fbe30006689e18cacacf09d06
edia/AudioRecord.h
edia/IAudioFlinger.h
cdb42cdc5ccb785edabe1ee6407134fbae5662a9 08-May-2014 Marco Nelissen <marcone@google.com> Add AMediaCodec callback

Change-Id: I33b7ff3bcdcff6d3a5e1db385b900ae18b7e0f03
dk/NdkMediaCodec.h
fc7fca77caa12993dd938d5ff43797d781291027 08-May-2014 Lajos Molnar <lajos@google.com> MediaCodec: add renderAndReleaseOutputBuffer() method with timestamp

Bug: 11784827
Change-Id: Ia1dcbd6c1d1a4380db04b750c0eb3fa0bd58d7b4
edia/stagefright/MediaCodec.h
96b292fd3c76f9af155ee6f7a8559258eeedc6fd 08-May-2014 Glenn Kasten <gkasten@google.com> Merge "Add client side support for more AUDIO_FORMAT_PCM_*"
86aa02ce274826dc80ffa00766b16172c47503fd 08-May-2014 Marco Nelissen <marcone@google.com> Make AMediaCodec_create* APIs more like their Java counterparts

and add configure flags.

Change-Id: Ibfb7f8cad724fa1db2320966828104d40b5e6590
dk/NdkMediaCodec.h
36dae0a9ce8a1f2c7106aaf63b6d6c92300bfc8b 08-May-2014 Marco Nelissen <marcone@google.com> Merge "Expand AMediaFormat"
b773038277ba328696832b690b91ce6e95bd1a6c 01-May-2014 Glenn Kasten <gkasten@google.com> Add client side support for more AUDIO_FORMAT_PCM_*

As much as possible, the checks for specific formats are done on server
side. The only exception is 8-bit, which needs a client side workaround.

Change-Id: I52fe086c039460c8dac009de03b67eb54c56a836
edia/AudioTrack.h
34d497283c66b5ef0f8855c007eaa20d7ac8b96d 07-May-2014 Marco Nelissen <marcone@google.com> Expand AMediaFormat

Remove getDouble and getSize methods, since these are not used and/or
not present in the corresponding Java MediaFormat API.
Add setBuffer/getBuffer, needed for making formats for encoding, and
add other setters.

Change-Id: I528d51b4ed571d852b949637f7ae3a95d31da7c1
dk/NdkMediaFormat.h
0dd3c9cb0ed66888c224a97d817701df6c3b2655 07-May-2014 Marco Nelissen <marcone@google.com> Merge "Add NDK version of MediaMuxer"
703b67ed9552914f7763aed8f8bd054759db0576 07-May-2014 Andy Hung <hunga@google.com> Merge "Remove legacy omx_message variables"
08aaabe87960c04ecac180db1fe88b5a7bc2ed3b 07-May-2014 Marco Nelissen <marcone@google.com> Add NDK version of MediaMuxer

and add some constness here and there.

Change-Id: Ib3caa8310691e8f27aaa1afcfaec0b384513d4f1
dk/NdkMediaCodec.h
dk/NdkMediaMuxer.h
784e24e386b088c05d653ab482f2e95cb53e3d01 07-May-2014 Andy Hung <hunga@google.com> Remove legacy omx_message variables

Remove platform_private and data_ptr from omx_message.
These were used for legacy deferred buffer creation.
See OMXCodec quirks: kDefersOutputBufferAllocation and
kRequiresAllocateBufferOnOutputPorts.

Change-Id: I94da56bc64f3b46ee1276e93d67b36c1662e2eaf
Signed-off-by: Andy Hung <hunga@google.com>
edia/IOMX.h
7c9b141d551fde406f199f0dd21582f8551aea23 06-May-2014 Marco Nelissen <marcone@google.com> MediaFormat owns its strings

Have MediaFormat own the strings it returns from toString and getString,
reducing the chance of memory leaks.

Change-Id: I0ddd593874c8b3af0b7714f2d8a106edf8121108
dk/NdkMediaFormat.h
67c9437dcf0d4076ed12c1f6ec157e4c7d6f353b 05-May-2014 Marco Nelissen <marcone@google.com> Merge "WIP: MediaCodec and friends NDK APIs, plain C version"
0c3be875376adaee8d8e8dd917c64926e1513b29 01-May-2014 Marco Nelissen <marcone@google.com> WIP: MediaCodec and friends NDK APIs, plain C version

Change-Id: I9ed6b9c5afb026a1b5fe8b652e75635bbcc223df
dk/NdkMediaCodec.h
dk/NdkMediaExtractor.h
dk/NdkMediaFormat.h
f81648ec38ff63f1f35516fa27c1c24d846e9ba5 18-Apr-2014 Ruben Brunk <rubenbrunk@google.com> camera3: Update CameraMetadata vendor tag handling.

Bug: 12134423
Change-Id: I97dc955ee9dd78ace93a7946296d6d9b0e407d43
amera/VendorTagDescriptor.h
fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9 03-May-2014 Ruben Brunk <rubenbrunk@google.com> Merge "Revert "camera3: Update CameraMetadata vendor tag handling.""
6770260f83f5576b041b7b3a2536d082a631f9b0 03-May-2014 Ruben Brunk <rubenbrunk@google.com> Revert "camera3: Update CameraMetadata vendor tag handling."

This reverts commit 4764324d2704f1b08bb7407014bf203924ff2363.

Change-Id: I86d7fcc11423502b73fab2a82af6aa89804f0b76
amera/VendorTagDescriptor.h
6c516d800d97b7f25a22574998cb055c9d7f7b16 03-May-2014 Ruben Brunk <rubenbrunk@google.com> Merge "camera3: Update CameraMetadata vendor tag handling."
4764324d2704f1b08bb7407014bf203924ff2363 18-Apr-2014 Ruben Brunk <rubenbrunk@google.com> camera3: Update CameraMetadata vendor tag handling.

Bug: 12134423
Change-Id: I1d1be6792b6a4c9f08e042a8b2c89146bde5665e
amera/VendorTagDescriptor.h
192d6a509cf609a2a4b7f9cb70aeb5daabb0204e 02-May-2014 Lajos Molnar <lajos@google.com> am edf6131d: am 075c8f6e: am a69d6f52: Merge "stagefright: add ClockEstimator API and WindowedLinearFitEstimator"

* commit 'edf6131d1eca1fdff3b151805d241a1cc81b52ca':
stagefright: add ClockEstimator API and WindowedLinearFitEstimator
edf6131d1eca1fdff3b151805d241a1cc81b52ca 02-May-2014 Lajos Molnar <lajos@google.com> am 075c8f6e: am a69d6f52: Merge "stagefright: add ClockEstimator API and WindowedLinearFitEstimator"

* commit '075c8f6e174e824b6bc95809cc25f1430e9d4e62':
stagefright: add ClockEstimator API and WindowedLinearFitEstimator
075c8f6e174e824b6bc95809cc25f1430e9d4e62 02-May-2014 Lajos Molnar <lajos@google.com> am a69d6f52: Merge "stagefright: add ClockEstimator API and WindowedLinearFitEstimator"

* commit 'a69d6f529239950a8bdf5e4253ea13bb029375cb':
stagefright: add ClockEstimator API and WindowedLinearFitEstimator
aa8b569eb652c22821b93a6e543449a52ad21158 23-Apr-2014 Lajos Molnar <lajos@google.com> stagefright: add ClockEstimator API and WindowedLinearFitEstimator

Change-Id: I74474c385848a8eab2ac0da7c069510378e2b217
edia/stagefright/ClockEstimator.h
1a7be1ec9c769203e6c8e26378de0ab8e2ad493d 29-Apr-2014 Bill Yi <byi@google.com> Merge commit '91820d46b5f3065c2fded3cdf65d305715b33bb1' into HEAD
6643b3d878d674dd5be4b589d63dc3e6fc94df72 29-Apr-2014 Glenn Kasten <gkasten@google.com> am f131f873: Merge "Add private method NBLog::Reader::dumpLine()"

* commit 'f131f87369ec06fc27fc1f14ea72f0ca1a066509':
Add private method NBLog::Reader::dumpLine()
92dfd8e67e099577d07eaeb28aad533fd5514d8a 11-Jul-2013 Glenn Kasten <gkasten@google.com> Add private method NBLog::Reader::dumpLine()

This allows us to abstract out fdprintf vs ALOGI
so that callers don't need an 'if' at every location.

Change-Id: I4c68185fc19f32caeaed93347e6b7d09b8d4c4d8
edia/nbaio/NBLog.h
77d4f613bbed8b646c8ddade6a0737fcbd391b07 18-Apr-2014 Jianing Wei <jianingwei@google.com> Merge "CameraService: fix race condition and wrong last frame number."
2d6bb3f9e3e7cc1c7debbbe3d74bf9c70b6f39d4 11-Apr-2014 Jianing Wei <jianingwei@google.com> CameraService: fix race condition and wrong last frame number.

Change-Id: Ie2be9a77a0b074497615de38cbb8e8f13b4858ec
amera/camera2/ICameraDeviceUser.h
1b24cf32e02a1372e57b3a2a432bc0adfe496e6d 16-Apr-2014 Mark Salyzyn <salyzyn@google.com> am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d

* commit 'e80631aa1992ca50af679cd6a018c0ffda7f9b17':
media: use size_t for integer iterator to Vector::size()
media: 64 bit compile issues
e80631aa1992ca50af679cd6a018c0ffda7f9b17 16-Apr-2014 Mark Salyzyn <salyzyn@google.com> am 839d11d1: Merge changes I0a744dc7,Id993a70d

* commit '839d11d1f7be9dff2f06c7d30a9eb39cb6782078':
media: use size_t for integer iterator to Vector::size()
media: 64 bit compile issues
db43b34c3428e480f8c4c66e7e88f4001f37f91e 04-Apr-2014 Mark Salyzyn <salyzyn@google.com> media: 64 bit compile issues

- change internal sized types to use stdint.h
- printf & scanf formats
- size_t or unsigned int for iterators

Change-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446
edia/stagefright/FileSource.h
dd01ce9c28e37d4556606f481faeec032a1fe04e 11-Apr-2014 Mark Salyzyn <salyzyn@google.com> am 52a861d2: Merge "warnings be gone."

* commit '52a861d2825544fe2eb90f8e5f6351d02ff95536':
warnings be gone.
d411b4ca2945cd8974a3a78199fce94646950128 11-Apr-2014 Andreas Huber <andih@google.com> warnings be gone.

(cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36)

Modified by Mark Salyzyn <salyzyn@google.com> to keep merge conflicts
or errors downstream to a minimum.

Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
edia/stagefright/MediaSource.h
cb0652e5a850b2fcd919e977247e87239efaf70e 13-Mar-2014 Jianing Wei <jianingwei@google.com> CameraService: trigger appropriate callbacks for burst capture.

* Instead of tracking CameraMetadata only, now we track both
CameraMetadata and CaptureResultExtras, which is not part of
the HAL metadata. This will enable the correct callback of
onCaptureStarted and onResultReceived given burst requests.

* Get last frame number in reply when submitting requests,
canceling requests, and flushing device. For repeating requests,
this frame number is the last frame number of the previous
request. For non-repeating requests, this frame number is the
expected last frame number of the current request. The goal
is provide frame number to Java side in order to trigger
onCaptureSequenceCompleted correctly.

* Fix notifyError so that onDeviceError can be called correctly.

Bug: 10749500
Change-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257
amera/CaptureResult.h
amera/camera2/ICameraDeviceCallbacks.h
amera/camera2/ICameraDeviceUser.h
a1df816c0677185534babba6ffc29970b048e52e 04-Apr-2014 Lajos Molnar <lajos@google.com> stagefright: log uri protocols, and opt-in to log full uri

Added property media.stagefright.log-uri. Set it to true or 1 to
log uris by AwesomePlayer.

Added utility function to get uri debug string based on incognito
and log opt-in status.

Change-Id: I5ccc23079ddfb120dd9703a3ed651a162ed5acec
Related-Bug: 6994761
edia/stagefright/Utils.h
bcf08569453dcb42730cda3230d5d375a697005b 05-Apr-2014 Lajos Molnar <lajos@google.com> stagefright: add AString constructor from String8

Change-Id: I85b37b6dee4ea9d5f7f1c1a40ff405a01a0c67f1
edia/stagefright/foundation/AString.h
cffcba5681be302b1c1b40747a1305f2c2a667c3 04-Apr-2014 Dan Stoza <stoza@google.com> Merge "Remove deprecated BufferQueue constructor"
4cc0bedb859f9773f54f844cca4ce806c86bb6f8 02-Apr-2014 Lajos Molnar <lajos@google.com> Merge "ACodec: do not signal kWhatShutdownCompleted on codec error"
99021c47f45ee8bf3317cff7d08226e76c8d8227 02-Apr-2014 Jeff Tinker <jtinker@google.com> am f356a123: am 68d9d71a: Support CAST V2 Authentication in MediaDrm

* commit 'f356a123bf966150965a1af1cb9bd6ff2ca020de':
Support CAST V2 Authentication in MediaDrm
f356a123bf966150965a1af1cb9bd6ff2ca020de 02-Apr-2014 Jeff Tinker <jtinker@google.com> am 68d9d71a: Support CAST V2 Authentication in MediaDrm

* commit '68d9d71a792deed75d32fe13febc07c9c12c8449':
Support CAST V2 Authentication in MediaDrm
54b0bc74e051bd7df10cd657b481d88db6cdaa27 31-Mar-2014 Lajos Molnar <lajos@google.com> ACodec: do not signal kWhatShutdownCompleted on codec error

Do not signal kWhatShutdownCompleted when moving to Uninitialized
state due to receiving a codec error.

Do not abort if error happens just before handling a stop request.

Bug: 13675112
Change-Id: I4b14b2e64cff0f71215d2bbc24cd850617dfb67b
edia/stagefright/ACodec.h
68d9d71a792deed75d32fe13febc07c9c12c8449 04-Mar-2014 Jeff Tinker <jtinker@google.com> Support CAST V2 Authentication in MediaDrm

Java API version

Update frameworks to enable support for CAST
V2 Authentication in the DRM Plugin.

Change-Id: I9066ada0edf8e0d777c503897d8c7fc7f76f2861
related-to-bug: 12702350
edia/IDrm.h
4f1ef2cd65d734edae17f8586cf717598b40f2c3 28-Mar-2014 Lajos Molnar <lajos@google.com> am 1000d426: am f780d28d: Merge "DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"" into klp-dev

* commit '1000d426bedb1ec38bdfff98fc8f004b64af13cb':
DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"
1000d426bedb1ec38bdfff98fc8f004b64af13cb 28-Mar-2014 Lajos Molnar <lajos@google.com> am f780d28d: Merge "DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"" into klp-dev

* commit 'f780d28de2e3cf7f6b26b9626321dba75719736e':
DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"
f780d28de2e3cf7f6b26b9626321dba75719736e 28-Mar-2014 Lajos Molnar <lajos@google.com> Merge "DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"" into klp-dev
114c1b6553e3d2dc5f2780a76d92bb382234220c 28-Mar-2014 Lajos Molnar <lajos@google.com> DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"

This reverts commit b635b0e66b257ab442e230bca96afd5105cf6829.

Bug: 13655631
edia/stagefright/ACodec.h
c9b8d90dabdf1234be0117c592f635a92c4eb0d9 27-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Use symbol AUDIO_IO_HANDLE_NONE from <system/audio.h>"
142f519aa1acd5804d111e60d100f170fed28405 26-Mar-2014 Glenn Kasten <gkasten@google.com> Use symbol AUDIO_IO_HANDLE_NONE from <system/audio.h>

Change-Id: Id6b1aa17558eb73e17f22b8eab6cd02e00a96dff
edia/AudioEffect.h
edia/AudioTrack.h
2301acc6a9c7a3af4ad01f3d1d0f76f13eca7350 17-Jan-2014 Glenn Kasten <gkasten@google.com> Update comments

Change-Id: I5776313b9b49072cd666d28880f0d07cc73f827b
edia/AudioTrack.h
edia/stagefright/FileSource.h
ecdca392ed40e89a6ef14b86446e952c35497ac4 26-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Use symbolic constants from <system/audio.h>"
b8f8d231685afdec472136b45c527a71bfb8bcc4 26-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Remove stream type from AudioSystem::getRenderPosition()"
9b6fcc2f8294d21b859b4cbcff84107a499e221f 26-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Use symbol AUDIO_SESSION_OUTPUT_MIX from <system/audio.h>"
73ec11738cd4399c55d4905665a14a7c4cd42cbf 26-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Fix uses of KeyedVector"
8c7b9fb41585fccb06573252823b929c82a40999 26-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Remove streamType parameter from AudioSystem::getLatency()"
0ed19594452c901c3c8665d06610fffe46895d06 26-Mar-2014 Glenn Kasten <gkasten@google.com> Remove stream type from AudioSystem::getRenderPosition()

The I/O handle is never equal to AUDIO_IO_HANDLE_NONE,
so the stream type is not needed.

Change-Id: I1ab134a2fa379d6dd0b6167345a856a192d478f9
edia/AudioSystem.h
11af89b744733e8c75d48a8d1a566c701c821865 26-Mar-2014 Eino-Ville Talvala <etalvala@google.com> Merge "Revert "camera: Fix setParameters for Preview FPS single/range values""
1cebdb77323e4554a316b9c34bf36957b7dad5ae 26-Mar-2014 Eino-Ville Talvala <etalvala@google.com> Revert "camera: Fix setParameters for Preview FPS single/range values"

Causes a regression on some devices, so reverting until we're in a position to fix those devices.

This reverts commit 9078a1b3b9f9c0c48046ade0e8e18b0d79a659db.

Bug: 13563098
Change-Id: I7aedd01fde8b8fdee77e972ec395f0ecadbf8ccb
amera/CameraParameters.h
684d47301aeddd137fb1ba2e42f9fb8b9e8a6a16 26-Mar-2014 Glenn Kasten <gkasten@google.com> Use symbol AUDIO_SESSION_OUTPUT_MIX from <system/audio.h>

Change-Id: I4e48bb7edcc9f9407ee63bb33d029aca02211d74
edia/AudioEffect.h
241618f1b286f9e7e02fe61e96d9194e2e1e8a7a 26-Mar-2014 Glenn Kasten <gkasten@google.com> Remove streamType parameter from AudioSystem::getLatency()

Change-Id: Ie7346e93436ddc215cad7d16be555dcb6c277d54
edia/AudioSystem.h
66e4635cb09fadcaccf912f37c387396c428378a 17-Jan-2014 Glenn Kasten <gkasten@google.com> Use symbolic constants from <system/audio.h>

AUDIO_INTERLEAVE_*
AUDIO_STREAM_MIN
AUDIO_SESSION_ALLOCATE

Change-Id: I31dd6f327204685e50716079ce21c4ba206dff11
edia/AudioTrack.h
9ea65d0f4a564478343b1a722fae4ce5883670c3 17-Jan-2014 Glenn Kasten <gkasten@google.com> Fix uses of KeyedVector

Constructor for AudioFlinger::mAudioHwDevs was missing, and so
AudioFlinger::findSuitableHwDev_l() could return an undefined pointer
if a non-0 module wasn't found.

A KeyedVector of Plain Old Data (POD) element type must specify the
default value in the constructor, or else the default will be undefined.

Minor:
- Parameter had wrong type in constructor for AudioSystem::gOutputs.
- Remove obsolete AudioSystem::gStreamOutputMap.

Change-Id: I9841493e018440e559d8b8b0e4e748ba2b2d365b
edia/AudioSystem.h
85d109a4b0eddd76a8c5cee170bc2bcc99d00118 17-Jan-2014 Glenn Kasten <gkasten@google.com> Document AudioSystem::newAudioSessionId() failures

Change-Id: Iaa168722f362c36bdfa87fe20dc0a59b43cf1ca3
edia/AudioSystem.h
c3dcf1007aa964f825b2ea2ef86acb7f332e748f 25-Mar-2014 Igor Murashkin <iam@google.com> am 65550a0e: am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values

* commit '65550a0e17852fe657795508e3bf05bdbfb2520b':
DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values
65550a0e17852fe657795508e3bf05bdbfb2520b 25-Mar-2014 Igor Murashkin <iam@google.com> am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values

* commit '0370be96e33ea0c8fb4069e704deccce43b7403c':
DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values
91820d46b5f3065c2fded3cdf65d305715b33bb1 25-Mar-2014 Igor Murashkin <iam@google.com> am 0370be96: DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values

* commit '0370be96e33ea0c8fb4069e704deccce43b7403c':
DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values
0370be96e33ea0c8fb4069e704deccce43b7403c 19-Mar-2014 Igor Murashkin <iam@google.com> DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values

As a workaround, duplicate CameraParameters into CameraParameters2 to
prevent ABI break for some camera HALs that directly link into
CameraParameters.

CameraParameters2 implements the real fixes needed in the framework,
while CameraParameters is left in to satisfy older camera HALs.

Bug: 12609188
Change-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da
amera/CameraParameters2.h
9078a1b3b9f9c0c48046ade0e8e18b0d79a659db 19-Mar-2014 Igor Murashkin <iam@google.com> camera: Fix setParameters for Preview FPS single/range values

Bug: 12609188
Change-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4db
amera/CameraParameters.h
d4a31b8bcd7df99dfce2f25a32badf4611a6ba1a 19-Mar-2014 John Spurlock <jspurlock@google.com> Merge "Add MediaPlayer::getAudioStreamType."
de9453fb5cbc9cd69fd1ea45d577851e3aa3b8c9 19-Mar-2014 John Spurlock <jspurlock@google.com> Add MediaPlayer::getAudioStreamType.

Change-Id: I9cd8a718d2873543609aa651fd85749478f4f89f
edia/mediaplayer.h
d74110cdef2becd4f7fd2334c34c3ca73f56b355 19-Mar-2014 Lajos Molnar <lajos@google.com> stagefright: add include support for MediaCodecList xml parser

One can include full-formed XML files using <Include href=".." />.
For security/simplicity, file names must be in the form of
"media_codecs_.*\.xml"

Change-Id: Id039a4fd0ade390224485fcf5ecc1d107b2bdb9a
edia/stagefright/MediaCodecList.h
129c76538570cd42fce2154bfb0aec934cf84ff3 19-Mar-2014 Lajos Molnar <lajos@google.com> am 9cde5172: am b635b0e6: mediaplayer: keep more buffers with the BufferQueue

* commit '9cde517297827156de1c3b2ff54e272a5d4ae7c3':
mediaplayer: keep more buffers with the BufferQueue
9cde517297827156de1c3b2ff54e272a5d4ae7c3 19-Mar-2014 Lajos Molnar <lajos@google.com> am b635b0e6: mediaplayer: keep more buffers with the BufferQueue

* commit 'b635b0e66b257ab442e230bca96afd5105cf6829':
mediaplayer: keep more buffers with the BufferQueue
4647dba9afd0b365e47b9493a680d71b59a361e6 19-Mar-2014 Lajos Molnar <lajos@google.com> am b635b0e6: mediaplayer: keep more buffers with the BufferQueue

* commit 'b635b0e66b257ab442e230bca96afd5105cf6829':
mediaplayer: keep more buffers with the BufferQueue
b635b0e66b257ab442e230bca96afd5105cf6829 14-Feb-2014 Lajos Molnar <lajos@google.com> mediaplayer: keep more buffers with the BufferQueue

Change OMX buffer allocation policy to allocate
nBufferCountMin + what is required for the BQ.

For the BQ, try to allocate 2 additional buffers than
the minimum undequeued count.

Also account for the fact that BQ may return one less
than the actual minimum undequeued count.

In most cases the resulting number of buffers ends up
being the same as with the previous policy, but we
keep more buffers with the BQ.

Change-Id: I826db8bf7dd333b620299dba60bf1b81b228275d
Bug: 13170236
edia/stagefright/ACodec.h
e1445da74730473a66a3ae8414e940aebfe6585d 17-Mar-2014 Igor Murashkin <iam@google.com> camera2: Don't log vendor tag errors when camera HAL too old

Change-Id: Iac3d23284230c95c85ee404abbf9b22df1ae721c
amera/ICameraService.h
amera/VendorTagDescriptor.h
c5a17425986b4ce3384e6956762c86018b49c4a0 13-Mar-2014 Glenn Kasten <gkasten@google.com> Remove name output parameter from createTrack

It was only used for one log.
A better solution will be a per-track unique ID.

Change-Id: Ia440e02ae4a5a4019a9a2d08970e1ee93ac4c3a3
edia/AudioTrack.h
edia/IAudioFlinger.h
b1120b65c328cf6e35c0494d7d61addcbdc16821 14-Mar-2014 Lajos Molnar <lajos@google.com> Merge changes I1455bfc6,I90c7e34b,I06e001df

* changes:
NuPlayer: use MediaCodec instead of ACodec
MediaCodec: add getInputFormat() method
Revert "NuPlayer: Use a software renderer when using software codecs"
29c291f2337561b1f8c2f79bc34339b0b9c28b9c 14-Mar-2014 Chong Zhang <chz@google.com> am a671f943: am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" into klp-dev

* commit 'a671f943b72155460f0c94cdd92d829cb059b571':
Cap pts gap between adjacent frames to specified value
7c47cafa5be623f1db483483ac27f714c54dc1cc 14-Mar-2014 Chong Zhang <chz@google.com> am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" into klp-dev

* commit 'c69bc40a347c411751cb082b3eb4a82d976a68ec':
Cap pts gap between adjacent frames to specified value
1d59fea10d94e425cd48667d3030418e3907c56c 13-Mar-2014 Ruben Brunk <rubenbrunk@google.com> Merge "camera3: Pass vendor tags through binder."
a671f943b72155460f0c94cdd92d829cb059b571 13-Mar-2014 Chong Zhang <chz@google.com> am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" into klp-dev

* commit 'c69bc40a347c411751cb082b3eb4a82d976a68ec':
Cap pts gap between adjacent frames to specified value
d1176ef16677b6c94fb893edb6a864cdccc0b190 21-Feb-2014 Ruben Brunk <rubenbrunk@google.com> camera3: Pass vendor tags through binder.

Bug: 12134423

- Adds a class for parceling vendor tag definitions.
- Passes vendor tag definitions to clients of the camera service.
- Switches over to new vendor tag mechanism when reading from HAL.

Change-Id: Icef3fe9e67160767bdb8244ac49c85b68b497123
amera/ICameraService.h
amera/VendorTagDescriptor.h
5205977929c8a63d3bba026c6bd7b4cc1e236627 12-Mar-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Bug: 13415624
Change-Id: I1a824d09ce582ee54753683d30cdc23813c13b6b
edia/stagefright/SurfaceMediaSource.h
e257e5ebefdd50f808ee3b4d1596db261c9b62dd 14-Feb-2014 Lajos Molnar <lajos@google.com> mediaplayer: keep more buffers with the BufferQueue

Change OMX buffer allocation policy to allocate
nBufferCountMin + what is required for the BQ.

For the BQ, try to allocate 2 additional buffers than
the minimum undequeued count.

Also account for the fact that BQ may return one less
than the actual minimum undequeued count.

In most cases the resulting number of buffers ends up
being the same as with the previous policy, but we
keep more buffers with the BQ.

Change-Id: I826db8bf7dd333b620299dba60bf1b81b228275d
Bug: 12080418
edia/stagefright/ACodec.h
8bd4d16aa5636e98522c07ae31236420788aa749 11-Jan-2014 Chong Zhang <chz@google.com> Cap pts gap between adjacent frames to specified value

- In the scenario of cast mirroring, encoding could be suspended
for prolonged periods. Limiting the pts gap to workaround the
problem where encoder's rate control logic produces huge frames
after a long period of suspension.

- Repeat last frame a couple more times to get better quality
on static scenes.

- Fix the timestamp on repeat frames (it was not set)

Bug: 11971963
Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7
(cherry picked from commit 94ee4b708acfa941581160b267afb79192b1d816)
edia/IOMX.h
edia/stagefright/ACodec.h
3a0fb34ed9fcb665e71cc055abde520af393c493 11-Mar-2014 Jesse Hall <jessehall@google.com> Merge "Add empty onSidebandChanged callbacks to BufferQueue::ConsumerListeners"
c644345b0b8f5292a049c4cee2bb7a2a6159b884 11-Mar-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioTrack non-blocking write"
a5ae9aa74b1217eb838c2ba092ba2429dcaf10e8 10-Mar-2014 Robert Shih <robertshih@google.com> Merge "Stagefright: added WebM muxer."
e0381245dff04aa823a59aa8b85869eddab0f39f 25-Feb-2014 Lajos Molnar <lajos@google.com> MediaCodec: add getInputFormat() method

Additional input-port format item:

int32: "adaptive-playback"
video decoders only
whether codec is configured for adaptive playback. In this case, if
codec has max-width/height limits, those limits are also exposed
(int32: "max-width", "max-height")

Also, getInput/OutputFormat() is now callable in CONFIGURED and
STARTING states, although output format may be missing CSD fields
until INFO_OUTPUT_FORMAT_CHANGED message.

Includes missing OMX support for MP3 software decoder.

Bug: 11785204
Change-Id: I90c7e34ba81c7b81c43641599f3f496e838958c6
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
f566406a48ecf878d8a0034b6c600d42454d264c 08-Mar-2014 Eric Laurent <elaurent@google.com> am 6db20dcb: Merge "AudioTrack: When paused, return cached playback position" into klp-dev

* commit '6db20dcb54dad932a3ea2e3a5dca41fce5802eb4':
AudioTrack: When paused, return cached playback position
3a20f9af8587d2e5bbf4654a3a958f43c4133445 08-Mar-2014 Eric Laurent <elaurent@google.com> am 38efe8eb: am 6db20dcb: Merge "AudioTrack: When paused, return cached playback position" into klp-dev

* commit '38efe8eb08e08610d535a164768851ac7c13d654':
AudioTrack: When paused, return cached playback position
38efe8eb08e08610d535a164768851ac7c13d654 08-Mar-2014 Eric Laurent <elaurent@google.com> am 6db20dcb: Merge "AudioTrack: When paused, return cached playback position" into klp-dev

* commit '6db20dcb54dad932a3ea2e3a5dca41fce5802eb4':
AudioTrack: When paused, return cached playback position
6db20dcb54dad932a3ea2e3a5dca41fce5802eb4 08-Mar-2014 Eric Laurent <elaurent@google.com> Merge "AudioTrack: When paused, return cached playback position" into klp-dev
8dcc81a2fdb35905347cf7ef46d198afa7ae79cd 04-Mar-2014 Jesse Hall <jessehall@google.com> Add empty onSidebandChanged callbacks to BufferQueue::ConsumerListeners

Change-Id: I94384aefd47b3a581cbdc3905ba9fdbc88d3d06c
edia/stagefright/SurfaceMediaSource.h
8e4b38470a367aec409e905aed392397e6b85bf4 07-Mar-2014 Lajos Molnar <lajos@google.com> am 2613347d: Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev

* commit '2613347d74c3f35bc6fda5df1c29c1119c22d432':
Added support to query ACodec whether adaptive playback is enabled.
55e599daff7712142095f546b7e5bf2dcda807a8 06-Mar-2014 Glenn Kasten <gkasten@google.com> Miscellaneous cleanup for NBAIO

Finish removing Format_frameBitShift
Fix type of mFrameSize
Add FIXME

Change-Id: I02039b97cb93af1a180e88f6575210bd752faf20
edia/nbaio/NBAIO.h
f69f9869514730aebe5724c461768507084dfff7 07-Mar-2014 Glenn Kasten <gkasten@google.com> NBAIO::Format_from_SR_C requires audio_format_t parameter

Change-Id: I4b65f6ed2f6ca3608b3a5f88f52a93af0b9b1f4a
edia/nbaio/NBAIO.h
7e65e101bd48461e274fd2e927b80fbbd8b71744 07-Mar-2014 Lajos Molnar <lajos@google.com> am 72d09f62: am 2613347d: Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev

* commit '72d09f6280cd701e48922a86df0d2e5f4e61cd8e':
Added support to query ACodec whether adaptive playback is enabled.
72d09f6280cd701e48922a86df0d2e5f4e61cd8e 07-Mar-2014 Lajos Molnar <lajos@google.com> am 2613347d: Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev

* commit '2613347d74c3f35bc6fda5df1c29c1119c22d432':
Added support to query ACodec whether adaptive playback is enabled.
2613347d74c3f35bc6fda5df1c29c1119c22d432 07-Mar-2014 Lajos Molnar <lajos@google.com> Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev
b8d0b780c9ae160b830cc7a31b22600293e4978b 07-Mar-2014 Glenn Kasten <gkasten@google.com> am af191eb4: Merge "Replace size_t in shared memory by uint32_t"

* commit 'af191eb4feac513d17dc0362e0cea5bc9e0ffe9d':
Replace size_t in shared memory by uint32_t
e857b65c1d3aa055281cb48f59c9b5eb4a062dd0 07-Mar-2014 Narayan Kamath <narayan@google.com> am 3c9130a8: Merge "Make frameworks/av 64-bit compatible"

* commit '3c9130a8a12ce962dc8d22e04243b135b9e98b01':
Make frameworks/av 64-bit compatible
2048c2292c0466b184fb8f67c91f4d0ab9f5c3f3 08-Jan-2014 Haynes Mathew George <hgeorge@codeaurora.org> AudioTrack: When paused, return cached playback position

An offload output can be re-used between two audio tracks having
the same configuration. A timestamp query for a paused track
while the other is running would return an incorrect time.
To fix this, cache the playback position on a pause() and return
this time when requested until the track is resumed.

Bug: 12826612.
Change-Id: Ia42b8b8fd2ba8993dfcc9abca72da48d71d78d74
edia/AudioTrack.h
1bdf803fde294017d8b504891618f688a21a2e75 07-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Remove Format_frameBitShift()"
933a4d3339ebbcd34a7f97b9e7350ec74b5ec29c 24-Jan-2014 Robert Shih <robertshih@google.com> Added support to query ACodec whether adaptive playback is enabled.

Bug: 11854054
Change-Id: I6b0308aa8550c643706959277e46dad586c37297
edia/stagefright/ACodec.h
cf755e362048453a1f65103387ddbe36fc2c5280 07-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Split mPacked into 4 separate fields"
343947abc8b7c126f966fd32a0b18bff6c2cecd1 08-Feb-2014 Robert Shih <robertshih@google.com> Stagefright: added WebM muxer.

Change-Id: I50bbf9c6f089b205d5ecef1371bfdd2028b3b358
edia/stagefright/MediaMuxer.h
810219ba83571d66149068bb8d35651988ba9b2f 06-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Add format parameter to Format_from_SR_C"
e53c9b8d8130518f37a47635c4cd0ae529ecd7e1 06-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Use mFrameSize instead of mBitShift"
c514c9cba45ea5ed0a45900ea6a17389901e5181 06-Mar-2014 Eric Laurent <elaurent@google.com> Merge "AudioTrack: When paused, return cached playback position"
7064fd2dcdfeafea53cd5a992bb78c413542f29f 08-Jan-2014 Haynes Mathew George <hgeorge@codeaurora.org> AudioTrack: When paused, return cached playback position

An offload output can be re-used between two audio tracks having
the same configuration. A timestamp query for a paused track
while the other is running would return an incorrect time.
To fix this, cache the playback position on a pause() and return
this time when requested until the track is resumed.

Bug: 12826612.
Change-Id: I324112ea9827e52fff53ef44cd8513c8d85a0bc4
edia/AudioTrack.h
f590f948e6c0fe3c54008dd7802fd513f127792d 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: do not offload LD-AAC decoding

For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.

Bug: 11697128.

Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
edia/stagefright/MetaData.h
c326e1c3d122917462f1cda4f03d9c639ad92902 06-Mar-2014 Glenn Kasten <gkasten@google.com> Remove Format_frameBitShift()

Change-Id: Iae2e80a7330c5dd0f70a263051aa44c23cfe3541
edia/nbaio/NBAIO.h
edia/nbaio/SourceAudioBufferProvider.h
2b7b910f4b417ab3930379298f538d0dfc857e88 06-Mar-2014 Glenn Kasten <gkasten@google.com> Split mPacked into 4 separate fields

Change-Id: I940324dce9b51fd8d7e2e362e12ad74b70e658dd
edia/nbaio/NBAIO.h
f95a3c4122d67273d930c7d83c3df99f136603ed 06-Mar-2014 Glenn Kasten <gkasten@google.com> Add format parameter to Format_from_SR_C

Change-Id: I891138b7754342fe2a4f02de30ee616dbd078474
edia/nbaio/NBAIO.h
4d693d6b8cc1283f92f5301daf19a07abc772a2b 06-Mar-2014 Glenn Kasten <gkasten@google.com> Use mFrameSize instead of mBitShift

Change-Id: Idac335ae70cc9300bb3325839fe8ef1e9e097245
edia/nbaio/AudioStreamInSource.h
edia/nbaio/AudioStreamOutSink.h
ac3e9db88ddb1f24bc6c8fb744a37dfdeec332bb 06-Mar-2014 Glenn Kasten <gkasten@google.com> Add mFrameSize but do not remove mFrameBitShift yet

Change-Id: Icb1edefeb6a0e659503f6b7a92c9d15784df9865
edia/nbaio/NBAIO.h
edia/nbaio/SourceAudioBufferProvider.h
d0115d8c4db2f337030dea706bc0a434c4a03ed6 27-Jul-2013 Eric Laurent <elaurent@google.com> update offloaded audio track sampling rate

AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.

Bug: 12823955.

Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
edia/AudioTrack.h
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
97504893a3ee96f612e0e1b47d331583a88e289b 05-Mar-2014 jpadmana <jayashree.r.padmanaban@intel.com> am 6b260425: am 85b3013e: fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds

* commit '6b2604259c12ee28b49f26ab2adac96eefe30934':
fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds
6b2604259c12ee28b49f26ab2adac96eefe30934 05-Mar-2014 jpadmana <jayashree.r.padmanaban@intel.com> am 85b3013e: fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds

* commit '85b3013e06e8fe7802fe6259ecac80261e834332':
fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds
85b3013e06e8fe7802fe6259ecac80261e834332 14-Nov-2013 jpadmana <jayashree.r.padmanaban@intel.com> fix deadlock issues that arise when there are simultaneous
effect control interface calls to proxy and to
non sub-effect wrappers(eg., bundlewrapper) from audioflinger
Also, return NO_ERROR when CMD_OFFLOAD succeeds

Whenever there are parallel calls to proxy and non sub-effects wrappers,
some of the calls are not completed. This is due to deadlock arsing out
of Proxy waiting for the subeffect call to return and subeffect waiting
for proxy to release lock.
The call flow is changed to a cleaner and simple one - Proxy gets the
aeli(effect library info) of subeffects during the EffectGetSubEffects()
call. Therby, proxy will manage the sub effects by itself rather than
going through effects factory.

Change-Id: If4b259da5776f151c1e81a78a0239d342046d923
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
Bug: 12424044
edia/EffectsFactoryApi.h
b4350af65dd66ed57f1ff79b1b426507f0e73b7b 04-Mar-2014 Lajos Molnar <lajos@google.com> Merge "Opus Matroska support in OpenMax"
bf927f8ec7979f2b64331c2b2f12a6a5dba05bca 29-Jan-2014 Vignesh Venkatasubramanian <vigneshv@google.com> Opus Matroska support in OpenMax

Adding Openmax component for libopus software decoder. This can
decode opus audio files embedded in matroska containers.

Change-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc
Note: This CL is part of adding Opus support to Android.
edia/stagefright/MediaDefs.h
edia/stagefright/MetaData.h
720ad9ddb2ac6b55b0dfbfcd2d8360151d8ac427 04-Feb-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioTrack non-blocking write

Bug 7531968

Change-Id: I6d0e79fa8cab5b6eb36bcc34977f4cf0d7eec8ea
edia/AudioTrack.h
d2304db2fcb5112292105a0949a55986a4c9875f 03-Feb-2014 Glenn Kasten <gkasten@google.com> Rename setStreamOutput to invalidateStream

And simplify by removing the unused I/O handle parameter 'output'.

Change-Id: Ie9c4df17a7378066312d4ed8790fda7a9125c95e
edia/IAudioFlinger.h
bce50bfc3846ab008bafa75c5d3f29fd7b5395f7 28-Feb-2014 Glenn Kasten <gkasten@google.com> Fix type of AudioTrack/AudioRecord parameter frameCount

It's size_t consistently

Change-Id: I29638ef59ac773218025f2403a3508a307b487e0
edia/AudioRecord.h
edia/AudioTrack.h
838b3d8bafa4a781e277870dee4e0390165cff52 28-Feb-2014 Glenn Kasten <gkasten@google.com> Fix type of AudioTrack/AudioRecord parameter notificationFrames

It's uint32_t consistently

Change-Id: If8298c7e9aeea2b951fe47b675adbdf48d104846
edia/AudioRecord.h
edia/AudioTrack.h
9f474b7824abb0d5408d02e365cf37a986663979 25-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Simplify and cleanup error handling in AudioRecord::getMinFrameCount"
b42f318d9733f88c7eb9bedfd33b086b8ea5dff5 24-Feb-2014 Glenn Kasten <gkasten@google.com> Simplify and cleanup error handling in AudioRecord::getMinFrameCount

Change-Id: I8721ecedfb429c4e233453d1e768ddf69ecabbe4
edia/AudioSystem.h
587e84cd328d8f236b2d9f26c5426b3ba8ed0d02 24-Feb-2014 Marco Nelissen <marcone@google.com> Merge "Add method to get redirected Uri"
dc6ac201032d0f6ad0c8149ae2f009ec38693025 22-Feb-2014 Chong Zhang <chz@google.com> Merge "support for time lapse/slow motion when using SURFACE source"
c9c7e25a4b1c34439fb365f6cfbef063884566cc 21-Feb-2014 Marco Nelissen <marcone@google.com> Add method to get redirected Uri

Change-Id: Id8aac1077c3de1bb1f58bfcfcca93d685abe9b79
edia/IMediaHTTPConnection.h
bf65553e56e7c5e1c198f48a0a17964fcfccf5da 19-Feb-2014 Ruben Brunk <rubenbrunk@google.com> Merge "Handle recording failure more gracefully."
4e01ef6b2f6d288b9aa83b5817adad02cecc429f 11-Jul-2013 Glenn Kasten <gkasten@google.com> Add private method NBLog::Reader::dumpLine()

This allows us to abstract out fdprintf vs ALOGI
so that callers don't need an 'if' at every location.

Change-Id: I4c68185fc19f32caeaed93347e6b7d09b8d4c4d8
edia/nbaio/NBLog.h
26cee964ab4e0a2bd6ae9ad199ba78ea9634421c 15-Feb-2014 Ruben Brunk <rubenbrunk@google.com> Handle recording failure more gracefully.

Bug: 13027666
Change-Id: Iec8239bfcd293c8f466b3780e69883b97f387949
edia/stagefright/CameraSource.h
2c9c8cba8562cc3a27532e4cd348912cc78d8d98 11-Feb-2014 Chong Zhang <chz@google.com> support for time lapse/slow motion when using SURFACE source

Bug: 13032650
Change-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595
edia/IOMX.h
edia/stagefright/ACodec.h
c940c38242e8e0265db25a646ad63263934f2bb9 13-Feb-2014 Marco Nelissen <marcone@google.com> Merge "Track pid for each session"
7a8e31460649a6fa76b757949f18d586a62b53a2 13-Feb-2014 Glenn Kasten <gkasten@google.com> am af191eb4: Merge "Replace size_t in shared memory by uint32_t"

* commit 'af191eb4feac513d17dc0362e0cea5bc9e0ffe9d':
Replace size_t in shared memory by uint32_t
751a9c8cbc391a91604dd1052fb95d3e4d278c2f 28-Jan-2014 Glenn Kasten <gkasten@google.com> Replace size_t in shared memory by uint32_t

Eventually we may want to use uint64_t, but will need to confirm atomicity.

Bug: 12381724
Change-Id: Ia2c591d262d22b47b6f7dab4b9d9faa14b86d865
rivate/media/AudioTrackShared.h
rivate/media/StaticAudioTrackState.h
d457c970c8d08519cd77280a90b61ae1e342cfe3 11-Feb-2014 Marco Nelissen <marcone@google.com> Track pid for each session

so they can be properly freed.

Change-Id: I6f389035bc29e74e7c367c1c6d0252b180f666b3
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
4ef5d8f038588080b73790a46a45d710a6a1d977 11-Feb-2014 Andreas Huber <andih@google.com> Merge "warnings be gone."
4bbfff2dbf3968c267c3b2ea9f8912a38372a9da 10-Feb-2014 Andreas Huber <andih@google.com> Support "data:" URIs again in mediaplayer...

Change-Id: I6dac35c7e606f738a60f985f6dca977dc92c82a4
related-to-bug: 12957757
edia/stagefright/DataURISource.h
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
edia/stagefright/MediaSource.h
1d6fa7af1288b550faabe4ec2cf98684236723db 11-Feb-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 566be7c3 to master

Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
566be7c33fc56ae4c34168ecbee5316374f7e3c5 11-Feb-2014 Narayan Kamath <narayan@google.com> am 3c9130a8: Merge "Make frameworks/av 64-bit compatible"

* commit '3c9130a8a12ce962dc8d22e04243b135b9e98b01':
Make frameworks/av 64-bit compatible
377b2ec9a2885f9b6405b07ba900a9e3f4349c38 03-Feb-2014 Kévin PETIT <kevin.petit@arm.com> Make frameworks/av 64-bit compatible

Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.

Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
edia/AudioSystem.h
edia/IAudioFlinger.h
01d3acba9de861cb2b718338e787cff3566fc5ec 06-Feb-2014 Glenn Kasten <gkasten@google.com> Fix clang warnings in AudioFlinger

Change-Id: I0fa61025c979709ad7d655bc717df5f194b6089e
edia/AudioEffect.h
edia/AudioRecord.h
edia/AudioTrack.h
c99144dd2766c499701a7bd7db2d9d8697127186 07-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Change Format_frameBitShift() API for non-power-of-2 sizes"
ddc0630dd80847dad5253bb285a16e3ed9cc0320 07-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Add FIXMEs about audio_format_t assumption"
c7a38829841b764f509e6a688a507b8c0da82c2e 07-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Change NBAIO_Format from typedef to struct"
19f420ea68424a608e982d39ab76676a05337685 07-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Add Format_isValid() and Format_isEqual() to NBAIO"
7ca6e73bed1d2e1a928104feb6e9ae92953bfff5 06-Feb-2014 Chong Zhang <chz@google.com> Merge "Change StagefrightRecorder to use MediaCodec"
cfb2c130153eaf6e8bb36c5d787557e78bf9804b 06-Feb-2014 Andreas Huber <andih@google.com> Merge "Remove no longer needed http proxy handling code, it's obsolete now"
72cecca17d735db6532c45f0a7e10c47ee6f065a 26-Dec-2013 Chong Zhang <chz@google.com> Change StagefrightRecorder to use MediaCodec

Bug: 12305192
Change-Id: I72d7cb571be5bd348b58ad650f3269d24c15d350
edia/IOMX.h
edia/mediarecorder.h
edia/stagefright/ACodec.h
edia/stagefright/MediaCodecSource.h
81e68448f3361eaf8618930471fdc3c21bdf5cbc 05-Feb-2014 Andreas Huber <andih@google.com> Remove no longer needed http proxy handling code, it's obsolete now

since we started to use java's HTTPConnection instead of the native
implementation. Also remove other remnants of the previous http implementation,
such as accounting for the http user's uid.

Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
0f1f2826893bd55da8e93b79830d3a7b171509e3 05-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Add AudioRecord::mReqFrameCount similar to AudioTrack"
b3b2e23fcf7e050710d23b82a6682c0f3d869b69 05-Feb-2014 Glenn Kasten <gkasten@google.com> Add AudioRecord::mReqFrameCount similar to AudioTrack

Change-Id: I62d6534a9581e84ae20c2422f7ad9aeda9b7c4df
edia/AudioRecord.h
412d4744efae64083e4f99a664e3efaba031af48 05-Feb-2014 Andreas Huber <andih@google.com> Merge "FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code"
1b86fe063badb5f28c467ade39be0f4008688947 29-Jan-2014 Andreas Huber <andih@google.com> FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code

Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
edia/IMediaHTTPConnection.h
edia/IMediaHTTPService.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayer.h
edia/IMediaPlayerService.h
edia/MediaMetadataRetrieverInterface.h
edia/MediaPlayerInterface.h
edia/mediametadataretriever.h
edia/mediaplayer.h
edia/stagefright/DataSource.h
edia/stagefright/MediaHTTP.h
edia/stagefright/NuMediaExtractor.h
edia/stagefright/timedtext/TimedTextDriver.h
10d68aabb60787f9f9b35dd4fd8eb9271e7b1abe 04-Feb-2014 Changwan Ryu <changwan@google.com> am dd432ce0: [DO NOT MERGE] Support TS + AC3 for ATSC standard

* commit 'dd432ce03eccf280d83672f95076b6fbd561047f':
[DO NOT MERGE] Support TS + AC3 for ATSC standard
aae8d29f74d05460a57d0843f6bed95d36a2145b 04-Feb-2014 Changwan Ryu <changwan@google.com> am 90903383: [DO NOT MERGE] Support AC3 in stagefright

* commit '9090338367bd9f3fc5678032332a44d457a4a2fe':
[DO NOT MERGE] Support AC3 in stagefright
4d7b3f876b21997680ae32a340d746ed1cae6ab1 31-Jan-2014 Glenn Kasten <gkasten@google.com> Change Format_frameBitShift() API for non-power-of-2 sizes

Change-Id: Ie39ff51ab8c403ca9d9898396297efdaa3193588
edia/nbaio/NBAIO.h
1ec712f180072a7eb2131be09862921ae62dc2b4 31-Jan-2014 Glenn Kasten <gkasten@google.com> Add FIXMEs about audio_format_t assumption

Change-Id: I0d38241b61f70013573f4a0b9306547afe5f38ad
edia/nbaio/NBAIO.h
c4b8b32dec91a11a83d0a7ab49747606d16d39a5 31-Jan-2014 Glenn Kasten <gkasten@google.com> Change NBAIO_Format from typedef to struct

This will make it easier to support arbitrary sample rates,
channel counts, and sample formats in NBAIO.

Change-Id: I5eda412648b094358f5eefc38300e9ec8a734cd3
edia/nbaio/NBAIO.h
cc1e0e807ee9a9f163a4685cbd6efd6ae55849cf 31-Jan-2014 Glenn Kasten <gkasten@google.com> Add Format_isValid() and Format_isEqual() to NBAIO

This is in preparation for changing the typedef to a struct.

Change-Id: I8eb1c7d98fd12f997641e462359864fdb834abe6
edia/nbaio/NBAIO.h
51d53cd993043d9286e12cba884e6ee4d10b5fac 31-Jan-2014 Glenn Kasten <gkasten@google.com> Change Format_Invalid from enum to global const

This is in preparation for changing the typedef to a struct

Change-Id: I36d1fe81d2f974224750f753453753303c224591
edia/nbaio/NBAIO.h
b42398bb30e47313f42f91292657a9b8cc752511 04-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Use const NBAIO_Format& in parameter lists"
3627c74343617fa70ebfd40b46712c234888f456 03-Feb-2014 Robert Shih <robertshih@google.com> Merge "Added support to query ACodec whether adaptive playback is enabled."
8a8492147174c8b24a352787eb2d8282ef2860e8 03-Feb-2014 Eric Laurent <elaurent@google.com> am af1aa00e: am c4eef29a: Merge "fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds"

* commit 'af1aa00e5e6fa3dcd5b7d9145ac6f7659f98bb68':
fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds
af1aa00e5e6fa3dcd5b7d9145ac6f7659f98bb68 03-Feb-2014 Eric Laurent <elaurent@google.com> am c4eef29a: Merge "fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds"

* commit 'c4eef29af4e306319d8741e0c3ade1ede9a0a2b5':
fix deadlock issues that arise when there are simultaneous effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds
e726d65778ce78092010df2354156c09d311423f 03-Feb-2014 Glenn Kasten <gkasten@google.com> Merge "Replace size_t in shared memory by uint32_t"
dd432ce03eccf280d83672f95076b6fbd561047f 28-Oct-2013 Changwan Ryu <changwan@google.com> [DO NOT MERGE] Support TS + AC3 for ATSC standard

Change-Id: I141667f3f54b242bafdf0ab9db86852c56f49ffa
edia/stagefright/OMXCodec.h
9090338367bd9f3fc5678032332a44d457a4a2fe 28-Oct-2013 Changwan Ryu <changwan@google.com> [DO NOT MERGE] Support AC3 in stagefright

Change-Id: I12016b424bd069413bd6e380ff11484e175e05f3
edia/stagefright/ACodec.h
edia/stagefright/MediaDefs.h
72e54af9fcdc4754914fe2bf8de699523538b315 31-Jan-2014 Glenn Kasten <gkasten@google.com> Use const NBAIO_Format& in parameter lists

This is in preparation for changing the typedef to a struct.

Change-Id: I8d73a6b29580c65105afd78f24db7e2f4a1eb872
edia/nbaio/AudioBufferProviderSource.h
edia/nbaio/MonoPipe.h
edia/nbaio/NBAIO.h
edia/nbaio/Pipe.h
f90c7e0bb8d83d8b7f733bdf430d331ea3f221e8 14-Nov-2013 jpadmana <jayashree.r.padmanaban@intel.com> fix deadlock issues that arise when there are simultaneous
effect control interface calls to proxy and to
non sub-effect wrappers(eg., bundlewrapper) from audioflinger
Also, return NO_ERROR when CMD_OFFLOAD succeeds

Whenever there are parallel calls to proxy and non sub-effects wrappers,
some of the calls are not completed. This is due to deadlock arsing out
of Proxy waiting for the subeffect call to return and subeffect waiting
for proxy to release lock.
The call flow is changed to a cleaner and simple one - Proxy gets the
aeli(effect library info) of subeffects during the EffectGetSubEffects()
call. Therby, proxy will manage the sub effects by itself rather than
going through effects factory.

Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
Bug: 12424044
Change-Id: I16852222f1d0e94e433a19177729323a4bb1c090
edia/EffectsFactoryApi.h
94ee4b708acfa941581160b267afb79192b1d816 11-Jan-2014 Chong Zhang <chz@google.com> Cap pts gap between adjacent frames to specified value

- In the scenario of cast mirroring, encoding could be suspended
for prolonged periods. Limiting the pts gap to workaround the
problem where encoder's rate control logic produces huge frames
after a long period of suspension.

- Repeat last frame a couple more times to get better quality
on static scenes.

- Fix the timestamp on repeat frames (it was not set)

Bug: 11971963
Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7
edia/IOMX.h
edia/stagefright/ACodec.h
75832930a28fd70f6fc683ed966477ceea810668 24-Jan-2014 Robert Shih <robertshih@google.com> Added support to query ACodec whether adaptive playback is enabled.

Change-Id: I6b0308aa8550c643706959277e46dad586c37297
edia/stagefright/ACodec.h
fdac7c00f9201bb3a9862069145f01d37e39755b 28-Jan-2014 Glenn Kasten <gkasten@google.com> Replace size_t in shared memory by uint32_t

Eventually we may want to use uint64_t, but will need to confirm atomicity.

Bug: 12381724
Change-Id: Ia2c591d262d22b47b6f7dab4b9d9faa14b86d865
rivate/media/AudioTrackShared.h
rivate/media/StaticAudioTrackState.h
363fb75db26698cbb50065506e0c80b61d1fbf92 15-Jan-2014 Glenn Kasten <gkasten@google.com> Remove the redundant parameters from createTrack_l()

AudioRecord::openRecord_l() code was refactored earlier to
remove the redundant parameters:
> Change-Id: I124dce344b1d11c2dd66ca5e2c9aec0c52c230e2

This changelist refactors AudioTrack similarly.

Change-Id: Iefd2bd662870ea81d04eff7b7c26f9c8b0dadd26
edia/AudioTrack.h
38e905b3cbba4da443d799b16999989781afc6d8 13-Jan-2014 Glenn Kasten <gkasten@google.com> Refactor code related to I/O handles to reduce chance for leaks

The AudioRecord input handle code was refactored earlier
to fix a potential handle leak, and to simplify the code:
> Change-Id: I124dce344b1d11c2dd66ca5e2c9aec0c52c230e2

This changelist refactors AudioTrack similarly,
and adds further cleanup of both AudioTrack and AudioRecord.

We attempt to implement the rules for referencing counting I/O handles,
but there is still the possibility of a handle leak if the client process
dies after allocating the handle reference but before releasing it.
That issue is being tracked separately.

Details:
- AudioSystem::getOutput() is now called within createTrack_l
- restoreTrack_l was missing offload info
now it has the info available,
but is not yet being called for offloaded tracks
- AudioTrack::getOutput() is now const
- Remove getOutput_l()

Change-Id: I44a0a623d24fc5847bcac0939c276400568adbca
edia/AudioRecord.h
edia/AudioTrack.h
f0002d142e6d24c5438600b2c259679de710f8ac 24-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Replace control block frameCount_ by explicit in/out parameter"
3a0b6bd22aa32daa729b05c33896400807027eee 17-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Use uint32_t sequence numbers for IAudioRecord"
9a2a29ce9ea69382aafd8b895b80f7bbd028cb00 17-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Document the reference count rules for I/O handles"
1071915ad4ffb47825a946706f8fa73c0d22d7f8 17-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Make copy of audio_offload_info_t for future use"
9c1aaa7fee4b17d3675af6108c5ff28f3a84c8ec 17-Jan-2014 Marco Nelissen <marcone@google.com> am 6146f60c: am 319c5640: am 07a017d3: Merge "Added support for ID3v2 meta data in 3gp files"

* commit '6146f60c87a8a9c66036325c66dea826d2e98f6f':
Added support for ID3v2 meta data in 3gp files
543140eb709a07bc386eb5f667a4a72e31dba56c 17-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Move up initialization of mFormat, mStreamType, and mSharedBuffer earlier"
319c5640ca2e5838e35faaddc47df00174dac1b5 17-Jan-2014 Marco Nelissen <marcone@google.com> am 07a017d3: Merge "Added support for ID3v2 meta data in 3gp files"

* commit '07a017d3ff9cb36e47649a9de28e469415eb8103':
Added support for ID3v2 meta data in 3gp files
6a507298357c9ff869b97db57a890e58bd6bdec0 17-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "AudioRecord::getInputFramesLost() cleanup"
32a7e0a5f7b000951b9adb80b17796f35b024816 17-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Unify comments between AudioTrack and AudioRecord"
d631d962a831de8b7614b14d7368eae60c816893 16-Jan-2014 Glenn Kasten <gkasten@google.com> Document the reference count rules for I/O handles

Change-Id: Ia7cd27ad84bbd7bf2657011057f89386f938a807
edia/AudioSystem.h
edia/IAudioFlinger.h
b5ccb2d99b2af400c70777a6452f090ac14f5a96 13-Jan-2014 Glenn Kasten <gkasten@google.com> Make copy of audio_offload_info_t for future use

Change-Id: I515970aa0660418d5d1640fb1bf477e112c89bdd
edia/AudioTrack.h
dd5f4c8c4059f890e81b28b026a688febb4e1dd9 13-Jan-2014 Glenn Kasten <gkasten@google.com> Move up initialization of mFormat, mStreamType, and mSharedBuffer earlier

This will allow removal of most of the parameter list to createTrack_l.

Also check for valid stream type at client so we can log a better error
message.

Change-Id: Ia7176896d47fbb49106119fca26d9de8e7efe859
edia/AudioTrack.h
8ff50e7526d24aca11713006933b8dcb64ef6be9 15-Jan-2014 Glenn Kasten <gkasten@google.com> Use uint32_t sequence numbers for IAudioRecord

This makes it the same as for IAudioTrack.

Previously we had a mix of int, int32_t and uint32_t,
which could cause comparisons to fail.

Change-Id: Ic72ef650ee81f65db11e42ed16d818fdf3e310f4
edia/AudioRecord.h
328abde67f57c026ac44e927f9244c40832499c8 27-Jan-2011 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added support for ID3v2 meta data in 3gp files

Added support for parsing ID3v2 meta data from
the ID32 chunk in 3gp files. The priority will be
3gpp -> ID3v2 -> iTunes per field.

Change-Id: I0282ecab58e3e5fa6bd738078d562c8bb8ce00ed
edia/stagefright/MetaData.h
ac1954cb9a480a409e8cee4193fc534a6a29fbb6 15-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Document AudioTrack mFrameCount and mReqFrameCount better"
5f972c031d4061f4f037c9fda1ea4bd9b6a756cd 13-Jan-2014 Glenn Kasten <gkasten@google.com> AudioRecord::getInputFramesLost() cleanup

Fixed bug that if the binder call failed (for example if the
IAudioFlinger binder is dead), then getInputFramesLost was returning
garbage. Now it correctly returns zero, which is the error value for
this method.

The type declarations for getInputFramesLost were inconsistent:
a mixture of unsigned int, size_t, and uint32_t. Now it returns uint32_t
everywhere, which is what the underlying HAL API returns.

Added a FIXME about the side effect behavior. This will need review
for multi-client.

Change-Id: Ifa2e117a87dbd0c1f2c892a31d1c3dd919bf1a0a
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioFlinger.h
5b27ccd67c845aa20a12a1fb58339e7e81e3d536 15-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Use AUDIO_SESSION_ALLOCATE instead of 0"
2b2165c75790050810460c8de3f414876bce4c0e 13-Jan-2014 Glenn Kasten <gkasten@google.com> Unify comments between AudioTrack and AudioRecord

Change-Id: I00a1025e2891a1c96218b3c2187eaddda6614ebc
edia/AudioRecord.h
edia/AudioTrack.h
23a7545c4de71e989c2d8ebf1d5b9dcf463c36a9 13-Jan-2014 Glenn Kasten <gkasten@google.com> Document locking rules for mFlags, and fix discrepancies

Change-Id: Id45ba544cc84133ed5e578fb4fd8a11b62211dc1
edia/AudioTrack.h
18a3609d6611714059ef8a75a0106c6be6341748 14-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Remove obsolete AudioTrack::processStreamEnd()"
41721bb796da589f8a669d1db7687a0da8f88761 13-Jan-2014 Glenn Kasten <gkasten@google.com> Fix race condition in AudioRecord::pause followed by start

Bug: 11148722
Change-Id: Ia1e14133d73ac301fe06a047e70a573911822630
edia/AudioRecord.h
1c5977d03935be8c385e90501b34083714fbdab1 13-Jan-2014 Glenn Kasten <gkasten@google.com> Remove obsolete AudioTrack::processStreamEnd()

Change-Id: I7c01b9d2e109acf8c393d2c3b7b1985f6647d96c
edia/AudioTrack.h
396fabdb6efcdac5aea3d9f559d1beedf6a4cedc 08-Jan-2014 Glenn Kasten <gkasten@google.com> Document AudioTrack mFrameCount and mReqFrameCount better

and remove unnecessary initialization of mFrameCount in set().

Change-Id: I9effeb0a6dd035ca02fe77f6992c55d9515b4df6
edia/AudioTrack.h
e2b2858b6ff0249b0c3bd6cb042afc8cf1fd78cf 09-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Cleanup AudioTrack::getMinFrameCount error handling"
66a0467fdddada4caabd0f0a999fbb367fea7bee 08-Jan-2014 Glenn Kasten <gkasten@google.com> Cleanup AudioTrack::getMinFrameCount error handling

Guarantee to return a non-zero frameCount for return status NO_ERROR;

Return the correct specific status_t if any of the AudioSystem APIs fail,
instead of the generic NO_INIT.

API change: getMinFramCount no longer defaults to zero on error, so
callers _must_ check the return status. This change makes
getMinFrameCount more like other APIs. All known callers were reviewed,
and they do check the return status.

Change-Id: I4a8342a75ee89a068c23c84b8380ed9d1b968507
edia/AudioTrack.h
f94006ca0f30c27868c284e553f57bf467ae92bc 08-Jan-2014 Glenn Kasten <gkasten@google.com> Cleanup error handling in AudioSystem get methods

Don't return zero sample rate or frame count without an error.

Change-Id: I052d841080ed33e4f081ae9825a2f33dff444fb9
edia/AudioSystem.h
4d973f3894a50413f21e7db284e96afc87f57698 08-Jan-2014 Glenn Kasten <gkasten@google.com> Merge "Remove unnecessary defaults for parameters in AudioSystem"
e6144d7a558c74e508a5c103cdc462c3cd7cf508 21-Dec-2013 Eric Laurent <elaurent@google.com> am 42d89e5d: am b904d53f: am 8115f4b2: Merge "stagefright: do not offload LD-AAC decoding"

* commit '42d89e5de5f401c7e81e1961061d07ae490c9d29':
stagefright: do not offload LD-AAC decoding
b904d53ffaaafddb2f9b6f469b73d2a3bec3dd0d 21-Dec-2013 Eric Laurent <elaurent@google.com> am 8115f4b2: Merge "stagefright: do not offload LD-AAC decoding"

* commit '8115f4b206dbd04c620f062feb3c7785e2732ab3':
stagefright: do not offload LD-AAC decoding
db170bb1cae145d07efc803a3c208963de0c6087 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: do not offload LD-AAC decoding

For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.

Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
edia/stagefright/MetaData.h
a36ff9fdf912b54f639118578e8d9582e1d70dca 21-Dec-2013 Glenn Kasten <gkasten@google.com> Merge "Fix some (but not all) unused parameter warnings"
73b61d3c2906d6d70a0843c1f0470f514c312956 21-Dec-2013 Glenn Kasten <gkasten@google.com> Merge "Add versions of get/SetParameters without I/O handle"
aea7ea06394bcb155972d82055d4ea59962e4051 26-Jun-2013 Glenn Kasten <gkasten@google.com> Use AUDIO_SESSION_ALLOCATE instead of 0

Also fix a couple of places where we were using AUDIO_SESSION_OUTPUT_MIX,
which happens to also be equal to 0, but has a different meaning.

Change-Id: I90e39be3b89f5021a96d9e3b8d10929013ca977f
edia/AudioRecord.h
edia/AudioTrack.h
74935e44734c1ec235c2b6677db3e0dbefa5ddb8 19-Dec-2013 Glenn Kasten <gkasten@google.com> Replace control block frameCount_ by explicit in/out parameter

in IAudioFlinger::createTrack and IAudioFlinger::openRecord

Change-Id: I09c644c80e92c8e744b1b99055988a2588b2a83d
edia/IAudioFlinger.h
rivate/media/AudioTrackShared.h
7c7be1e05634d96d08210efb4bdeb012ffba440d 20-Dec-2013 Glenn Kasten <gkasten@google.com> Fix some (but not all) unused parameter warnings

Change-Id: Ia99e23a0b46db3f3e6aa46f9018e63c14f4af369
edia/AudioRecord.h
edia/AudioTrack.h
6a5e79733c760d7555aacec53c8bd21e8516c0a1 20-Dec-2013 Glenn Kasten <gkasten@google.com> Remove unnecessary defaults for parameters in AudioSystem

Change-Id: I0ee7bc13cf64f50b1ea780f4d99899aed20421a0
edia/AudioSystem.h
c23885ebb142b9da31543789ecc3f7cf7111bc67 20-Dec-2013 Glenn Kasten <gkasten@google.com> Add versions of get/SetParameters without I/O handle

This is a step towards hiding I/O handles from application level,
as much as possible.

Change-Id: I30f4171d5dcf77f8e8eb332ce2e9245b30f5f2e1
edia/AudioSystem.h
47f3f5a119194d4c06815453be9950ba112c8e3e 18-Dec-2013 Glenn Kasten <gkasten@google.com> Fix bug in test-resample's AudioBufferProvider

The contract for AudioBufferProvider::releaseBuffer() was missing.

Bug: 12194314
Change-Id: I2fcf75e7b8eaf6db34f360206d79457a04a73565
edia/AudioBufferProvider.h
51d166ec7985949fa69262f213a4162708ebe81e 17-Dec-2013 Eric Laurent <elaurent@google.com> am 9060d498: Merge "update offloaded audio track sampling rate"

* commit '9060d498be0c54d3caf84e2dbf1ba62516b3e76e':
update offloaded audio track sampling rate
5e49afd05566820517747b9a8071c99ec0918328 27-Jul-2013 Eric Laurent <elaurent@google.com> update offloaded audio track sampling rate

AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.

Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
edia/AudioTrack.h
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
544ad2be674423238c47650d2c8588ba7dfc9ed2 13-Nov-2013 Marco Nelissen <marcone@google.com> Better character set encoding detection

Id3 tags are supposed to be ISO-8859-1 or unicode, but often aren't.
To better detect the real encoding we now use ICU to detect possible
encodings for a given byte sequence, then apply additional heuristics
to determine the most likely one.
b/5564857

Change-Id: I53bc83b006433da5c2f2ccfcd770ddb3a26b64d0
edia/mediascanner.h
7e3c19fbead7af39b3c0ca3d170406a98f97dbd0 26-Nov-2013 Robert Shih <robertshih@google.com> Merge "Avoid the call to CameraSourceTimeLapse::trySettingVideoSize if initialization failed in the parent class ctor CameraSource::CameraSource."
9bb976e1c78048081cf9df4d8a1db67311413e5b 22-Nov-2013 Robert Shih <robertshih@google.com> Avoid the call to CameraSourceTimeLapse::trySettingVideoSize if initialization
failed in the parent class ctor CameraSource::CameraSource.

Bug: 11636771
Change-Id: I5e6bffc1ebeeb1c2b84d6ed2049b2b3676ac046a
edia/stagefright/CameraSource.h
6f59db12a64f4496866952a251122ccb77a36c6b 27-Jul-2013 Eric Laurent <elaurent@google.com> update offloaded audio track sampling rate

AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.

Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
edia/AudioTrack.h
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
704287d1b9427cc39e7be2fc44b0ae21840831e4 19-Nov-2013 Lajos Molnar <lajos@google.com> am 72afcd5d: am 5ea5b020: Merge "WA: Queue extra buffers on output port during reconfig if input EOS-ed" into klp-dev

* commit '72afcd5da296b1f5fb38ef037054855aaea88054':
WA: Queue extra buffers on output port during reconfig if input EOS-ed
5ea5b020b311a68f513d4a40aca5551abc6a07d8 19-Nov-2013 Lajos Molnar <lajos@google.com> Merge "WA: Queue extra buffers on output port during reconfig if input EOS-ed" into klp-dev
b4213a1252c23115f3fac77101adb33a9c6b9423 15-Nov-2013 Eric Laurent <elaurent@google.com> am 576e89b5: am 7dae71d6: Merge "AwesomePlayer: correct stream type for offload" into klp-dev

* commit '576e89b523d7705545032edc67d98d9ab1dedbd2':
AwesomePlayer: correct stream type for offload
22612345ae97648d5b6db43cc1aa30aad77f7bba 15-Nov-2013 Eric Laurent <elaurent@google.com> AwesomePlayer: correct stream type for offload

canOffloadStream() function in stagefright utils forces the
stream type to AUDIO_STREAM_MUSIC when querying the audio policy
manager if a particular track is offloadable or not.
This causes MP3 ringtones to be offloaded which is not a validated use case.

The fix consists in using the actual stream type read from the AudioSink.

Bug: 11410937.
Change-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d
edia/MediaPlayerInterface.h
edia/stagefright/Utils.h
4dd0a8a3d66c2853faf2834565b3c5df4f68734d 07-Nov-2013 Lajos Molnar <lajos@google.com> WA: Queue extra buffers on output port during reconfig if input EOS-ed

Some codecs may return input buffers before having them processed.
This causes a halt if we already signaled an EOS on the input
port. For now keep submitting output meta buffers one at a time if
the input EOS-ed, but the output not yet.

Normally, we submit an output buffer for each input buffer that is
with the component (waiting to be processed).

Change-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11433909
edia/stagefright/ACodec.h
5595f6de606f51ec61fbf40a269b52312507aded 13-Nov-2013 Marco Nelissen <marcone@google.com> Merge "Only initialize sniffers once, don't hold mutex while sniffing" into klp-dev
d725d23ae67045c22003d419d5c31ca1d551da89 12-Nov-2013 Andreas Huber <andih@google.com> am db50cb5f: am caee8747: Merge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into klp-dev

* commit 'db50cb5f7ae6d2beacd8a4fa4a8991035b3c88e7':
configure bitrate and bitrate mode at encoder initialization for VP8/9
41e7ae8f7f1ec93f8473142d1f3bfe07b22c5c51 12-Nov-2013 Lajos Molnar <lajos@google.com> am cc5aeced: am e100b813: Merge "StageFrightRecorder: do not use meta-data mode for software encoders" into klp-dev

* commit 'cc5aeced30609326c7495eca1286163af3933fe1':
StageFrightRecorder: do not use meta-data mode for software encoders
caee8747b7df3b1119426594d4ba1c0e300ff6db 12-Nov-2013 Andreas Huber <andih@google.com> Merge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into klp-dev
e3067743d6ef2c6c1aac4361b6ed65e6d7bbe3e3 06-Nov-2013 Marco Nelissen <marcone@google.com> Only initialize sniffers once, don't hold mutex while sniffing

b/11482896

Change-Id: Ie036554b4c9e7e8863cb07901d414ea457f1b2f1
(cherry picked from commit 377fce69297a0e5b7c3b266a7602b17146785635)
edia/stagefright/DataSource.h
377fce69297a0e5b7c3b266a7602b17146785635 06-Nov-2013 Marco Nelissen <marcone@google.com> Only initialize sniffers once, don't hold mutex while sniffing

b/11482896

Change-Id: Ie036554b4c9e7e8863cb07901d414ea457f1b2f1
edia/stagefright/DataSource.h
e100b813c4d833b48b48b74100ad0b9a82c46954 11-Nov-2013 Lajos Molnar <lajos@google.com> Merge "StageFrightRecorder: do not use meta-data mode for software encoders" into klp-dev
7bf17159f233111a21b293cde8e227231353cd75 07-Nov-2013 Eino-Ville Talvala <etalvala@google.com> am d9d8b7b6: am fd6ecdd3: Camera HAL3/API1: Add support for the partial result quirk.

* commit 'd9d8b7b63514ceea143968b3f114c52755dda9ef':
Camera HAL3/API1: Add support for the partial result quirk.
fd6ecdd39bd83ea020f78b425e96310380d66c35 11-Oct-2013 Eino-Ville Talvala <etalvala@google.com> 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
amera/CameraMetadata.h
d3c079ae9859011d118f94616d0069c2987013ed 28-Oct-2013 Changwan Ryu <changwan@google.com> Support TS + AC3 for ATSC standard

Change-Id: I141667f3f54b242bafdf0ab9db86852c56f49ffa
edia/stagefright/OMXCodec.h
97358c3e1adaf4a744cad78891a16d12e3e9c88e 28-Oct-2013 Changwan Ryu <changwan@google.com> Support AC3 in stagefright

Change-Id: I12016b424bd069413bd6e380ff11484e175e05f3
edia/stagefright/ACodec.h
edia/stagefright/MediaDefs.h
89b31a3f670d8bec87bed50aaad9bcd8edec66b6 05-Nov-2013 Andreas Huber <andih@google.com> configure bitrate and bitrate mode at encoder initialization for VP8/9

Change-Id: I0389264db4102cabb0c6fcb4ca223d85cc9e86fb
related-to-bug: 11536167
edia/stagefright/ACodec.h
9c7f845780d62ea09469a8dac7117cc01adfea5c 30-Oct-2013 Lajos Molnar <lajos@google.com> 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
edia/stagefright/CameraSourceTimeLapse.h
9cae217050aa1347d4ac5053c305754879e3f97f 14-Jan-2013 Marco Nelissen <marcone@google.com> 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
edia/AudioTrack.h
edia/IAudioFlinger.h
462fd2fa9eef642b0574aa7409de0bde3fec8d43 14-Jan-2013 Marco Nelissen <marcone@google.com> 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.

Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31
edia/AudioTrack.h
edia/IAudioFlinger.h
a153b68f2260a8ed7fbb236fa659b13264ac5ac0 19-Oct-2013 Glenn Kasten <gkasten@google.com> am 77177fa2: am 95c03858: Merge "Allow releaseBuffer after flush" into klp-dev

* commit '77177fa20773d02b4f9c4147ecb98107f019fa7d':
Allow releaseBuffer after flush
2e422c472c91aa7912befd0fc038d1e11f354bc1 18-Oct-2013 Glenn Kasten <gkasten@google.com> 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
rivate/media/AudioTrackShared.h
abe0948c7b9aa32dceb82cebbfca52beb782754b 17-Oct-2013 Glenn Kasten <gkasten@google.com> am b2059ff3: am f8f15b05: Merge "Fix race condition in AudioTrack::pause followed by start" into klp-dev

* commit 'b2059ff384eee8ffb70a7ec8fc5570405201c734':
Fix race condition in AudioTrack::pause followed by start
f8f15b05fe051009945c9042a1a9260280e0feb2 17-Oct-2013 Glenn Kasten <gkasten@google.com> Merge "Fix race condition in AudioTrack::pause followed by start" into klp-dev
598de6c701e989385eeffa7c5dfd61f0459a2631 17-Oct-2013 Glenn Kasten <gkasten@google.com> Fix race condition in AudioTrack::pause followed by start

Bug: 11148722
Change-Id: Iec88f00c8510363d4418e4b8d5b34feb06ecf04d
edia/AudioTrack.h
771f1b6d196b7924707fc44177ac3a88fc31fa9e 17-Oct-2013 Eric Laurent <elaurent@google.com> am 7f8c3973: am 120a8847: Merge "AudioTrack: fix head position after restore" into klp-dev

* commit '7f8c397378a7ee5abd395413be71388ad36d3ed2':
AudioTrack: fix head position after restore
cc21e4f1e41dfa17e7e2bef995fcd22c45f6bcd0 17-Oct-2013 Eric Laurent <elaurent@google.com> 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
rivate/media/AudioTrackShared.h
e2b082dde607df6250879df45d61e82e0cf64edf 07-Oct-2013 Glenn Kasten <gkasten@google.com> Merge "Add missing namespace for AudioTimestamp"
35295078ab59c8c5d143a54d5a55557c3ca62c51 07-Oct-2013 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of 9a7d11f0 to master

Change-Id: Ie4d101185a93d37ec280f608813ad62a077a584e
fee4ce338d78eeb58af1f66831ead53322d3859e 07-Oct-2013 Glenn Kasten <gkasten@google.com> Merge "Cleanup openRecord error handling" into klp-dev
4cde555e00a129f5684b1bdba1440fc89760383b 04-Oct-2013 Eino-Ville Talvala <etalvala@google.com> am 38ea22bb: am b2d71d3a: Merge "Camera API 2, Device 2/3: Implement idle and shutter callbacks" into klp-dev

* commit '38ea22bb3a841dd37cc2be0fdca8c5e4ba3cf6db':
Camera API 2, Device 2/3: Implement idle and shutter callbacks
b7f82eaed2876bacc3a402182b75323026813c30 04-Oct-2013 Lajos Molnar <lajos@google.com> am aa50cc78: am 56ce7260: IOMX: Add prepareForAdaptivePlayback method

* commit 'aa50cc78be8a1067a0694a97b04d5a24b80af475':
IOMX: Add prepareForAdaptivePlayback method
b2d71d3a35de6382096ed688a4cae3bbca3c97bf 03-Oct-2013 Eino-Ville Talvala <etalvala@google.com> Merge "Camera API 2, Device 2/3: Implement idle and shutter callbacks" into klp-dev
56ce726019f700a95ce5b45beebceadae4836e30 03-May-2013 Lajos Molnar <lajos@google.com> 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
edia/IOMX.h
f1e98d857ec377f2c9b916073d40732e6ebb7ced 06-Sep-2013 Eino-Ville Talvala <etalvala@google.com> 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
amera/IProCameraCallbacks.h
amera/ProCamera.h
amera/camera2/ICameraDeviceCallbacks.h
2b9cbe9dcea41d687aa1d54bffb4e443e2101a35 02-Oct-2013 Lajos Molnar <lajos@google.com> am 6ec564ac: am 353fb9bf: Merge "MediaTimeProvider support fixes" into klp-dev

* commit '6ec564aca718b4d01543ded38d47e1e6c0ae05d5':
MediaTimeProvider support fixes
34717c83733def81287e2b4ba2f62b416325c7ae 02-Oct-2013 Eric Laurent <elaurent@google.com> am 3424d6e1: am 1adf20ce: Merge "fix volume and effect enable delay on offloaded tracks" into klp-dev

* commit '3424d6e17637e0743ddf3bf4688af8ee36e69264':
fix volume and effect enable delay on offloaded tracks
353fb9bf940ee34a3885bc85ec7891228e958a4b 01-Oct-2013 Lajos Molnar <lajos@google.com> Merge "MediaTimeProvider support fixes" into klp-dev
6218fdc2bef7b9c912bc4d132c12ee43b7b2dd37 25-Sep-2013 Lajos Molnar <lajos@google.com> 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
edia/mediaplayer.h
c30acb663946cdbe85a3010945f782e0dc717ee6 30-Sep-2013 jpadmana <jayashree.r.padmanaban@intel.com> am 2eab94f7: Effects Factory changes for effects offload

* commit '2eab94f7dfd41a65e13aca379a1aed97447f8884':
Effects Factory changes for effects offload
3cc5436d23ec7568d199d7a73299501c9647a742 30-Sep-2013 Eric Laurent <elaurent@google.com> am 83f40005: Revert "Effects Factory changes for effects offload"

* commit '83f400056ac913250f0926326ff78697c68d18a1':
Revert "Effects Factory changes for effects offload"
59fe010bcc072597852454a2ec53d7b0a2002a3b 28-Sep-2013 Eric Laurent <elaurent@google.com> 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
edia/IAudioTrack.h
71de2f20e884a380de58148ccdfc8ee70f2d5974 23-Sep-2013 Glenn Kasten <gkasten@google.com> Add missing namespace for AudioTimestamp

Change-Id: I775624b71b4446ee6d1599c6614ab8a8340bbfdb
edia/AudioTimestamp.h
2eab94f7dfd41a65e13aca379a1aed97447f8884 04-Jun-2013 jpadmana <jayashree.r.padmanaban@intel.com> 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>
edia/EffectsFactoryApi.h
83f400056ac913250f0926326ff78697c68d18a1 27-Sep-2013 Eric Laurent <elaurent@google.com> Revert "Effects Factory changes for effects offload"

This reverts commit 284c17e73bbff51cb5b1adcee98386d47733757a.

Change-Id: I31db21e1ad4758b21356bfe4c4c64f15b2da8737
edia/EffectsFactoryApi.h
3c928c3a7a9684501664a59082a2583347e47664 26-Sep-2013 Zhijun He <zhijunhe@google.com> am 369af71e: am 6914de6d: Merge "Camera: Implement getCameraCharacteristics" into klp-dev

* commit '369af71eb7e402ee68b66b0f0ede5d4d40c857d1':
Camera: Implement getCameraCharacteristics
2b59be89dc245b6e2475d9e8b0c5f2392370e71e 25-Sep-2013 Zhijun He <zhijunhe@google.com> Camera: Implement getCameraCharacteristics

Bug: 10904541
Bug: 10360518
Change-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017
amera/ICameraService.h
c666b8f16310fc826471c0fb6ee3f7e4d3a2d067 24-Sep-2013 Eric Laurent <elaurent@google.com> am 8ee02943: am 1c7f35d1: Merge "soundpool: allocate shared memory heap by client" into klp-dev

* commit '8ee02943b61e0a7dd78e5596720261b185a223d5':
soundpool: allocate shared memory heap by client
e93cf2ca27ae6f4a81d4ef548bbf10a34db6d98f 24-Sep-2013 Glenn Kasten <gkasten@google.com> Cleanup openRecord error handling

Bug: 10888816
Change-Id: I84897dd7d30b370640b54e928f230604b873cb68
edia/IAudioFlinger.h
3d00aa6de95fb46e36f2bab4e3facdf0b96acf06 24-Sep-2013 Eric Laurent <elaurent@google.com> 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
edia/IMediaPlayerService.h
edia/SoundPool.h
edia/mediaplayer.h
20fb283150ddbcf362c764d7b822f54e5bcdd457 24-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> am c7b2f9dc: am 402dfba6: Merge "Add support for level measurements in Visualizer" into klp-dev

* commit 'c7b2f9dce911026fa13854b49aa2bb5353f68499':
Add support for level measurements in Visualizer
09647d29eaf429ce88c9c9709ff63dee62f2147a 20-Sep-2013 Jean-Michel Trivi <jmtrivi@google.com> Add support for level measurements in Visualizer

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

Bug 8413913

Change-Id: Ib25254065c79d365ebb34f9dc9caa0490e2d300d
edia/Visualizer.h
dd0a81253bcf4daef56e991c94dc3c0d1124ef90 20-Sep-2013 Glenn Kasten <gkasten@google.com> am f2c643c8: am 3b3cfcfa: Merge "Fix slow AudioTrack and AudioRecord destruction" into klp-dev

* commit 'f2c643c89e405b57c7ce42067b876fb80031e5fa':
Fix slow AudioTrack and AudioRecord destruction
5a6cd224d07c05b496b6aca050ce5ecf96f125af 20-Sep-2013 Glenn Kasten <gkasten@google.com> 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
edia/AudioRecord.h
edia/AudioTrack.h
a6cdabf38b29ee98bdb3e874b4e2978dbc409624 18-Sep-2013 Marco Nelissen <marcone@google.com> Fully reset SkipCutBuffer state in clear()

b/8543366

Change-Id: I1b90d56ba3d672fd12b4ee91fa9ba24c665126ed
edia/stagefright/SkipCutBuffer.h
16f3201d2fe99a39a8a9bb478528ae9003645dfe 18-Sep-2013 Glenn Kasten <gkasten@google.com> am 11454092: am 18f86140: Merge "Fix underruns when fast track denied due to SRC" into klp-dev

* commit '11454092e4a94d3c8b4576c981595339abdfac0d':
Fix underruns when fast track denied due to SRC
ce8828a016b082f730152af2204b8ea3610dc1ec 17-Sep-2013 Glenn Kasten <gkasten@google.com> 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
rivate/media/AudioTrackShared.h
b4e04abed8d82d3bb31861740542e161df91321a 10-Sep-2013 Zhijun He <zhijunhe@google.com> am 1024ffd7: am 7f9551f7: MediaMuxer: Hook up setLocation method

* commit '1024ffd706ca10591e4cc8ebcd92605a00b516d0':
MediaMuxer: Hook up setLocation method
7f9551f75eedb3e4e1fe8feaaba48d8080635fc4 10-Sep-2013 Zhijun He <zhijunhe@google.com> MediaMuxer: Hook up setLocation method

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

Bug: 10594784
Change-Id: I9bd006a07e5e2ac7019849e3f4f7cf7b8356d669
edia/stagefright/MediaMuxer.h
499ab9e17d8bd8b521b567e47c9a1b9421567e2a 06-Sep-2013 Eric Laurent <elaurent@google.com> am c2cfaf78: am a82975e0: Merge "Effects Factory changes for effects offload" into klp-dev

* commit 'c2cfaf78f93361e2edb4af9930a73904d261d198':
Effects Factory changes for effects offload
284c17e73bbff51cb5b1adcee98386d47733757a 04-Jun-2013 jpadmana <rpadmanaban.jayashree@gmail.com> 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>
edia/EffectsFactoryApi.h
83da1fcb120a2d09642be74cf9091ab321a60c8f 05-Sep-2013 Chong Zhang <chz@google.com> am c74630bc: am a1991255: Merge "wifi-display: do not use HDCP\'s encryptNative method if its unsupported" into klp-dev

* commit 'c74630bcbdc6f9a88a019b7ced6fbe7a58675ea2':
wifi-display: do not use HDCP's encryptNative method if its unsupported
a19912554f3779fac0c341ac702227bf4b5fe399 05-Sep-2013 Chong Zhang <chz@google.com> Merge "wifi-display: do not use HDCP's encryptNative method if its unsupported" into klp-dev
1462a2b84a578b5541683c824e0f77ebf2aa82ae 04-Sep-2013 Glenn Kasten <gkasten@google.com> am a4a82c5f: am 6466c9e6: Add ExtendedAudioBufferProvider::framesReleased and onTimestamp

* commit 'a4a82c5f8f3eccfa10ce30a52cbb4b1c5c983282':
Add ExtendedAudioBufferProvider::framesReleased and onTimestamp
f701ddad1a4f58c368e3b642530849dcb57bb22c 04-Sep-2013 Glenn Kasten <gkasten@google.com> am a071bf88: am 894d6be4: Add NBAIO_Source::onTimestamp()

* commit 'a071bf884605f7bb34b45ee9f21476c9757c6d5b':
Add NBAIO_Source::onTimestamp()
fe582a379aa775b34b6aba387eea046b6c4632f1 04-Sep-2013 Glenn Kasten <gkasten@google.com> am 1a3a8078: am a07a1c2c: Instantiate SingleStateQueue<AudioTimestamp>

* commit '1a3a8078462e52b450dbad7443abaca1ca9cbfb8':
Instantiate SingleStateQueue<AudioTimestamp>
ec3acca4a75fc4adc076b56751124f507b419622 03-Sep-2013 Chong Zhang <chz@google.com> wifi-display: do not use HDCP's encryptNative method if its unsupported

Bug: 10609422
Change-Id: I005f1d04a4191b1503b5f3e895a98b8d6560c402
edia/IHDCP.h
a7fef85e7d419a4f5d6a3144f9ba70ceff2f122a 04-Sep-2013 Glenn Kasten <gkasten@google.com> am f81d5fc1: am 943ba3cc: Merge "Add NBAIO_Sink::getTimestamp()" into klp-dev

* commit 'f81d5fc1d67a5252d0da1a45274460c4dd33b87b':
Add NBAIO_Sink::getTimestamp()
6466c9e6e6278c740aed77f695f679be9f5db478 23-Aug-2013 Glenn Kasten <gkasten@google.com> 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
edia/ExtendedAudioBufferProvider.h
edia/nbaio/SourceAudioBufferProvider.h
894d6be4f9b4721c77a01919ecf03b27cec90cc9 26-Aug-2013 Glenn Kasten <gkasten@google.com> 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
edia/nbaio/MonoPipeReader.h
edia/nbaio/NBAIO.h
a07a1c2c91dc7ee6ded319262499f20cd01edcf7 23-Aug-2013 Glenn Kasten <gkasten@google.com> Instantiate SingleStateQueue<AudioTimestamp>

as typedef AudioTimestampSingleStateQueue and use it in MonoPipe.

Change-Id: Idaebb362bd9d0a81a7ed83792ab9369dc37c0e74
edia/nbaio/MonoPipe.h
943ba3cca8df0da24db38e97e43aaacb5b788a21 04-Sep-2013 Glenn Kasten <gkasten@google.com> Merge "Add NBAIO_Sink::getTimestamp()" into klp-dev
767094dd98b01baf21de2ad09c27b3c98776cf73 23-Aug-2013 Glenn Kasten <gkasten@google.com> Add NBAIO_Sink::getTimestamp()

with a real implementation in AudioStreamOutSink
for dummy implementation initially in MonoPipe.

Use in AudioFlinger::PlaybackThread::threadLoop_write()
to keep the input to the timestamp latch up-to-date.

Change-Id: I10ef277991b63bb43d55d6f3df75116ef32246cd
edia/nbaio/AudioStreamOutSink.h
edia/nbaio/MonoPipe.h
edia/nbaio/NBAIO.h
5cab67554b1067d7c788ee711ab1cee567e7560d 03-Sep-2013 Jeff Tinker <jtinker@google.com> am f946da95: am 4585e8f0: Revert "Enhancement for OnInfo callback on DRM Framework"

* commit 'f946da950d550809b865d7270c93778aac972e33':
Revert "Enhancement for OnInfo callback on DRM Framework"
4585e8f0ff47580fdb81ed8652bde32db1770050 31-Aug-2013 Jeff Tinker <jtinker@google.com> Revert "Enhancement for OnInfo callback on DRM Framework"

This reverts commit 5ff7836da0220b3097f36c8a5e82111816ebca62.

Fixes Fatal signal 6 (SIGABRT)" when playing or downloading a video
bug: 10542864

Change-Id: I7f81a41c3acdbeb571a514b3f65e7ba37d403cca
rm/DrmInfoEvent.h
f557872b594d15599bdb65efd91eb5adeb1d0840 30-Aug-2013 Glenn Kasten <gkasten@google.com> am 908d3c09: am 51ec03c2: Merge "Implement Track::getTimestamp()" into klp-dev

* commit '908d3c09ca7f2ccb280aa5dc8d876099ff9a9d0f':
Implement Track::getTimestamp()
ec9ad1b0947f5d6b465281312dbe92f096a8f881 30-Aug-2013 Glenn Kasten <gkasten@google.com> am f94b2946: am 56b59224: Merge "Add IAudioTrack::getTimestamp()" into klp-dev

* commit 'f94b2946a511c5cbb6b9001449ca8278cb332bda':
Add IAudioTrack::getTimestamp()
6dc365f0d5a92084517f0c3846e4f07fc7206bab 30-Aug-2013 Glenn Kasten <gkasten@google.com> am 73e4f3d4: am 865f6f24: Merge "New AudioTrack C++ API for audio timestamps" into klp-dev

* commit '73e4f3d44f7022b03943ae34f08363e049e4b46f':
New AudioTrack C++ API for audio timestamps
bd096fd9d8e5fc0e62f98807f4818a06f70d0812 23-Aug-2013 Glenn Kasten <gkasten@google.com> Implement Track::getTimestamp()

using a new timestamp latch in PlaybackThread, and
AudioTrackServerProxy::framesReleased() which returns mServer.

Change-Id: I1ebfba968c773faaab95648c272fd3ebd74718d6
rivate/media/AudioTrackShared.h
53cec22821072719ee02c856e9ac2dda2496c570 29-Aug-2013 Glenn Kasten <gkasten@google.com> Add IAudioTrack::getTimestamp()

with dummy implementation in AudioFlinger::TrackHandle, and
implement AudioTrack::getTimestamp() using IAudioTrack.

Also document invariant that mAudioTrack and control block are always
non-0 after successful initialization.

Change-Id: I9861d1454cff7decf795d5d5898ac7999a9f3b7e
edia/AudioTrack.h
edia/IAudioTrack.h
ce70374bf105f8a6160bf5dd70affea012b2a464 20-Jul-2013 Glenn Kasten <gkasten@google.com> New AudioTrack C++ API for audio timestamps

This new API is intended to replace latency(), especially for A/V sync.
The application will receive periodic timestamp notifications. The period
is unspecified, but will likely be more frequent after a pause or stop,
set position, underrun, display on/off change, route change, or when audio
framework notices drift. It will be up to the higher level application
(e.g. Stagefright) to reconstruct a clock that updates more frequently.

The current latency() method doesn't indicate when latency changes
due to screen on/off state, route changes, etc.

Includes squahsed change-Id: I2082f8752040be0c234b1a6f1be2e269abf2ce7c
Dummy implementation of AudioTrack:getTimestamp()
Rename AudioTrack::Timestamp to AudioTimestamp.
Renaming and pulling up to a higher level allows more modules to use it.

Change-Id: Ibf7f6a207c3f8d8697f25ede2cd5200697fadb86
(cherry picked from commit dd69eb893867634fd169c03204a6ad7c74b351e7)
edia/AudioTimestamp.h
edia/AudioTrack.h
998d8225f6e4cb9f14e16a058ed2b04bf7237f69 27-Aug-2013 Eino-Ville Talvala <etalvala@google.com> am 677d2d3d: am e07f5372: Merge "Camera2: Add flush support" into klp-dev

* commit '677d2d3d4b212c81e4d3738794044711dca8ec8f':
Camera2: Add flush support
e07f53720bcf543bcfe90c228a49c2a85a3fdb4c 27-Aug-2013 Eino-Ville Talvala <etalvala@google.com> Merge "Camera2: Add flush support" into klp-dev
bb719d27b47d43239ea5bb75e142d412fe45e8a6 27-Aug-2013 Jeff Tinker <jtinker@google.com> am 23ae2999: am 3bd3690f: Merge "Enhancement for OnInfo callback on DRM Framework" into klp-dev

* commit '23ae2999e83897133b743b2eabade403f7233393':
Enhancement for OnInfo callback on DRM Framework
733ba4dc9161741930464818618855962bdb1297 27-Aug-2013 Chong Zhang <chz@google.com> am f79d6e44: am 33142e1e: Merge "wifi-display: pass session info to wifi display settings" into klp-dev

* commit 'f79d6e44ffd427cf9d331a95777cfbbcc99f72f1':
wifi-display: pass session info to wifi display settings
6e74cc78e3e16686b895958d2a623abc3f5a775f 27-Aug-2013 Chong Zhang <chz@google.com> am 24850793: am 2484040e: Merge "MediaPlayer: add listener for raw track data" into klp-dev

* commit '24850793d3ca7e29d2ef553639d2e133c3983f7e':
MediaPlayer: add listener for raw track data
3bd3690fb0a423f9d0ba635e8db1c148ac9e93fc 26-Aug-2013 Jeff Tinker <jtinker@google.com> Merge "Enhancement for OnInfo callback on DRM Framework" into klp-dev
5ff7836da0220b3097f36c8a5e82111816ebca62 11-Jul-2012 Takeshi Aimi <takeshi.aimi@sonymobile.com> Enhancement for OnInfo callback on DRM Framework

In DRM framework, plugins can transmit DrmInfoEvent to Java layer.
Although DrmInfoEvent has several entries, current implementation
can only convey integer and String. This change enables plugins
uto propagate a hashmap to Java layer. The hashmap can have
one or more Strings and one byte array as value.

Changes are made by Sony Corporation.

bug: 10459159

Change-Id: Ic19265d4ad3db4eda66a3c27e1e08873a8f2a4d7
(cherry picked from commit 4f782bf0cb69929ebf03de239e2c9bf8e82adf5e)
rm/DrmInfoEvent.h
33142e1e318c0c766a385d88d2434f62f9e2dfe7 24-Aug-2013 Chong Zhang <chz@google.com> Merge "wifi-display: pass session info to wifi display settings" into klp-dev
abaa51d3ca31f0eda99e1d271e6dc64c877dbf58 14-Aug-2013 Eino-Ville Talvala <etalvala@google.com> Camera2: Add flush support

- On HAL2 devices, fall back to wait until idle
- On HAL3 devices, call HAL flush method

Bug: 9758581
Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
amera/camera2/ICameraDeviceUser.h
2484040e0f413989e4edbe26ba3bf71122382af6 23-Aug-2013 Chong Zhang <chz@google.com> Merge "MediaPlayer: add listener for raw track data" into klp-dev
c398c1a9a8296c20dcc566e9f6f148de9d2b0342 23-Aug-2013 Jeff Tinker <jtinker@google.com> am 6c6dc760: am 62c1a46e: Merge "Add ability to test supported content types to MediaDrm" into klp-dev

* commit '6c6dc760006b14a63c839a15d5612c7e19d16bc5':
Add ability to test supported content types to MediaDrm
62c1a46eec047eb5fbc4b90432ec1ce65b76fb75 23-Aug-2013 Jeff Tinker <jtinker@google.com> Merge "Add ability to test supported content types to MediaDrm" into klp-dev
9cf69e0fc110f17c28e988ed0f9bf91abfaf710d 21-Aug-2013 Jeff Tinker <jtinker@google.com> Add ability to test supported content types to MediaDrm

bug: 10244066
Change-Id: I317f05b146db962c271893f6208890a5a6c396f1
edia/IDrm.h
17fa1feca0dd0c166fd16a847c5559a5db2194bb 22-Aug-2013 Eino-Ville Talvala <etalvala@google.com> am 452e5cef: am 4b820b0e: Camera1: Rename setPreviewTexture to ...Target for clarity

* commit '452e5cef4745f5a624376f68a0bb22adf8cb3b0e':
Camera1: Rename setPreviewTexture to ...Target for clarity
bc794f8e5c8f5ea5519f2c333f7eb1bd800dae34 22-Aug-2013 Eino-Ville Talvala <etalvala@google.com> am 8ad43118: am 1ce7c34e: Camera1: Set preview to be asynchronous, and remove dead code

* commit '8ad43118cf7207d02c0b7e9251c3e549b741f471':
Camera1: Set preview to be asynchronous, and remove dead code
4b820b0e1fa069714b123fc35784541d0f94d267 21-Aug-2013 Eino-Ville Talvala <etalvala@google.com> Camera1: Rename setPreviewTexture to ...Target for clarity

Bug: 10312644
Change-Id: I19976188f0359bfd177209fb40145defdae9c740
amera/Camera.h
1ce7c34e67c2cf58dd88c31f36f4bd62e375f7f0 21-Aug-2013 Eino-Ville Talvala <etalvala@google.com> Camera1: Set preview to be asynchronous, and remove dead code

- Use the controlledByApp flag to make sure application-bound
preview buffer queue is asynchronous as before
- Remove setPreviewDisplay in service, since it is no longer in
the binder interface
- Rename setPreviewTexture to setPreviewTarget, to make it clear it's
the only game in town now. Rename only on the binder level and service
for now.

Bug: 10312644
Change-Id: Icd33a462022f9729a63dc65c69b755cb7969857e
amera/Camera.h
amera/ICamera.h
87ecf19404586672008e98babc225e094292ceb5 06-Jun-2013 Chong Zhang <chz@google.com> wifi-display: pass session info to wifi display settings

Bug: 9371882

Change-Id: I9e4b8c2154b03ce8ff3e14c465a5224bb6e8db9a
edia/IRemoteDisplayClient.h
d6a2f3f03197998f44374e68ba1d838a7ebb180d 20-Aug-2013 Eric Laurent <elaurent@google.com> am 9f178e70: am 99ad37a4: Merge "AudioSystem: new audioflinger restart detection" into klp-dev

* commit '9f178e705836d9ac8de64487929732c302644bee':
AudioSystem: new audioflinger restart detection
46291616486979986cba3ab83e894728ef53063f 18-Jul-2013 Eric Laurent <elaurent@google.com> AudioSystem: new audioflinger restart detection

Add a specific method to AudioSystem for AudioService to poll
for AudioFlinger service restart instead of relying on current
callback mechanism which is flaky.

Bug: 9693068.
Change-Id: Ie88bc9d25033503bc5cd2fa9d8c754d0f8045b8f
edia/AudioSystem.h
dcb89b3b505522efde173c105a851c412f947178 06-Aug-2013 Chong Zhang <chz@google.com> MediaPlayer: add listener for raw track data

Bug: 10326117

Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
edia/mediaplayer.h
c49d9f8511442ce555fa7365de24f3ef21928670 17-Aug-2013 Ruben Brunk <rubenbrunk@google.com> am a8542f05: am e9f3a314: Merge "Refactor CameraService to handle errors properly." into klp-dev

* commit 'a8542f05253e31a64428baf93a31183988a065bb':
Refactor CameraService to handle errors properly.
e9f3a3141c2eaafa3a5a3417d1e5682a909c5b31 17-Aug-2013 Ruben Brunk <rubenbrunk@google.com> Merge "Refactor CameraService to handle errors properly." into klp-dev
0f61d8f14aa368c9cd7076528e8096e10ed100a0 08-Aug-2013 Ruben Brunk <rubenbrunk@google.com> Refactor CameraService to handle errors properly.

Bug: 10361136

-Connect calls now return status_t error flags.

Change-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95
amera/Camera.h
amera/CameraBase.h
amera/ICameraService.h
amera/ProCamera.h
5970a9114e7016da4730b2196622c50e0558f753 16-Aug-2013 Lajos Molnar <lajos@google.com> am 54233057: am 1cb4e166: Merge "Add MEDIA_STARTED/PAUSED/STOPPED events to media players" into klp-dev

* commit '54233057d1c8466d3cc86e2f5ecc39e7816c4f7a':
Add MEDIA_STARTED/PAUSED/STOPPED events to media players
1cb4e1661e4144cb188c2c79b89804fcb902fd19 16-Aug-2013 Lajos Molnar <lajos@google.com> Merge "Add MEDIA_STARTED/PAUSED/STOPPED events to media players" into klp-dev
cbaffcffee6418d678806e63097c19fe26d48fe0 15-Aug-2013 Lajos Molnar <lajos@google.com> Add MEDIA_STARTED/PAUSED/STOPPED events to media players

This is needed for the MediaTimeProvider java interface, so it does not
continually poll for current media time.

Note: NuPlayer and AwesomePlayer do not correctly handle stop (pause
instead), so for those we will signal PAUSED.

Signed-off-by: Lajos Molnar <lajos@google.com>
Change-Id: I3c61e1bda475f131323f475c18a42e3ec66c9ae1
Bug: 10326117
edia/mediaplayer.h
62cf1fda94a21e0efac1778c54a03672c122a23b 15-Aug-2013 Andreas Huber <andih@google.com> am ce57e797: am 75c16dde: Merge "You can now opt-in to having the video decoder push blank buffers to the" into klp-dev

* commit 'ce57e797526db119f5baaaeab75cd8de4b162c9a':
You can now opt-in to having the video decoder push blank buffers to the
75c16dde986e16ac5fd4d34b06b0cc6a90679866 15-Aug-2013 Andreas Huber <andih@google.com> Merge "You can now opt-in to having the video decoder push blank buffers to the" into klp-dev
0167414e261f88a96b5e4bf6cb592e6ca11e5a95 14-Aug-2013 Andreas Huber <andih@google.com> You can now opt-in to having the video decoder push blank buffers to the

surface on the transition from executing->idle by specifying the key
"push-blank-buffers-on-shutdown" with a value of 1 in the call to configure.

Change-Id: I1155fccf89f18e717728c985e590651597595515
edia/stagefright/ACodec.h
23315af052cbef1fe427490eea7979908dccf032 14-Aug-2013 Lajos Molnar <lajos@google.com> am 984b3f4d: am 7f76a81b: Merge "Check adaptive playback support via CodecCapabilities" into klp-dev

* commit '984b3f4df6ac50a7d655391b19afefa8d5ce30ba':
Check adaptive playback support via CodecCapabilities
7f76a81b18ade3158ae27015637074ce08e837b2 14-Aug-2013 Lajos Molnar <lajos@google.com> Merge "Check adaptive playback support via CodecCapabilities" into klp-dev
2ee14000a38683220fb250d9e7300e1d71ccdaa0 07-Aug-2013 Lajos Molnar <lajos@google.com> Check adaptive playback support via CodecCapabilities

Added flags field to CodecCapabilities, so that applications
can query whether codecs support various features. For now
added one video-decoder feature:

kFlagSupportsAdaptivePlayback

Media playback applications can query it to see if a codec
supports seamless resolution changes, such as by supporting
dynamic output buffers.

Signed-off-by: Lajos Molnar <lajos@google.com>
Change-Id: I09da46e8ab6b8645fa2749e33128e49eda2e865b
Related-to-bug: 7093648
edia/stagefright/MediaCodecList.h
edia/stagefright/OMXCodec.h
fd8d53101e9f0912058bbd49f7b8fdc79e46826d 13-Aug-2013 Andreas Huber <andih@google.com> am 65a6b3b6: am cd06d357: Merge "Optionally repeat the previously submitted frame to the encoder" into klp-dev

* commit '65a6b3b6a19e0b4920ba504a3ee40e4abe3a740d':
Optionally repeat the previously submitted frame to the encoder
cd06d357ed4fcde991aa55dc97317d97cb287332 13-Aug-2013 Andreas Huber <andih@google.com> Merge "Optionally repeat the previously submitted frame to the encoder" into klp-dev
a61285dcf1da8a2cf40c499ee3a7b9fc4d74ac58 31-Jul-2013 Andreas Huber <andih@google.com> Optionally repeat the previously submitted frame to the encoder

if no new frame has been delivered by surface flinger within the timeout
interval.

Change-Id: I282f1b726dfe5646b178d7858d6f5d4f5a264fde
edia/IOMX.h
edia/stagefright/ACodec.h
e198c360d5e75a9b2097844c495c10902e7e8500 13-Aug-2013 Glenn Kasten <gkasten@google.com> Whitespace

Change-Id: Id3ccc183a03421330d0498faaa62a45915cdc3d6
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
2fc14730e4697a6f456b4631549c9981f6b0b115 05-Aug-2013 Glenn Kasten <gkasten@google.com> Comments

Change-Id: I56f82904cb3855bad6f33ad1ff4ddf66a61c5720
edia/AudioRecord.h
edia/AudioTrack.h
8845337fff1c8faa4296b3bcafcefb41e07fc3ad 13-Aug-2013 Jeff Brown <jeffbrown@google.com> am 82278b2c: am fe9611bd: Merge "Fix potential leak of audio input handle." into klp-dev

* commit '82278b2ceeebbcf345ed81413eeffa82fa82e05b':
Fix potential leak of audio input handle.
ac0bbe16f3eba46b3d8057b66c2aff9101fc6f7d 10-Aug-2013 Jeff Brown <jeffbrown@google.com> Fix potential leak of audio input handle.

The audio input handle is ultimately owned by the audio recorder
object but it could be dropped on the floor if an error occurred
before that object was fully initialized.

Rearranged some of the argument validation and merged getInput_l
with openRecord_l to simplify the code and prevent such a leak
from occurring.

Bug: 10265163
Change-Id: I124dce344b1d11c2dd66ca5e2c9aec0c52c230e2
edia/AudioRecord.h
5e078add4022360d18328ec41eee75703e8c424c 09-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Line length 100"
f31abb4ee82050030b3e5a0793bb2b8e30f40d31 07-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Cleanup comments for the new control block implementation"
2f583c0ac819a7bbd1228d7b8c3857c7e6a98a91 07-Aug-2013 Jeff Tinker <jtinker@google.com> Merge "Adds a drm resource busy error, removes some deprecated errors"
89a70f71cef61d10437b3901e8efc1f082a857c5 07-Aug-2013 Lajos Molnar <lajos@google.com> Merge "IOMX: add updateGraphicBufferInMeta method for metadata mode"
6d238e5ecb4c4266bc865a067072a30187e55f97 06-Aug-2013 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: I8ad58a961cefd0b0c2b041e04fd78669917453d1
edia/AudioRecord.h
edia/AudioSystem.h
d0715867861c216e88a4a7523b6da8a3cb128724 22-Jul-2013 Lajos Molnar <lajos@google.com> IOMX: add updateGraphicBufferInMeta method for metadata mode

This is used to set the handle in the metadata buffer that is
valid in the mediaserver process, as well as to keep a reference
for the graphic buffers in BufferMeta.

Change-Id: I46bb68d8bed894f357eeeb25368360d11b276634
Signed-off-by: Lajos Molnar <lajos@google.com>
edia/IOMX.h
deeef54487a34034dc0cfaab20b20d557224c07c 02-Aug-2013 Mathias Agopian <mathias@google.com> separte producer and consumer interfaces

Bug: 9265647
Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c
edia/stagefright/SurfaceMediaSource.h
230c5bde2779c618b26edc73443280b2d9371c70 06-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "AudioRecord notification frames"
743649fa70392b668377fb507d251b346c7b2769 06-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "AudioRecord::openRecord_l now take flags"
3aa03e40668dd90390d9f1702f8c576e15b366c3 06-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "IAudioFlinger::openRecord track_flags_t flags is in/out"
77baebfe89c99415a0ee4c2ea87bfd8a0f9e51f1 05-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "AudioRecord::set and constructor now take flags"
9b26847ed122a601ba857e0ef22ee2c818641120 05-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Make AudioRecord and AudioTrack comments more similar"
f86b18b1ce3cf20a39aea1fcaf90ec66f9d6d63e 05-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "AudioRecord callback thread waits for priority boost"
13c34e09fdfe0bcd2053368df4dd26028004d18f 05-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Remove default parameters for AudioTrack"
362552a53523c46679e8b3cbb83b39d7ae769ff7 03-Aug-2013 Jeff Tinker <jtinker@google.com> Adds a drm resource busy error, removes some deprecated errors

Change-Id: Id719fb6df9c9d955ac24803082d08f2a4a5bc766
related-to-bug: 9695816
edia/stagefright/MediaErrors.h
7cd9cf70e36ad4b8eb12e24f9adbbe6fd69edebd 01-Aug-2013 Glenn Kasten <gkasten@google.com> AudioRecord notification frames

Change-Id: I76ec536d1504eb9a558178b62bf225aace4b40d1
edia/AudioRecord.h
73493688f4190f790ee15d9ca54831cd64f4e195 01-Aug-2013 Glenn Kasten <gkasten@google.com> AudioRecord::openRecord_l now take flags

The new parameter 'flags' of type audio_input_flags_t will be used for
requesting a fast track, but is currently ignored.

Change-Id: If68dfda8b2d4eaaca42927d721b4630c47f71f3b
edia/AudioRecord.h
eeca32671896739e84050da5992d5f151a1629de 01-Aug-2013 Glenn Kasten <gkasten@google.com> IAudioFlinger::openRecord track_flags_t flags is in/out

This will allow AudioFlinger to tell client it is denying a request.

Change-Id: Iff2be3ad6636371bbda9c9899a283c94620c1f06
edia/IAudioFlinger.h
27f7b2a8fe899565487d8a326676a5f7d0a05a37 01-Aug-2013 Glenn Kasten <gkasten@google.com> AudioRecord::set and constructor now take flags

The new optional parameter 'flags' of type audio_input_flags_t will be
used for requesting a fast track.

Change-Id: Ia7e070cb57c833e608352da354fb30dc26df6918
edia/AudioRecord.h
28f1351369682801e1bb40a835bdae3c97b73c1c 31-Jul-2013 Glenn Kasten <gkasten@google.com> AudioRecord callback thread waits for priority boost

Change-Id: Iae38fa4ac20a45751566169213a08a15deb0a2f6
edia/AudioRecord.h
02de89293b74ab1e9a77ce2367c5c499ab038968 31-Jul-2013 Glenn Kasten <gkasten@google.com> Cleanup comments for the new control block implementation

There was some obsolete and incomplete text left over
after the new control block code was submitted.
This cleans up all those comments to be accurate again.

Change-Id: Ic52f5869cb723cde25d709514d6deea6aa6f20aa
edia/AudioRecord.h
edia/AudioTrack.h
f0f33c4acd231fa95deb9eeef2c46b0129e64463 31-Jul-2013 Glenn Kasten <gkasten@google.com> AudioRecord has no default sample rate

Change-Id: I72feefdd6f3a623fd3669b80d4b264518fdc0929
edia/AudioRecord.h
743732236ab84e94168378cdb293964861b1ed00 03-Aug-2013 Glenn Kasten <gkasten@google.com> Remove default parameters for AudioTrack

The defaults aren't needed; all users must know these values.

Change-Id: I0c1c97cb80bfea8e69a7cfa53ec85a91a8d48bb5
edia/AudioTrack.h
6ca126d5c83386941c5cb9600099e5510e4430d6 31-Jul-2013 Glenn Kasten <gkasten@google.com> Make AudioRecord and AudioTrack comments more similar

Change-Id: I122a7cf7bfc162090cb27f37c325db7a23985bc7
edia/AudioRecord.h
edia/AudioTrack.h
f36dbfe3d517e9311be0a4d0fd6658380690e84c 02-Aug-2013 Glenn Kasten <gkasten@google.com> Merge "Report underruns for fast tracks also"
30873bfd08255e2c4e98ff5732ffff2838772617 31-Jul-2013 Andreas Huber <andih@google.com> Unregister any handlers still registered on now "dead" ALoopers

upon the death of an ALooper.

Change-Id: I64c0835b8db04486204f3d0fa7173ee53708a116
related-to-bug: 10106648
edia/stagefright/foundation/ALooperRoster.h
82aaf94a5b18939e4d790bbc752031f3070704a3 18-Jul-2013 Glenn Kasten <gkasten@google.com> Report underruns for fast tracks also

This fixes a regression that was introduced earlier
by commit 9f80dd223d83d9bb9077fb6baee056cee4eaf7e5
called "New control block for AudioTrack and AudioRecord".
That commit broke underrun reporting for fast tracks.

Also remove Track::mUnderrunCount, which counted the number of underrun
events, and was only used by dumpsys media.audio_flinger.

Now dumpsys media.audio_flinger reports the number of underrun frames,

Isolated underrun-related control block accesses via the proxy, so that
the server is not directly poking around in the control block.

The new proxy APIs are AudioTrackServerProxy::getUnderrunFrames() and
AudioTrackServerProxy::tallyUnderrunFrames(). getUnderrunFrames() returns
a rolling counter for streaming tracks, or zero for static buffer tracks
which never underrun, but do a kind of 'pause' at end of buffer.
tallyUnderrunFrames() increments the counter by a specified number of frames.

Change-Id: Ib31fd73eb17cbb23888ce3af8ff29f471f5bd5a2
rivate/media/AudioTrackShared.h
4d74828fc0f6c13d49a36147a4250bcfa8ad0a47 19-Nov-2012 Glenn Kasten <gkasten@google.com> Remove default channel mask in AudioRecord constructor and set()

Change-Id: I22ad4ba8777842bf6705e79c6ad796fdb9a4104c
edia/AudioRecord.h
7b82efe7a376c882f8f938e1c41b8311a8cdda4a 26-Jul-2013 Eino-Ville Talvala <etalvala@google.com> Camera: Rename new API to camera2, rearrange camera service

- Support API rename from photography to camera2
- Reorganize camera service files
- API support files to api1/, api2/, api_pro/
- HAL device support files into device{1,2,3}/
- Common files into common/
- Camera service remains at top-level

Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9
amera/camera2/CaptureRequest.h
amera/camera2/ICameraDeviceCallbacks.h
amera/camera2/ICameraDeviceUser.h
amera/photography/CaptureRequest.h
amera/photography/ICameraDeviceCallbacks.h
amera/photography/ICameraDeviceUser.h
d054c32443a493513ab63529b0c8b1aca290278c 12-Jul-2013 Glenn Kasten <gkasten@google.com> Move control block mName to createTrack() output

This is part of a series of CLs to clean up the shared memory
control block, by removing any fields that don't have to be there.

Change-Id: I6e51003a1293b6800258c31b22cff2eba42162e7
edia/AudioTrack.h
edia/IAudioFlinger.h
rivate/media/AudioTrackShared.h
96f60d8f04432a1ed503b3e24d5736d28c63c9a2 12-Jul-2013 Glenn Kasten <gkasten@google.com> Rename control block flags to mFlags

Change-Id: I7b6d31e24531954ab1ecdf3ed56c19433700bd89
rivate/media/AudioTrackShared.h
f20e1d8df84c5fbeeace0052d100982ae39bb7a4 12-Jul-2013 Glenn Kasten <gkasten@google.com> Rename control block server to mServer and add comments

Change-Id: Ieabd91acee92d0e84e66fbd358df5282b856306e
rivate/media/AudioTrackShared.h
eced2daaa6c91a3731eef978ce65c6ec319c5e6a 17-Jul-2013 Glenn Kasten <gkasten@google.com> Use correct type for OutputDescriptor::format

Change-Id: Ide608ef452d57da29b708180d90470361c123d1d
edia/AudioSystem.h
7f249fa9bcb64da324d19f551943fac7686d221c 29-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Use standard name and type for channel mask"
3dcd00dddec86a1c5133083ad7ba2265d49c048c 17-Jul-2013 Glenn Kasten <gkasten@google.com> Declare methods in binder opcode order

Change-Id: I5f624b7a51ffe1a17a67c056cf984f74e4c56eac
edia/IAudioRecord.h
94ea60f975c3eb7ce6d2a4430538a42a5fc3babd 14-May-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> stagefright: offload playback support

Offloading of compressed audio decoding to audio DSP
is implemented for audio only, non streamed content.
when the datasource is

AudioPlayer:
- Create an offloaded sink when playing a compressed
source
- Send metadata to audio HAL
- Return sink start error to AwesomePlayer so that a
new player for PCM audio can be created in case of problem.
- Forward stream end and tear down callback events to AwesomePlayer
- Stop the sink and wait for stream end callback when EOS is reached.
- Pause and restart the sink if needed before flushing when seeking
(otherwise flush is a no op).
- For current media time, directly query the render position from the
sink and offset by the start position (seek to time)

AwesomePlayer:

- When initializing the audio decoder, check with audio policy manager
if offloading is supported. If yes, create the software decoder in
case a reconfiguration is needed but connect the audio track directly
to the AudioPlayer.
- In case of error when starting the AudioPlayer, reconnect the software
decoder (OMXSource) and recreate a PCM AudioPlayer.
- Handle AudioPlayer tear down event by detroying and recreating the
AudioPlayer to allow transitions between situations were offloading
is supported or not.
- Force tear down of offloaded AudioPlayer when paused for a certain time:
This will close the sink and allow the DSP to power down.

Utils:
- Added helper methods:
- send meta data to audio ia sink setParameters
- query audio policy manager if offloading is supported for a
given audio content

Change-Id: I115842ce424f947b966d45e253a74d3fd5df9aae
Signed-off-by: Eric Laurent <elaurent@google.com>
edia/stagefright/AudioPlayer.h
d89532e133b881c7e0dac089333ad7642fc510f1 14-May-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> libmediaplayerservice: offload playback support

Main change is to how recycled tracks are used for gapless
playback. If we are playing offloaded tracks that can't be
recycled we don't open a new offloaded output until we have
closed the previous one. This is because offloaded tracks
are a limited resource so we don't want to spuriously create
unnecessary instances. If the tracks cannot be recycled
this means that the formats are incompatible and so the
hardware most likely will also be unable to use the existing
output channel for the new track. If we already have the
maximum number of hardware offload channels open (which could
be only one) then creation of the next output would fail if
we attempted it while the previous output was still open.

Change-Id: I4f5958074e7ffd2e17108157fee86329506730ea
Signed-off-by: Eric Laurent <elaurent@google.com>
edia/MediaPlayerInterface.h
b1a270d1e926fb9a01b4265a7675ed0c2c8f4868 14-May-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> libmedia: offloaded playback support

- start() returns a status so that upper layers can
recreate a non offloaded track in case of error.

- Added states to handle offloaded tracks specific:
- waiting for stream end (drain) notification by
audio flinger
- allow pause while waiting for stream end notification

- getPosition() queries the render position directly from
audio HAL.

- disable APIs not applicable to offloaded tracks

- Modified track restoring behavior for invalidated
offloaded tracks: just send the callback and wait for
upper layers to create a new track.

- Added wait for stream end management in audio track client
proxy. Similar to obtainBuffer and should be factored in.

Change-Id: I0fc48117946364cb255afd653195498891f622bd
Signed-off-by: Eric Laurent <elaurent@google.com>
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
bfb1b832079bbb9426f72f3863199a54aefd02da 07-Jan-2013 Eric Laurent <elaurent@google.com> AudioFlinger: offload playback, non-blocking write

- Added specialized playback thread class for offload playback,
derived from directoutput thread.
This thread type handles specific state transitions for offloaded
tracks and offloading commands (pause/resume/drain/flush..) to audio HAL.
As opposed to other threads, does not go to standby if the track is paused.

- Added support for asynchronous write and drain operations at audio HAL.
Use a thread to handle async callback events from HAL: this avoids locking
playback thread mutex when executing the callback and cause deadlocks when
calling audio HAL functions with the playback thread mutex locked.

- Better accouting for track activity: call start/stop and release Output
methods in audio policy manager when tracks are actually added and removed
from the active tracks list.
Added a command thread in audio policy service to handle stop/release commands
asynchronously and avoid deadlocks with playback thread.

- Track terminated status is not a state anymore. This condition is othogonal
to state to permitted state transitions while terminated.

Change-Id: Id157f4b3277620568d8eace7535d9186602564de
rivate/media/AudioTrackShared.h
fad226abd12435dbcd232f7de396f1a097b2bd5f 17-Jul-2013 Glenn Kasten <gkasten@google.com> Use standard name and type for channel mask

Former name 'channels' was ambiguous with respect to channel count.

Change-Id: I716f792d95a7e0c787d27514ad6e93dbcef8a415
edia/AudioSystem.h
2ab500c632569e2f131a1a2288459933da70c4ee 23-Jul-2013 Zhijun He <zhijunhe@google.com> camera2: Implement ICameraDeviceUser::waitUntilIdle

Also fixed some logging typo

Change-Id: Ib254bdb137dca10b12595c23aeb1c53097423425
amera/photography/ICameraDeviceUser.h
4182c4e2a07e2441fcd5c22eaff0ddfe7f826f61 15-Jul-2013 Glenn Kasten <gkasten@google.com> Use AudioSystem::setLowRamDevice() to configure memory

Bug: 9798886
Change-Id: I9321e3f369f1ed9429ae222e3926ebdeb012b8b0
edia/AudioSystem.h
edia/IAudioFlinger.h
8060060217ff16cd67c8f6a15c649f44c343acf0 18-Jul-2013 Andreas Huber <andih@google.com> ANetworkSession and ParsedMessage are now part of stagefright foundation.

Also fixes some bugs in ParseMessage and adds "WebSocket" mode to
ANetworkSession, something that's opt-in and should not affect existing clients
of the API.

Change-Id: I86d5748e0d818231d85d3590d86c2b41d4f8b1f1
edia/stagefright/foundation/ANetworkSession.h
edia/stagefright/foundation/ParsedMessage.h
0b83a15d97f61d575a7cffbf42f9ed6edfa25ccc 18-Jul-2013 Andreas Huber <andih@google.com> Merge "Support "suspension" of a video encoder in "surface-input" mode."
e40cda70eec141fa05cbcca1de420fdb22b98be6 17-Jul-2013 Andreas Huber <andih@google.com> Support "suspension" of a video encoder in "surface-input" mode.

i.e. feed no more input frames to the encoder while suspended.

Change-Id: I51391e18c1517548e869f8ddece19f4af37e78f9
edia/IOMX.h
cff1b2359b8a302f19539c0bc5d25c98a52733fd 17-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "Add comments"
099b457f3203fa51387e21bd450495abb973ab31 13-Jul-2013 Igor Murashkin <iam@google.com> camera2: Implement ICameraDeviceUser::getCameraInfo

Bug: 9529161
Change-Id: I927e39c124cd5fb19e38423506f4463acc381cb0
amera/photography/ICameraDeviceUser.h
ce177bb31493d3cd4450f9d4760fa1fd32ec6bf4 11-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "AudioTrackShared cleanup"
fb1fdc9d6603aa228362e7349451f6455c9849c2 11-Jul-2013 Glenn Kasten <gkasten@google.com> Add comments

Change-Id: Ifbf3a46a4183c8abc0feee1c588953ab10303cc1
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/nbaio/NBLog.h
993994375abd60ec2c6bfd503c0e06ec3a23eeee 08-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "mv libcpustats from frameworks/native to frameworks/av"
7db7df0e8d9d7cee8ba374468cdbfa0108e3337c 26-Jun-2013 Glenn Kasten <gkasten@google.com> AudioTrackShared cleanup

Maintain unreleased frame count on client side also (was already there on server side).
Assertion failure instead of BAD_VALUE status for incorrect usage of APIs.
Clean up error handling code.

Change-Id: I23ca2f6f8a7c18645309ee5d64fbc844429bcba8
rivate/media/AudioTrackShared.h
1ab85ec401801ef9a9184650d0f5a1639b45eeb9 31-May-2013 Glenn Kasten <gkasten@google.com> Include what is needed

Remove old includes.
Header files only include other header files that they directly need themselves.

Change-Id: Ic471386808d9f42ea19ccbd59cb50a5f83a89dd0
edia/AudioSystem.h
edia/Visualizer.h
ad3af3305f024bcbbd55c894a4995e449498e1ba 25-Mar-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Public API changes for audio offload support.

NOTE: this does _not_ include all private member variables added
to classes as part of offload support. Only public/protected functions
and stubs functions/variables needed to make the changes buildable.

- isOffloadSupported() added to audio policy service
A stub implementation is required to build, this always returns false
- setParameters() added to IAudioTrack
A stub implementation is required to build, this always returns
INVALID_OPERATION

- CBlk flag for stream end

- Change AudioSystem::getRenderPosition() to take an audio_output_t
so caller can specify which output to query

- Add AudioSystem::isOffloadSupported()
This is fully implemented down to the AudioFlinger function
AudioPolicyServer::isOffloadSupported() which is just a stub
that always returns false.

- Add EVENT_STREAM_END to AudioTrack interface.
STREAM_END is used to signal when the hardware has actually finished
playing all the data it was sent.

- Add event type enumeration to media player interface AudioSink callbacks
so that the same callback can be used to handle multiple types of
event. For offloaded tracks we also have to handle STREAM_END and
TEAR_DOWN events

- Pass audio_offload_info_t to various functions used for opening outputs,
tracks and audio players. This passes additional information about the
compressed stream down to the HAL when using offload.
For publicly-available APIs this is an optional parameter (for some of
the internal and low-level APIs around the HAL interface it is mandatory)

- Add getParameters() and setParameters() API to AudioTrack
Currently dummy implementations.

- Change AudioPlayer contructor so that it takes a set of bitflags defining what
options are required. This replaces the original bool which only specified
whether to use deep buffering.

- Changes to StageFright class definition related to handling tearing-down of
an offloaded track when we need to switch back to software decode

- Define new StageFright utility functions used for offloaded tracks
Currently dummy implementations.

- AudioFlinger changes to use extended audio_config_t.
Fills in audio_offload_info_t member if this info is passed in when
opening an output.

- libvideoeditor changes required to add the new event type parameter
to AudioSink callback functions

- libmediaplayerservice changes required to add the new event type parameter
to AudioSink callback functions

Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
edia/IAudioTrack.h
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
edia/stagefright/Utils.h
rivate/media/AudioTrackShared.h
3b6d6b1b95b9aefc4b2c78808ad7c873f1e8f0f5 26-Jun-2013 Lajos Molnar <lajos@google.com> Merge "Adds VP9 decoding support for stagefright."
269e91be6fc7434cbc60b69df4bf348238ea15fc 25-Jun-2013 Glenn Kasten <gkasten@google.com> Merge "Use mFutex as an event flag rather than semaphore"
d44ffc822be382791327c45aec2e812fe66981ce 25-Jun-2013 Igor Murashkin <iam@google.com> Merge changes I5b2eeab2,I71568560

* changes:
Make android.hardware.photography.Camera work on HAL3+ devices
Initial implementation of android.hardware.photography.CameraDevice (service)
0d09a9bec07b3bec78bd473ff0bfcf0a261f3f25 24-Jun-2013 Glenn Kasten <gkasten@google.com> Use mFutex as an event flag rather than semaphore

An event flag can be more fault-tolerant in case of loss of synchronization,
as it cannot overflow. It also allows more bits to be used in the future.
See http://en.wikipedia.org/wiki/Event_flag

Change-Id: I01ca25d951eb263124da54bb4738f0d94ec4a48b
rivate/media/AudioTrackShared.h
94705aff3c9eef58cbb72ec6fe5d2dcfd9481646 24-Jun-2013 hkuang <hkuang@google.com> Adds VP9 decoding support for stagefright.

Also change the VP8 encoder role name from
video_encoder.vpx to video_encoder.vp8 for
future VP9 encoder support.


Requires the change in frameworks/native and media_codecs.xml
corresponding to the device.


VP9 decoding test will be added to cts repo later.
edia/stagefright/MediaDefs.h
054e7347cc60ad4b9dd2e8f456406f122f9f5879 03-May-2013 Lajos Molnar <lajos@google.com> stagefright: support for video decoder metadata mode

Change-Id: Id360f29236798163f9f3a82135f601083a8a5058
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 7093648
edia/stagefright/ACodec.h
e7ee7637747371635a85fedd24d2190bb1f38651 12-Jun-2013 Igor Murashkin <iam@google.com> Initial implementation of android.hardware.photography.CameraDevice (service)

* Verified preview streaming requests
* Other things *should* work but unverified / unimplemented in client side

Missing:
* CameraService needs to return static camera info metadata

Bug: 9213377
Change-Id: I71568560fcf18d0e2b408ed1c4d0066647314868
amera/CameraMetadata.h
amera/ICameraService.h
amera/photography/CaptureRequest.h
amera/photography/ICameraDeviceCallbacks.h
amera/photography/ICameraDeviceUser.h
921832327619f7852b16f73a19504702c5a28a31 18-Jun-2013 Glenn Kasten <gkasten@google.com> mv libcpustats from frameworks/native to frameworks/av

OK to lose history

Change-Id: Ieca78edc5dfe479dd7ea48fe7e0f3c164356cee3
pustats/CentralTendencyStatistics.h
pustats/README.txt
pustats/ThreadCpuUsage.h
e2ffd5b583da9d30d96710b0e8879e90b2b51d30 13-Jun-2013 Glenn Kasten <gkasten@google.com> AudioRecord must be used as sp<> only

Bug: 9423855
Change-Id: I78ba8228c60dff11fb466156bb632c5dda45cdaf
edia/AudioRecord.h
edia/stagefright/AudioSource.h
9f80dd223d83d9bb9077fb6baee056cee4eaf7e5 19-Dec-2012 Glenn Kasten <gkasten@google.com> New control block for AudioTrack and AudioRecord

Main differences between old and new control block:
- removes the mutex, which was a potential source of priority inversion
- circular indices into shared buffer, which is now always a power-of-2 size

Change-Id: I4e9b7fa99858b488ac98a441fa70e31dbba1b865
edia/AudioBufferProvider.h
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
63e9f73c2db01fec30246adbcfea2880671e2108 12-Jun-2013 Lajos Molnar <lajos@google.com> am f8af99b7: am 0662f7b6: Merge "stagefright: synchronously change nativewindow crop" into jb-mr2-dev

* commit 'f8af99b7c10f1441d9a52676724b168f20752270':
stagefright: synchronously change nativewindow crop
577db6d42b8d83b3578c7e56b1391bdaca9cb705 12-Jun-2013 Lajos Molnar <lajos@google.com> stagefright: synchronously change nativewindow crop

Only change the nativewindow crop before queuing frames
with the new crop.

Change-Id: Icd8a84c82e66a8be3d6bc1675c777b1de8dc39b9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9395753
edia/stagefright/ACodec.h
31295e781598929a75d5774814a25f5f22b78236 11-Jun-2013 Igor Murashkin <iam@google.com> Merge "camera: Make some binder interfaces compatible with AIDL"
bef3f23f16f2fc575b3f425febcfcc436a7db70f 31-May-2013 Igor Murashkin <iam@google.com> camera: Make some binder interfaces compatible with AIDL

Done:
* ICameraService
* ICameraServiceListener

Partial:
* ICamera (disconnect only)
* IProCameraUser (disconnect only)

Bug: 9213377
Change-Id: I8e2e6e05cfd02ec36be1d5b2c551f10ffb43b5b4
amera/ICamera.h
amera/ICameraClient.h
amera/ICameraService.h
amera/ICameraServiceListener.h
amera/IProCameraCallbacks.h
amera/IProCameraUser.h
2799d743ee2ae5a25fe869a7f9c052acc029559f 30-May-2013 Glenn Kasten <gkasten@google.com> Use sp<AudioTrack> instead of raw AudioTrack *

This change prepares for the new implementation of AudioTrack client, which
will require clients to use only sp<AudioTrack>, not raw AudioTrack *.
A raw delete will cause a race condition during AudioTrack destruction.

AudioTrack was made a RefBase by commit b68a91a70bc8d0d18e7404e14443d4e4020b3635
on 2011/11/15, when it was needed by OpenSL ES (for the callback protector).
At that time, the only other client that was also converted from
AudioTrack * to sp<AudioTrack> was android.media.AudioTrack JNI in
project frameworks/base (file android_media_AudioTrack.cpp).

Details:
* Use .clear() instead of delete followed by = NULL.
* ALOG %p need .get().
* sp<> don't need to be listed in constructor initializer, if initially 0.
* Use == 0 for sp<> vs == NULL for raw pointers.
* Use if (sp != 0) instead of if (raw).

Change-Id: Ic7cad25795d6e862e112abdc227b6d33afdfce17
edia/AudioTrack.h
edia/JetPlayer.h
edia/SoundPool.h
edia/ToneGenerator.h
edia/stagefright/AudioPlayer.h
7c684c622110af460025eff85082030947278430 03-Jun-2013 Andreas Huber <andih@google.com> am f9bb8358: am b7319a7e: Update HTTP proxy configuration for all media playback inside stagefright.

* commit 'f9bb8358e454be6dc88403171db7e0e182407f17':
Update HTTP proxy configuration for all media playback inside stagefright.
b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1 29-May-2013 Andreas Huber <andih@google.com> Update HTTP proxy configuration for all media playback inside stagefright.

Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b
related-to-bug: 8873723
(cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
c3a73bb6446df8c1387a2b3ff9357190f515eccb 30-May-2013 Lajos Molnar <lajos@google.com> am 1cd68527: am 41688da2: Merge "MediaMuxer: Remove SAMPLE_FLAG_SYNC flag" into jb-mr2-dev

* commit '1cd68527a6c4cc92608dfe8a8c6ba51e5e2c4fc2':
MediaMuxer: Remove SAMPLE_FLAG_SYNC flag
6f505a4c0b91d88d2759fbd7e17d91f3ed715165 28-May-2013 Lajos Molnar <lajos@google.com> MediaMuxer: Remove SAMPLE_FLAG_SYNC flag

MediaMuxer.writeSampleData() uses MediaCodec.BufferInfo
objects to specify the flags, so use directly the MediaCodec
flags. This is more intuitive and avoids users of the
MediaMuxer API having to create translations between
MediaMuxer's and MediaCodec's flag constants.

Change-Id: I18e12a6839ffb2c63da62516a4dc4c94e8bb3d17
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9169479
edia/stagefright/MediaMuxer.h
d030447b617105b31bf3013e5e4b39d422b53b77 15-May-2013 Lajos Molnar <lajos@google.com> stagefright: BufferProducer updates

Update BufferQueue and ConsumerBase users to new BufferQueue
API, to allow BufferQueue slots to be reused. Buffer consumers
generally now need to track the unique frameNumber belonging to
each frame acquired if they are using BufferQueue directly.
Otherwise, they can simply track the graphicBuffer.

Change-Id: I30ee3158cf40fb10bbd085241646d5f1128ee480
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
edia/stagefright/SurfaceMediaSource.h
308bcaa44e578279e61be32b572fdb0b11b1e4c7 04-May-2013 Chong Zhang <chz@google.com> wifi-display: add support for metadata mode on encoder output

pass buffer_handle_t from encoder output to HDCP encryptor input

Bug: 8968123

Change-Id: Iea8007ce568641e213fd2e3cf6947a6f7a95746c
edia/IHDCP.h
edia/stagefright/ACodec.h
61aa989a5768b9b0571ca14edaf15886509a0ec8 03-May-2013 Eric Laurent <elaurent@google.com> am 1641f328: am 4170f515: Merge "Remove timing jitter during startup of audio" into jb-mr2-dev

* commit '1641f328d4de3b2b61481607dc482ccaefe808a9':
Remove timing jitter during startup of audio
a6560120f96685d7929d535319198485d1d5ccdf 03-May-2013 Eric Laurent <elaurent@google.com> Merge "Remove timing jitter during startup of audio" into jb-mr2-dev
4170f515cd6148b952a07fcbe23364f5c76a2d9c 03-May-2013 Eric Laurent <elaurent@google.com> Merge "Remove timing jitter during startup of audio" into jb-mr2-dev
1f9374bad4f59d619ef30f227705a926dabf41d5 01-May-2013 Andreas Huber <andih@google.com> am 9db1b382: am deff6910: Merge "Support MediaCodec::getOutputFormat for encoders" into jb-mr2-dev

* commit '9db1b382c279f992dcd33a56226b1f5d2a24afca':
Support MediaCodec::getOutputFormat for encoders
cd4ac42ed448f1cb286ca4c3c7ea64621adf9d42 01-May-2013 Andreas Huber <andih@google.com> Support MediaCodec::getOutputFormat for encoders

codec specific data is provided as part of the MediaFormat if available.

Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e
related-to-bug: 8616651
edia/stagefright/MediaCodec.h
e96ee699aca0f711d41e6c0833e5de2341c4a36d 01-May-2013 Andreas Huber <andih@google.com> Support MediaCodec::getOutputFormat for encoders

codec specific data is provided as part of the MediaFormat if available.

Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e
related-to-bug: 8616651
edia/stagefright/MediaCodec.h
f8197a6a9d9363cb52bb8a2c15c0e5a52064355e 23-Apr-2013 Glenn Kasten <gkasten@google.com> Remove timing jitter during startup of audio

This fixes a regression introduced recently, that increased timing jitter
during the startup of the FastMixer and AudioTrack callback threads.

The regression was to make requestPriority() asynchronous as a way to
avoid an apparent priority inversion in system_server. This means that
the target thread could run briefly with the initial priority, before
the new priority takes effect.

This change removes the startup jitter for FastMixer, by making the
requestPriority() synchronous again for that case. It doesn't matter
that this restores the priority inversion involving normal mixer thread,
because it happens during startup of both threads.

The change also removes the startup jitter for the AudioTrack callback
thread, by having the target thread check whether the requestPriority()
has completed yet. If not, the target thread blocks with a timeout
until the priority boost finishes.

Finally, we now log an error message if the expected priority boost
doesn't happen.

Bug: 8698989
Change-Id: Id590e9a274b70ec1ba85b44a585ee37a22e41cbc
edia/AudioTrack.h
a07f17ca46db04c9d5d9e7d6b2878db59ca2b9ea 23-Apr-2013 Glenn Kasten <gkasten@google.com> Remove timing jitter during startup of audio

This fixes a regression introduced recently, that increased timing jitter
during the startup of the FastMixer and AudioTrack callback threads.

The regression was to make requestPriority() asynchronous as a way to
avoid an apparent priority inversion in system_server. This means that
the target thread could run briefly with the initial priority, before
the new priority takes effect.

This change removes the startup jitter for FastMixer, by making the
requestPriority() synchronous again for that case. It doesn't matter
that this restores the priority inversion involving normal mixer thread,
because it happens during startup of both threads.

The change also removes the startup jitter for the AudioTrack callback
thread, by having the target thread check whether the requestPriority()
has completed yet. If not, the target thread blocks with a timeout
until the priority boost finishes.

Finally, we now log an error message if the expected priority boost
doesn't happen.

Bug: 8698989
Change-Id: Id590e9a274b70ec1ba85b44a585ee37a22e41cbc
edia/AudioTrack.h
2431f75b3e1c820215ad6d86e2383a40eb09012f 22-Apr-2013 Andreas Huber <andih@google.com> am a93686a4: am 4613b7e3: Merge "3rd time\'s the charm, right? Fix another instance where MediaCodec would" into jb-mr2-dev

* commit 'a93686a4ace1e38eb6fa5da8fc97e97a19f4ac5c':
3rd time's the charm, right? Fix another instance where MediaCodec would
fa189d0d74d8da0ab19c8d9c6cd16fa80d406e9c 22-Apr-2013 Andreas Huber <andih@google.com> am 45f1f86e: am f0fba380: Merge "A flush of a video decoder connected to a native window must reclaim" into jb-mr2-dev

* commit '45f1f86eb97356b73811fc4d70af437c55a86dd7':
A flush of a video decoder connected to a native window must reclaim
6e96f5927bd2234606ad3fcef1c1dc3029e66347 22-Apr-2013 Andreas Huber <andih@google.com> Merge "3rd time's the charm, right? Fix another instance where MediaCodec would" into jb-mr2-dev
4613b7e38b1830535cbf00e962afdfa5fe1308ba 22-Apr-2013 Andreas Huber <andih@google.com> Merge "3rd time's the charm, right? Fix another instance where MediaCodec would" into jb-mr2-dev
6b5d15099579c179d8e7531bb5abfb272614513a 19-Apr-2013 Andreas Huber <andih@google.com> 3rd time's the charm, right? Fix another instance where MediaCodec would

not return from a stop() or release() call if mediaserver dies at just the right
moment.

Change-Id: I7728f8df82d62602d4d272f8023aa88678dd7d95
related-to-bug: 8397711
edia/stagefright/MediaCodec.h
aa7f97bb9c70176245ffb7ed0ce52bee6c1a57d7 19-Apr-2013 Andreas Huber <andih@google.com> 3rd time's the charm, right? Fix another instance where MediaCodec would

not return from a stop() or release() call if mediaserver dies at just the right
moment.

Change-Id: I7728f8df82d62602d4d272f8023aa88678dd7d95
related-to-bug: 8397711
edia/stagefright/MediaCodec.h
7e7013392e302a28364df1dcee79b82ad90978b4 19-Apr-2013 Andreas Huber <andih@google.com> A flush of a video decoder connected to a native window must reclaim

output buffers already queued for rendering before considering a flush
completed. Otherwise the decoder may not have enough output buffers to
continue decoding after the discontinuity and we'll never dequeue more
from the native window.

Change-Id: I42e275dc336568e180081c6d7c0dc05fc9637c79
related-to-bug: 8578467
edia/stagefright/ACodec.h
0ae2001f40587556e2f5ed56f791292fb5e9a329 19-Apr-2013 Andreas Huber <andih@google.com> A flush of a video decoder connected to a native window must reclaim

output buffers already queued for rendering before considering a flush
completed. Otherwise the decoder may not have enough output buffers to
continue decoding after the discontinuity and we'll never dequeue more
from the native window.

Change-Id: I42e275dc336568e180081c6d7c0dc05fc9637c79
related-to-bug: 8578467
edia/stagefright/ACodec.h
5051b5303155d65c92da9d81135fe7832742ae59 19-Apr-2013 Eino-Ville Talvala <etalvala@google.com> Merge "Camera: Add preview callback surface support"
96c9b6e02b440428397591e2a36eb6af7e0fdab9 18-Apr-2013 Jeff Tinker <jtinker@google.com> am 4d9df49a: am 64595e67: Merge "Add new error codes for DRM to improve error reporting" into jb-mr2-dev

* commit '4d9df49a128dba70b68890c81bf172c11fd40233':
Add new error codes for DRM to improve error reporting
45ae3d644289f656cebf7aded0783efca0342dd3 18-Apr-2013 Jeff Tinker <jtinker@google.com> Add new error codes for DRM to improve error reporting

bug: 8621516
Change-Id: I9a06c9ea5bfde924906d3876a417b9451b6abde8
edia/stagefright/MediaErrors.h
b87d5cd72cc2ce6a85899b7a06d881fad4c39d77 18-Apr-2013 Jeff Tinker <jtinker@google.com> Add new error codes for DRM to improve error reporting

bug: 8621516
Change-Id: I9a06c9ea5bfde924906d3876a417b9451b6abde8
edia/stagefright/MediaErrors.h
3ee3550a2f529cbf56d87d8503f59a8f45dccf32 03-Apr-2013 Eino-Ville Talvala <etalvala@google.com> Camera: Add preview callback surface support

- Add call to set a preview callback surface
- Implement support for HAL2/3 devices
- Still need HAL1 implementation

Change-Id: I0dc0bd72e43d871aa487858d1665c1efca633ffe
amera/Camera.h
amera/ICamera.h
ea29f0da58add214f79ed148ad0321cef0777e54 15-Apr-2013 ztenghui <ztenghui@google.com> am a768b4f8: am 8f1efee1: Merge "MediaMuxer prefer not to use the MPEG4Writer in real time recording mode." into jb-mr2-dev

* commit 'a768b4f838f93823f661422d8193ebbff64b1b5a':
MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.
8f1efee1c17e997af5ea3c46c62b3ae106b18264 15-Apr-2013 ztenghui <ztenghui@google.com> Merge "MediaMuxer prefer not to use the MPEG4Writer in real time recording mode." into jb-mr2-dev
cb7032acc963e447adbffcf95ee297643d64e0d7 15-Apr-2013 ztenghui <ztenghui@google.com> Merge "MediaMuxer prefer not to use the MPEG4Writer in real time recording mode." into jb-mr2-dev
de05c8eab188e98798f2b9c3dfac53dbc18ef584 12-Apr-2013 ztenghui <ztenghui@google.com> MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.

By default, MPEG4Write will keep running in real time recording mode.

bug:8598944

Change-Id: Idf7fbd4e0feb7763660a74279ba8817b79098aaf
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
e756d9753c7cffe2e9731a31fa98a3e8f37151c9 12-Apr-2013 ztenghui <ztenghui@google.com> MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.

By default, MPEG4Write will keep running in real time recording mode.

bug:8598944

Change-Id: Idf7fbd4e0feb7763660a74279ba8817b79098aaf
edia/stagefright/MPEG4Writer.h
edia/stagefright/MetaData.h
3f0651d12b5c4b01ab0347412ae0e2e5fe2aadaa 12-Apr-2013 Andreas Huber <andih@google.com> am 4b40f7ef: am 5157b1e8: Merge "ACodec now signals an error if the mediaserver died while it is in" into jb-mr2-dev

* commit '4b40f7ef5a9d29006dcb3351086fc13f1a8e0fa2':
ACodec now signals an error if the mediaserver died while it is in
ac0230da14a3d223c2144b165a3a163e8519d239 12-Apr-2013 Andreas Huber <andih@google.com> ACodec now signals an error if the mediaserver died while it is in

anything other than "uninitialized" state.

Change-Id: Id133d897ac65b455b34e5de17ff9c39b47285630
related-to-bug: 8397711
edia/stagefright/ACodec.h
6610a7d621c634fe059b855ca7eb3f58fb8d0757 12-Apr-2013 Andreas Huber <andih@google.com> ACodec now signals an error if the mediaserver died while it is in

anything other than "uninitialized" state.

Change-Id: Id133d897ac65b455b34e5de17ff9c39b47285630
related-to-bug: 8397711
edia/stagefright/ACodec.h
a4d0cd1b817a3c55858af5f754f7daa302de087e 09-Apr-2013 Marco Nelissen <marcone@google.com> am b021358d: am ec771223: Add support for common encryption

* commit 'b021358ddba63e81d6b59f2370e891c71f14f630':
Add support for common encryption
ec77122351b4e78c1fe5b60a208f76baf8c67591 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
edia/stagefright/DataSource.h
edia/stagefright/MetaData.h
edia/stagefright/NuMediaExtractor.h
5544c66ba0aa789a997b376df503a5ffae425dc7 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
edia/stagefright/DataSource.h
edia/stagefright/MetaData.h
edia/stagefright/NuMediaExtractor.h
d76fcd616b9d049cb658cb7502a2325db8d20344 05-Apr-2013 Jeff Tinker <jtinker@google.com> am c2ccb7d9: am d5ef30b2: Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev

* commit 'c2ccb7d9948c01551dbb5ceb0f3d06004b86ce7c':
Implement async event callout from drm plugin to Java app
d5ef30b223b627c21b11f2850eeb48426c74220d 05-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev
505208dd38ab2f143e6a3ff6a2c262d0fab76b7e 05-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev
c0d5f1f8405de861ed6f1725f26cd6601e7103ab 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b
edia/IDrm.h
edia/IDrmClient.h
0cb126a34fe32f81c830858102471e7be2ce85b1 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b
edia/IDrm.h
edia/IDrmClient.h
5309f59db078739e3eeb6992f0f11fe0818266cb 03-Apr-2013 Jeff Tinker <jtinker@google.com> am 1ef63d1a: am a56e1506: Merge "MediaDrm API update" into jb-mr2-dev

* commit '1ef63d1a6a03d713954acbdb4e4641f53ade1d66':
MediaDrm API update
a56e15065bc45082d913c8c8e71e60692ce8c8f0 03-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "MediaDrm API update" into jb-mr2-dev
df41f485a9162407b32b7db1cea483f64bbd0c65 03-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "MediaDrm API update" into jb-mr2-dev
4c63a239c404af1e055e5f9939939ab0fd09d98a 31-Mar-2013 Jeff Tinker <jtinker@google.com> MediaDrm API update

Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc
edia/IDrm.h
8856c8b8777d0e0de11b2de863a336b001024e29 31-Mar-2013 Jeff Tinker <jtinker@google.com> MediaDrm API update

Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc
edia/IDrm.h
509f4567b6e4413594c20d01b50bb2bd43ca86a8 28-Mar-2013 Eino-Ville Talvala <etalvala@google.com> am 790b6755: am 3a1d8b51: Merge "Camera: Add input side to camera3 HAL device" into jb-mr2-dev

* commit '790b675533efda5b39408fc5fc3af2b8a5c1607b':
Camera: Add input side to camera3 HAL device
3a1d8b515fcfcf27b4b04bd677429a7ce2db6bcb 28-Mar-2013 Eino-Ville Talvala <etalvala@google.com> Merge "Camera: Add input side to camera3 HAL device" into jb-mr2-dev
fa34724a1ffc87c059f8812e9cb3c8fb0ff55752 28-Mar-2013 Eino-Ville Talvala <etalvala@google.com> Merge "Camera: Add input side to camera3 HAL device" into jb-mr2-dev
08b7c1ed00b04465e66fd6c14877d4b2784c4e30 28-Mar-2013 Eric Laurent <elaurent@google.com> am 2a2f0ece: am 681be039: ToneGenerator: fix truncated tones

* commit '2a2f0ecec93bac15eb58dcf643b11867baf51804':
ToneGenerator: fix truncated tones
681be0398a06da7e24db4ed934a92af64d1409b1 27-Mar-2013 Eric Laurent <elaurent@google.com> ToneGenerator: fix truncated tones

The first DTMF tone after a silent period is truncated.
This is because the phone app starts and stops the tone
when the user presses and releases the key.
This combined to the fact that the tones use the low latency path
and that when the output stream exists standby there is a period
of several milliseconds during which no audio is mixed until the
stream is "warmed up".
The result is that much less audio is generated than the actual
key press duration.

The fix consists in storing the tone start time and making sure that
the number of samples generated corresponds at least to the time difference
between the tone start and stop commands.

Bug 6607077

Change-Id: I070d20dd8600c25a9e5d5a60c1d3313b7917b00d
edia/ToneGenerator.h
857583fd2ecbeb8696ede1f93b7291449fb2d133 27-Mar-2013 Eric Laurent <elaurent@google.com> ToneGenerator: fix truncated tones

The first DTMF tone after a silent period is truncated.
This is because the phone app starts and stops the tone
when the user presses and releases the key.
This combined to the fact that the tones use the low latency path
and that when the output stream exists standby there is a period
of several milliseconds during which no audio is mixed until the
stream is "warmed up".
The result is that much less audio is generated than the actual
key press duration.

The fix consists in storing the tone start time and making sure that
the number of samples generated corresponds at least to the time difference
between the tone start and stop commands.

Bug 6607077

Change-Id: I070d20dd8600c25a9e5d5a60c1d3313b7917b00d
edia/ToneGenerator.h
3b53bc9b41c262d22f094406e3751bc5a41ef2ef 28-Feb-2013 Eino-Ville Talvala <etalvala@google.com> Camera: Add input side to camera3 HAL device

- Stream creation/deletion
- Request submission
- Request thread loop
- Add get() to CameraMetadata to allow HAL submission while retaining
ownership.

Change-Id: I271f72bcbe9557eded43cbcbfe789109857f8144
amera/CameraMetadata.h
f76e027c43f531fc6f9287838b5c332236a4338a 28-Feb-2013 Eino-Ville Talvala <etalvala@google.com> Camera: Add input side to camera3 HAL device

- Stream creation/deletion
- Request submission
- Request thread loop
- Add get() to CameraMetadata to allow HAL submission while retaining
ownership.

Change-Id: I271f72bcbe9557eded43cbcbfe789109857f8144
amera/CameraMetadata.h
2260fc0e23bad7dd073187ce64606a0b2d63f3e4 27-Mar-2013 Igor Murashkin <iam@google.com> am 2ec46421: am ad065d38: Merge "Camera: Add hotplug support (for fixed # of cameras)" into jb-mr2-dev

* commit '2ec46421e5c56f14c46ab9ba1e9647125a54e79d':
Camera: Add hotplug support (for fixed # of cameras)
ad065d38daace14281801127bd447114b7b4daa5 27-Mar-2013 Igor Murashkin <iam@google.com> Merge "Camera: Add hotplug support (for fixed # of cameras)" into jb-mr2-dev
8d012b56cbd49f33841c13aaa5b7b42020de82ed 27-Mar-2013 Igor Murashkin <iam@google.com> Merge "Camera: Add hotplug support (for fixed # of cameras)" into jb-mr2-dev
cba2c163555cd329f49d40658ea3ee902e94dda3 20-Mar-2013 Igor Murashkin <iam@google.com> Camera: Add hotplug support (for fixed # of cameras)

* Minor: also change addListener to fire the current status upon subscription
* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated

Change-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e
amera/ICameraServiceListener.h
a36381479c5c546a01188390f1e0d2e280a3dbd8 20-Mar-2013 Igor Murashkin <iam@google.com> Camera: Add hotplug support (for fixed # of cameras)

* Minor: also change addListener to fire the current status upon subscription
* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated

Change-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e
amera/ICameraServiceListener.h
c2140bb6c7e91e77bb6cdae4b1e4db83e1d786fa 26-Mar-2013 Andreas Huber <andih@google.com> am 1e7d497c: am cd77d4a1: Identify network servers and clients with a OS version related string

* commit '1e7d497c91e429b70fff592e6ae78aa81a4cea16':
Identify network servers and clients with a OS version related string
cd77d4a1d38b7609a03f6826a1ff5fa7c98aa34f 26-Mar-2013 Andreas Huber <andih@google.com> Identify network servers and clients with a OS version related string

and put the logic to create that string in one location instead of many...

Change-Id: I1f729f2e7376cd3b45eea0e48f7bd10084b41b39
edia/stagefright/Utils.h
190cdbab6ba24519d6b5e8bec6c2c74e6650e284 26-Mar-2013 Andreas Huber <andih@google.com> Identify network servers and clients with a OS version related string

and put the logic to create that string in one location instead of many...

Change-Id: I1f729f2e7376cd3b45eea0e48f7bd10084b41b39
edia/stagefright/Utils.h
793cc53aaa6b46ccd5ad7c6acfe2e62b268c84d3 25-Mar-2013 Jeff Tinker <jtinker@google.com> am d247aa8c: am 351f28e2: Merge "Load crypto plugins from additional shared libraries" into jb-mr2-dev

* commit 'd247aa8cec243a0a49a44057749820149e826d1a':
Load crypto plugins from additional shared libraries
351f28e2e71bef7fab42ec36150b7973fd4ef139 25-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Load crypto plugins from additional shared libraries" into jb-mr2-dev
900fecc9d66bda71f428a4d3cebc1fee14916301 25-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Load crypto plugins from additional shared libraries" into jb-mr2-dev
bafb682ec7f51486e751fea954169deb91846063 22-Mar-2013 Jeff Tinker <jtinker@google.com> Load crypto plugins from additional shared libraries

Currently crypto plugins are expected to be in libdrmdecrypt.so.
When there are multiple plugins supporting different schemes,
this approach requires source code integration across
vendors which is unmanagable. Also, for integration with
MediaDrm where the crypto keys are obtained from a drm server,
the MediaCrypto plugin needs to interoperate with the MediaDrm
plugin. This change allows {MediaCrypto, MediaDrm} pairs that
are logically related to be implemented in a common shared
library.

Change-Id: I7f6638f29171f91609fc2d944396365568630b56
edia/ICrypto.h
5beac28a34e557251bd4bbd77a6d9303a69d4319 22-Mar-2013 Jeff Tinker <jtinker@google.com> Load crypto plugins from additional shared libraries

Currently crypto plugins are expected to be in libdrmdecrypt.so.
When there are multiple plugins supporting different schemes,
this approach requires source code integration across
vendors which is unmanagable. Also, for integration with
MediaDrm where the crypto keys are obtained from a drm server,
the MediaCrypto plugin needs to interoperate with the MediaDrm
plugin. This change allows {MediaCrypto, MediaDrm} pairs that
are logically related to be implemented in a common shared
library.

Change-Id: I7f6638f29171f91609fc2d944396365568630b56
edia/ICrypto.h
57f931dbc76b8538cf8bb4a6ecf696334074092f 22-Mar-2013 Igor Murashkin <iam@google.com> am 489f73c6: am a97d15e2: Merge "ICameraServiceListener.h: Add STATUS_ENUMERATING enum" into jb-mr2-dev

* commit '489f73c6183a230d8e0e5e0d37dcf5604f2f59dc':
ICameraServiceListener.h: Add STATUS_ENUMERATING enum
a97d15e2e2f0b317a345d3a6f02df80b8988b1f6 22-Mar-2013 Igor Murashkin <iam@google.com> Merge "ICameraServiceListener.h: Add STATUS_ENUMERATING enum" into jb-mr2-dev
2247dd0dc60096d1b5a91ccadb5539f0b100c88f 22-Mar-2013 Igor Murashkin <iam@google.com> Merge "ICameraServiceListener.h: Add STATUS_ENUMERATING enum" into jb-mr2-dev
b652df67cbdc2a92825144b23ea47eba4c276edd 18-Mar-2013 Igor Murashkin <iam@google.com> ICameraServiceListener.h: Add STATUS_ENUMERATING enum

Change-Id: I41a9f358f63a19e7b746a9ccf24722001e5e7475
amera/ICameraServiceListener.h
b1a142ce32feb4668c504c0860a7350d000fe7fa 18-Mar-2013 Igor Murashkin <iam@google.com> ICameraServiceListener.h: Add STATUS_ENUMERATING enum

Change-Id: I41a9f358f63a19e7b746a9ccf24722001e5e7475
amera/ICameraServiceListener.h
a459c33e0b5ef65014be5716b6a5e5d89e8c8624 20-Mar-2013 ztenghui <ztenghui@google.com> am 6bc010e3: am 9e36b5a5: Merge "Add the presentation rotation support" into jb-mr2-dev

* commit '6bc010e3062b50d5cf9605dd5ffaa0904772312e':
Add the presentation rotation support
9e36b5a5c630c303b5007fdeb5c0df83b953adf4 20-Mar-2013 ztenghui <ztenghui@google.com> Merge "Add the presentation rotation support" into jb-mr2-dev
3a29ea87c8fdcd45987bcc9cd2b68961ac971d27 20-Mar-2013 ztenghui <ztenghui@google.com> Merge "Add the presentation rotation support" into jb-mr2-dev
a2bacf9dcb22243ffaa96a50a008694344fc5da0 20-Mar-2013 Jeff Tinker <jtinker@google.com> am 81c859d6: am de5cdcae: Merge "Implementing MediaDrm APIs" into jb-mr2-dev

* commit '81c859d64ae58c565b66afee6b6232b7bb4fd38b':
Implementing MediaDrm APIs
de5cdcae51d3afd9b14e818087be14288c0c6b8c 20-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Implementing MediaDrm APIs" into jb-mr2-dev
aab193b107e302e145b5c3d6e6c87f92ac296186 20-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Implementing MediaDrm APIs" into jb-mr2-dev
e0fb528f8e3bbab04620c8534177168b358e837b 12-Mar-2013 ztenghui <ztenghui@google.com> Add the presentation rotation support

bug:7991013

Change-Id: I10cb034b432876c724baa4974efcb3d67b8a99b6
edia/stagefright/MediaMuxer.h
11287471298193ff51ffb429686f5d63a84a621b 12-Mar-2013 ztenghui <ztenghui@google.com> Add the presentation rotation support

bug:7991013

Change-Id: I10cb034b432876c724baa4974efcb3d67b8a99b6
edia/stagefright/MediaMuxer.h
ef95d40e77a5ac44b4b5afa9f933185a890bca99 14-Mar-2013 Tenghui Zhu <ztenghui@google.com> am 858a2c70: am 7d02488e: Merge "Make limitations of MPEG4Writer explicit" into jb-mr2-dev

* commit '858a2c702ca372c0a1e569501aa0cd9876ac3a4e':
Make limitations of MPEG4Writer explicit
7d02488e0af9f21f5f15abcbd8dd8746606a124c 14-Mar-2013 Tenghui Zhu <ztenghui@google.com> Merge "Make limitations of MPEG4Writer explicit" into jb-mr2-dev
b7be24f055426f00fd1ae1af07d5dd40dbcedfe7 14-Mar-2013 Tenghui Zhu <ztenghui@google.com> Merge "Make limitations of MPEG4Writer explicit" into jb-mr2-dev
acc47642e0f5d962f6289e6ba687fabf68f8312b 12-Mar-2013 James Dong <jdong@google.com> Make limitations of MPEG4Writer explicit

o No more than 2 tracks will be supported
o No more than one video and/or one audio tracks will be supported
o Only take video and/or audio track (for instance, no text tracks)
o If there is no track before start() is called, bail out.

At the same time, make sure the errors from addSource() report to
addTrack(), not to start().

Bug: 7991013

Change-Id: I1ca35aaeb75b5448d75ed2c6c10dd12ecea720ab
edia/stagefright/MPEG4Writer.h
5883d53cf8300d8b13a1a6ef3310d72a55e191c0 12-Mar-2013 James Dong <jdong@google.com> Make limitations of MPEG4Writer explicit

o No more than 2 tracks will be supported
o No more than one video and/or one audio tracks will be supported
o Only take video and/or audio track (for instance, no text tracks)
o If there is no track before start() is called, bail out.

At the same time, make sure the errors from addSource() report to
addTrack(), not to start().

Bug: 7991013

Change-Id: I1ca35aaeb75b5448d75ed2c6c10dd12ecea720ab
edia/stagefright/MPEG4Writer.h
4757d457bb6943931253176b5ba63758d5ea44c2 14-Mar-2013 Mathias Agopian <mathias@google.com> am 1be720b5: am a32fd0e2: Merge "remove uses of Surface in favor or IGraphicBufferProducer" into jb-mr2-dev

* commit '1be720b5a2af2dfb2ef1cd2614ef2e7dfa3513dc':
remove uses of Surface in favor or IGraphicBufferProducer
a32fd0e2c7489fa28055595d7c67d857d32566a5 13-Mar-2013 Mathias Agopian <mathias@google.com> Merge "remove uses of Surface in favor or IGraphicBufferProducer" into jb-mr2-dev
8fb6f96e1cc246bc5630e1f5a0eb90f5459331b7 13-Mar-2013 Mathias Agopian <mathias@google.com> Merge "remove uses of Surface in favor or IGraphicBufferProducer" into jb-mr2-dev
441a78d5e224e0d67f9b52fa9adc795c6944159b 08-Feb-2013 Jeff Tinker <jtinker@google.com> Implementing MediaDrm APIs

Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
edia/IDrm.h
edia/IMediaPlayerService.h
cc82dc6d500023eba6048616301a4b12682458db 08-Feb-2013 Jeff Tinker <jtinker@google.com> Implementing MediaDrm APIs

Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
edia/IDrm.h
edia/IMediaPlayerService.h
99617adda9bc46c43f511f0940bc735c73de61de 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor or IGraphicBufferProducer

Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
amera/Camera.h
amera/ICamera.h
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
33da402287605e40e189289b11a08b8f5d515818 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor or IGraphicBufferProducer

Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
amera/Camera.h
amera/ICamera.h
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
2e391567670fd37b79753491f1afeb5436425216 12-Mar-2013 Andreas Huber <andih@google.com> am a848cea9: am c148e7a6: Merge "Squashed commit of the following:" into jb-mr2-dev

* commit 'a848cea935ad8fce5f607291fdad07ea8a1c839d':
Squashed commit of the following:
d5e56231a598b180a1d898bb7dc61b75580e59a4 12-Mar-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f4edf442741886cdbe071e2d15f6e6247269f7c5
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 09:09:18 2013 -0700

Pass additional flags to the sink, use TCP by default in wolfiecast mode.

Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092

commit 6302602ed280a38287f507159abfb40a1da38c5a
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 08:51:58 2013 -0700

tweaks

Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547

commit a38a860e4979ba563cadbaafa21b084439449d26
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 16:57:43 2013 -0700

Report average lateness all the way from NuPlayerRenderer...

Change-Id: I2e7700703ae656515e44b9c25610d26c75778111

commit a7d49b11675ea88be4029dd8451d1649db94571d
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 14:54:19 2013 -0700

Make TimeSyncer smarter, enable TunnelRenderer

Change-Id: I27377a60cd8feb01589da456967fddd34532c20e

commit 0f214c8ef68179f7b61512c37040939554013151
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 15:57:56 2013 -0800

convert source timestamps to sink timestamps, report lateness.

Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e

commit 04a4f8e16bad09157b5615a5fa45310438955832
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 09:00:28 2013 -0800

Sync time between sink and source.

Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe

commit aebe20e6184e3636a99082f8ece08e708015cb8d
Author: Andreas Huber <andih@google.com>
Date: Wed Mar 6 09:03:12 2013 -0800

play with back pressure

Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947

Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
edia/IStreamSource.h
9dffd24e00a1b2abd5e2dcc2366c0327ec3701b8 12-Mar-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f4edf442741886cdbe071e2d15f6e6247269f7c5
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 09:09:18 2013 -0700

Pass additional flags to the sink, use TCP by default in wolfiecast mode.

Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092

commit 6302602ed280a38287f507159abfb40a1da38c5a
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 08:51:58 2013 -0700

tweaks

Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547

commit a38a860e4979ba563cadbaafa21b084439449d26
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 16:57:43 2013 -0700

Report average lateness all the way from NuPlayerRenderer...

Change-Id: I2e7700703ae656515e44b9c25610d26c75778111

commit a7d49b11675ea88be4029dd8451d1649db94571d
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 14:54:19 2013 -0700

Make TimeSyncer smarter, enable TunnelRenderer

Change-Id: I27377a60cd8feb01589da456967fddd34532c20e

commit 0f214c8ef68179f7b61512c37040939554013151
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 15:57:56 2013 -0800

convert source timestamps to sink timestamps, report lateness.

Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e

commit 04a4f8e16bad09157b5615a5fa45310438955832
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 09:00:28 2013 -0800

Sync time between sink and source.

Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe

commit aebe20e6184e3636a99082f8ece08e708015cb8d
Author: Andreas Huber <andih@google.com>
Date: Wed Mar 6 09:03:12 2013 -0800

play with back pressure

Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947

Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
edia/IStreamSource.h
ec58ebeb70bd1c4f78cbf40a414842eec17aa69d 12-Mar-2013 Igor Murashkin <iam@google.com> am 993d462e: am fa4cf9d3: (Camera)ProCamera: Remove unused functions from binder interface

* commit '993d462e83f3b82328e3e691077ee8a748b42ac5':
(Camera)ProCamera: Remove unused functions from binder interface
fa4cf9d310685b4c25877cba772ff7da84caf517 05-Mar-2013 Igor Murashkin <iam@google.com> (Camera)ProCamera: Remove unused functions from binder interface

Change-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d
amera/CameraBase.h
amera/IProCameraCallbacks.h
amera/IProCameraUser.h
amera/ProCamera.h
7cf9a7e7d19579565e0f9dba8be9c107f2dbf548 05-Mar-2013 Igor Murashkin <iam@google.com> (Camera)ProCamera: Remove unused functions from binder interface

Change-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d
amera/CameraBase.h
amera/IProCameraCallbacks.h
amera/IProCameraUser.h
amera/ProCamera.h
660fbbb77f42745d2c05b436f1a09c5cbd3853c5 09-Mar-2013 Glenn Kasten <gkasten@google.com> Merge "Propose new interpretation for setPosition and setLoop"
70369845f8250df4f6f22c336414b4df0a3ce53e 09-Mar-2013 ztenghui <ztenghui@google.com> Merge "Clean up the native code to match Java update" into jb-mr2-dev
dbda1c852d68fde2e729ff2f8e85a406da73994b 09-Mar-2013 ztenghui <ztenghui@google.com> Merge "Clean up the native code to match Java update" into jb-mr2-dev
3db62dfc5102247d415df4667bd9609e669fc022 22-Feb-2013 ztenghui <ztenghui@google.com> Clean up the native code to match Java update

1. Add flags to match the java side change.
2. Update the interface.

bug:7991013

Change-Id: I8ffe84c466b2a68e2e1e48b35b78db9e44640265
edia/stagefright/MediaMuxer.h
afde4e56566af19b36f1fe5e7aa7f226bf1703dd 22-Feb-2013 ztenghui <ztenghui@google.com> Clean up the native code to match Java update

1. Add flags to match the java side change.
2. Update the interface.

bug:7991013

Change-Id: I8ffe84c466b2a68e2e1e48b35b78db9e44640265
edia/stagefright/MediaMuxer.h
0ab4d86643dfb668a583c13b8bd61b589dbe8602 06-Mar-2013 Andy McFadden <fadden@android.com> Merge "Correct MediaCodec + Surface behavior" into jb-mr2-dev
8d4c382db4f89c30a309ffa16bef33930c691681 06-Mar-2013 Andy McFadden <fadden@android.com> Merge "Correct MediaCodec + Surface behavior" into jb-mr2-dev
6507d14c6d10f93d390de62b9eed267f9b544985 05-Mar-2013 Andy McFadden <fadden@android.com> Correct MediaCodec + Surface behavior

Assorted tweaks:
- Allow signalEndOfInputStream() before ACodec is in Executing
state (added message to two more states).
- Return an error if signalEndOfInputStream() is called a second
time on the same stream.
- Require AndroidOpaque color format in createInputSurface().
- Disallow dequeueInputBuffer() after an input surface has been
created (boolean flag in MediaCodec tracks it).
- Discard input surface when encoder is re-configure()ed (drop
OMXNodeInstance's ref when we go back to Loaded).

Bug 7991062

Change-Id: Iff30f3036e14eb5a2f6536910dcf11aba33031ee
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
ba6218eae3dbcf3f962b3561b26374a214dbf5e2 05-Mar-2013 Andy McFadden <fadden@android.com> Correct MediaCodec + Surface behavior

Assorted tweaks:
- Allow signalEndOfInputStream() before ACodec is in Executing
state (added message to two more states).
- Return an error if signalEndOfInputStream() is called a second
time on the same stream.
- Require AndroidOpaque color format in createInputSurface().
- Disallow dequeueInputBuffer() after an input surface has been
created (boolean flag in MediaCodec tracks it).
- Discard input surface when encoder is re-configure()ed (drop
OMXNodeInstance's ref when we go back to Loaded).

Bug 7991062

Change-Id: Iff30f3036e14eb5a2f6536910dcf11aba33031ee
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
2217a40453b4b13232be77121bde76d6f31be012 06-Mar-2013 Glenn Kasten <gkasten@google.com> Merge "Add template class SingleStateQueue" into jb-mr2-dev
060c68497a9ab59fd71ffbe7c9a7cd3e58489265 06-Mar-2013 Glenn Kasten <gkasten@google.com> Merge "Add template class SingleStateQueue" into jb-mr2-dev
e51d8b3ba4533b7f94345a97e3cc633dc7b31f12 05-Mar-2013 Andy McFadden <fadden@android.com> Merge "Implement Surface input to MediaCodec." into jb-mr2-dev
a7a5917a064710edea9cfacc8eda44532150e852 05-Mar-2013 Andy McFadden <fadden@android.com> Merge "Implement Surface input to MediaCodec." into jb-mr2-dev
5c4cc0d99d3b1cb35c5d7c237272ee53142745fb 26-Nov-2012 Glenn Kasten <gkasten@google.com> Add template class SingleStateQueue

Change-Id: If7e2bc9b2a216524ee9cbb68682e2634933b4973
edia/SingleStateQueue.h
rivate/media/StaticAudioTrackState.h
538f498bbd5a2da51c9037a2689afc97f8bded8f 26-Nov-2012 Glenn Kasten <gkasten@google.com> Add template class SingleStateQueue

Change-Id: If7e2bc9b2a216524ee9cbb68682e2634933b4973
edia/SingleStateQueue.h
rivate/media/StaticAudioTrackState.h
7cd58537932ef6f481f68be0b9c597a89cebdfec 19-Feb-2013 Andy McFadden <fadden@android.com> Implement Surface input to MediaCodec.

Also, renamed a CHECK_INTERFACE macro that was clashing with the
Binder version.

Bug 7991062

Change-Id: If5e6ed0a06d9f67975497676e4b05abe3aa3d6c0
edia/IOMX.h
edia/stagefright/ACodec.h
edia/stagefright/BufferProducerWrapper.h
edia/stagefright/MediaCodec.h
f779bb50d9746d9526541c3e6dcdf619cac941b7 19-Feb-2013 Andy McFadden <fadden@android.com> Implement Surface input to MediaCodec.

Also, renamed a CHECK_INTERFACE macro that was clashing with the
Binder version.

Bug 7991062

Change-Id: If5e6ed0a06d9f67975497676e4b05abe3aa3d6c0
edia/IOMX.h
edia/stagefright/ACodec.h
edia/stagefright/BufferProducerWrapper.h
edia/stagefright/MediaCodec.h
c9b2e20f7c9a71e07ef398152709c76079decbcd 26-Feb-2013 Glenn Kasten <gkasten@google.com> Miscellaneous cleanup

Abbreviation framesReady to fRdy for new systrace.
Put inline const on one line.
Use local copy of mState in state.
Improve logging.
Line length 100.

Change-Id: I8201c3ce0e53fd464fd33d02544e52c342d40b68
edia/AudioTrack.h
a265845ecafe06c9668ce7ac67636657f4bedf86 26-Feb-2013 Glenn Kasten <gkasten@google.com> Miscellaneous cleanup

Abbreviation framesReady to fRdy for new systrace.
Put inline const on one line.
Use local copy of mState in state.
Improve logging.
Line length 100.

Change-Id: I8201c3ce0e53fd464fd33d02544e52c342d40b68
edia/AudioTrack.h
ab7d72f0804fbb7e91ad9d2a16f826d97e20e5d0 27-Feb-2013 Glenn Kasten <gkasten@google.com> media.log cleanup

Remove almost all of the specific logs, but leave the media.log
logging infrastructure in place for the next time we need it.

Re-apply a few good changes that were reverted earlier:
- check logf format vs. argument list compatibility
- distinguish potentially modified and actually modified tracks in FastMixer
- fix benign bug where sq->end() was called more than once
- fix a build warning

Bug: 6490974
Change-Id: I02d3e83646c738acaebb415bd0d6b548638b4ef5
edia/nbaio/NBLog.h
d3c4b134a87b96227b90b9ec052d8a6e9880bbdf 27-Feb-2013 Glenn Kasten <gkasten@google.com> media.log cleanup

Remove almost all of the specific logs, but leave the media.log
logging infrastructure in place for the next time we need it.

Re-apply a few good changes that were reverted earlier:
- check logf format vs. argument list compatibility
- distinguish potentially modified and actually modified tracks in FastMixer
- fix benign bug where sq->end() was called more than once
- fix a build warning

Bug: 6490974
Change-Id: I02d3e83646c738acaebb415bd0d6b548638b4ef5
edia/nbaio/NBLog.h
ba5ca4ee770fa0fe9e14990fd13b23f1010f5c98 28-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: Add CpuConsumer asynchronous mode support

Bug: 8290146
Bug: 8291751
Change-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f
amera/ProCamera.h
fb413768551ea8ba3af05efb9906e7e2348f2431 28-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: Add CpuConsumer asynchronous mode support

Bug: 8290146
Bug: 8291751
Change-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f
amera/ProCamera.h
bfc9915f482520eb9676c6d2dbf7f1ac078d937d 27-Feb-2013 Igor Murashkin <iam@google.com> Camera: Drop ProCamera connections when a Camera connection happens

* Also adds an ICameraServiceListener with available/not available statuses

Bug: 8291653
Change-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84
amera/CameraBase.h
amera/ICameraService.h
amera/ICameraServiceListener.h
amera/ProCamera.h
8fdfbe27acd157d58fa35a849ec50c82464062f0 27-Feb-2013 Igor Murashkin <iam@google.com> Camera: Drop ProCamera connections when a Camera connection happens

* Also adds an ICameraServiceListener with available/not available statuses

Bug: 8291653
Change-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84
amera/CameraBase.h
amera/ICameraService.h
amera/ICameraServiceListener.h
amera/ProCamera.h
8b5c4ec7bbf253eb704094ab6b04f58923f67994 27-Feb-2013 Igor Murashkin <iam@google.com> Merge "camera_client: refactor Camera/ProCamera commonalities into BasicCamera" into jb-mr2-dev
f5daac4225905184b8d7cdd2fd87247d73e27ea7 27-Feb-2013 Igor Murashkin <iam@google.com> Merge "camera_client: refactor Camera/ProCamera commonalities into BasicCamera" into jb-mr2-dev
409e3749a5627f1b360feb1479fcd341067a90b8 27-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Logging to investigate a crash"

This reverts commit f0ff908da019a44115109f1b4d1b6864b35a8a29.
edia/AudioBufferProvider.h
3c3c527a792249d07938c5c6cb9b465344a22383 27-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Logging to investigate a crash"

This reverts commit f0ff908da019a44115109f1b4d1b6864b35a8a29.
edia/AudioBufferProvider.h
c073ba525404f3416c2824c435d3d926a9892f1b 26-Feb-2013 Igor Murashkin <iam@google.com> camera_client: refactor Camera/ProCamera commonalities into BasicCamera

Change-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9
amera/Camera.h
amera/CameraBase.h
amera/ICameraService.h
amera/ProCamera.h
b84d935c179a275a47e07291d2a983daf844de80 26-Feb-2013 Igor Murashkin <iam@google.com> camera_client: refactor Camera/ProCamera commonalities into BasicCamera

Change-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9
amera/Camera.h
amera/CameraBase.h
amera/ICameraService.h
amera/ProCamera.h
ceb388d6c03c38b96dc41c0ea4804b749aa077c4 19-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CameraService and Stagefright: Support AppOps

Camera:
- Signal to AppOpsService when camera usage starts and stops
- Listen to permissions revocations and act on them
- Currently just kill camera connection when permissions lost

Stagefright:
- Pass on client name, UID to camera as needed

Bug: 8181262
Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
amera/Camera.h
amera/ICameraService.h
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
48af7e8dd40883d6154e7029d9500072b551b5fa 19-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CameraService and Stagefright: Support AppOps

Camera:
- Signal to AppOpsService when camera usage starts and stops
- Listen to permissions revocations and act on them
- Currently just kill camera connection when permissions lost

Stagefright:
- Pass on client name, UID to camera as needed

Bug: 8181262
Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
amera/Camera.h
amera/ICameraService.h
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
4bc4a3845e456fd464556d79d20650a107e873e5 20-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: Fix waitForFrameBuffer not handling multiple outstanding frames

If the CpuConsumer triggered multiple onFrameAvailable callbacks in between
a single waitForFrameBuffer call, the old code would only handle 1 callback.

This meant on two subsequent waitForFrameBuffer calls the second would always
timeout when two buffers were already available to be unlocked.

Bug: 8238112
Change-Id: Ibefca35005ac5c408e5ada97ec4a4344a9e3e497
amera/ProCamera.h
94a90a43b2a9f83b3a4a4a59247b74ad50336860 20-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: Fix waitForFrameBuffer not handling multiple outstanding frames

If the CpuConsumer triggered multiple onFrameAvailable callbacks in between
a single waitForFrameBuffer call, the old code would only handle 1 callback.

This meant on two subsequent waitForFrameBuffer calls the second would always
timeout when two buffers were already available to be unlocked.

Bug: 8238112
Change-Id: Ibefca35005ac5c408e5ada97ec4a4344a9e3e497
amera/ProCamera.h
a140a6efea1db7837984b3578755cfa4eaa8d92d 21-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: add waitForFrameBuffer/waitForFrameResult blocking calls

Change-Id: I851d41aeecaa15245d5b9d622132e8706d6e292c
amera/ProCamera.h
687f26c7bd7ece88cad8d51fc47be7ab1600af9d 21-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: add waitForFrameBuffer/waitForFrameResult blocking calls

Change-Id: I851d41aeecaa15245d5b9d622132e8706d6e292c
amera/ProCamera.h
7b33a74bbc514b99c16be7fff9a34e892bc19264 21-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: Add getInfo for getting static metadata (and a test)

Change-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166
amera/IProCameraUser.h
amera/ProCamera.h
d127c2c8a8b68dae2f8743c310c2547e8f46d967 21-Feb-2013 Igor Murashkin <iam@google.com> ProCamera: Add getInfo for getting static metadata (and a test)

Change-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166
amera/IProCameraUser.h
amera/ProCamera.h
a91537e268f2b35f9f0dfdc0c4f84655c93285ae 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera - implement onResultReceived callback for metadata callbacks

Change-Id: I46775402b007244bc383d6343a620eebbd492aad
amera/IProCameraCallbacks.h
amera/ProCamera.h
418e493e8d67924cfda652cb64965647ce6381cb 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera - implement onResultReceived callback for metadata callbacks

Change-Id: I46775402b007244bc383d6343a620eebbd492aad
amera/IProCameraCallbacks.h
amera/ProCamera.h
5835cc46a2f06dbfa5fbdab70e091896ef2fb438 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera - add createStreamCpu and unit test

Change-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3
amera/ProCamera.h
c0767f148e29ce821281b5965c0e25b4c143e76d 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera - add createStreamCpu and unit test

Change-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3
amera/ProCamera.h
76f8b43909817179b317880202360863b8f976d0 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: Change ProCamera to take IGraphicBufferProducer

Change-Id: Iec62eead6d179aa5486f7719143340976bb76e7d
amera/IProCameraUser.h
5494cdc67b541034c963919aef8acb8b665e4dde 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: Change ProCamera to take IGraphicBufferProducer

Change-Id: Iec62eead6d179aa5486f7719143340976bb76e7d
amera/IProCameraUser.h
985fd30a10f6fec4293f071fd258c4726cff5a3d 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera2Client - add createStream (service is stubbed) and unit test

Change-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1
amera/IProCameraUser.h
amera/ProCamera.h
69e22433b9d7df77907579f67e47a159aa57f876 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera2Client - add createStream (service is stubbed) and unit test

Change-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1
amera/IProCameraUser.h
amera/ProCamera.h
68506fd58d26748617babe94d5648503cb3690bb 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera - add createStream stub and unit test for it

Change-Id: Ic05130e63f4f2c0c3278ba348b192992169f105f
amera/ProCamera.h
9476926bb91bf15f7aff2a289a4805148f5a8a4e 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProCamera - add createStream stub and unit test for it

Change-Id: Ic05130e63f4f2c0c3278ba348b192992169f105f
amera/ProCamera.h
5376573eff55f370f041889618c9a7a9e1894615 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProClient add asynchronous locks and such

Change-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38
amera/IProCameraCallbacks.h
amera/ProCamera.h
68c80668304fc92db43bbe2e7cbe9753b6d3865a 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: ProClient add asynchronous locks and such

Change-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38
amera/IProCameraCallbacks.h
amera/ProCamera.h
634a51509ee50475f3e9f8ccf897e90fc72ded31 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: Add ProCamera private binder interface for an API2-light functionality

Change-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274
amera/ICameraService.h
amera/IProCameraCallbacks.h
amera/IProCameraUser.h
amera/ProCamera.h
bfb5d5ef5bae01efac171397260a7152782d92c7 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: Add ProCamera private binder interface for an API2-light functionality

Change-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274
amera/ICameraService.h
amera/IProCameraCallbacks.h
amera/IProCameraUser.h
amera/ProCamera.h
1d88023e1de6b9f370eb4be944dd9c4480d01f11 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: Add unit test infrastructure for libcameraclient

Change-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c
amera/Camera.h
e4e5b2f23fa85cae789dc6824ea8af321e211d60 21-Feb-2013 Igor Murashkin <iam@google.com> Camera: Add unit test infrastructure for libcameraclient

Change-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c
amera/Camera.h
fc42642ab78da5fe25bcbea7a568bf880268a9dc 14-Feb-2013 Igor Murashkin <iam@google.com> Camera: Add exists function to CameraMetadata

Change-Id: I081f61417fca7c8408e9e767129647ddce5364ab
amera/CameraMetadata.h
537799199bdd7a585585dee409e0e3a86bad93b7 14-Feb-2013 Igor Murashkin <iam@google.com> Camera: Add exists function to CameraMetadata

Change-Id: I081f61417fca7c8408e9e767129647ddce5364ab
amera/CameraMetadata.h
7efa520c76e6a1f6b3146404cc6aca5a8353583a 14-Feb-2013 Igor Murashkin <iam@google.com> Camera: Move CameraMetadata.h from service to client library

Change-Id: I940ce86f318f37ae5b73f912a6e589415150125f
amera/CameraMetadata.h
bd02dd1bf1f34eb4e100d0d058f1fe5a2790d67e 14-Feb-2013 Igor Murashkin <iam@google.com> Camera: Move CameraMetadata.h from service to client library

Change-Id: I940ce86f318f37ae5b73f912a6e589415150125f
amera/CameraMetadata.h
4353cef86a90c83f02c4ff338d236e8361a27dd1 16-Feb-2013 Glenn Kasten <gkasten@google.com> Merge "Revert "Temporary additional logging to investigate bug""
a457c43cd7f4225ffbedfbdcd68dd9cf6fef1d38 16-Feb-2013 Glenn Kasten <gkasten@google.com> Merge "Revert "Temporary additional logging to investigate bug""
7f5d335f7b4caecd0dfb8f1085f352f1d2da5d2e 16-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Temporary additional logging to investigate bug"

This reverts commit 32584a7d672864b20ab8b83a3cb23c1858e908b7

Change-Id: I9dc680578b955b1af462eeb7a49d61a0d45eb81b
edia/nbaio/NBLog.h
5f6f3764989601d3b3ee65beaf1447d2a6b5f284 16-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Temporary additional logging to investigate bug"

This reverts commit 32584a7d672864b20ab8b83a3cb23c1858e908b7

Change-Id: I9dc680578b955b1af462eeb7a49d61a0d45eb81b
edia/nbaio/NBLog.h
e96cdab491551ced9d529a2b9587508b92cf7f45 16-Feb-2013 Glenn Kasten <gkasten@google.com> Merge "Temporary additional logging to investigate bug"
c046148d93212f8a4da916bb860a1fa5926fe159 16-Feb-2013 Glenn Kasten <gkasten@google.com> Merge "Temporary additional logging to investigate bug"
32584a7d672864b20ab8b83a3cb23c1858e908b7 13-Feb-2013 Glenn Kasten <gkasten@google.com> Temporary additional logging to investigate bug

The bug appears related to continuing to use an invalid buffer provider
in fast mixer after track destruction, so focus the added logs in that area.

Also includes a bug fix: was calling log in an unsafe place
near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.

Details:
- include caller pid or client pid where appropriate
- increase log buffer size
- log mFastIndex when AudioMixer sees an invalid bufferProvider.
- log both potentially modified and actually modified tracks in FastMixer.
- fix benign bug where sq->end() was called more than once.
- log StateQueue push() call and return.
- increase StateQueue size from 4 to 8 entries
- log mixer->enable(), bufferProvider, and currentTrackMask
- log buffer provider addresses
- increase fast mixer log buffer again
- check logf format vs. argument list compatibility
- add logging to AudioMixer
- add checking of magic field in AudioMixer to detect overwrites
- add bool AudioMixer::enabled()
- increase log buffer sizes yet again
- enable assertion checking without ALOGV
- improve a few log messages
- check for corruption in more places
- log in all the process hooks
- add new mixer APIs so we can check for corruption of mixer state
- fix a build warning

Bug: 6490974
Change-Id: Ib0c4a73dcf606ef9bd898313b3b40ef61ab42f51
edia/nbaio/NBLog.h
dd9764290b3c1d801fea9505189cae29db919902 13-Feb-2013 Glenn Kasten <gkasten@google.com> Temporary additional logging to investigate bug

The bug appears related to continuing to use an invalid buffer provider
in fast mixer after track destruction, so focus the added logs in that area.

Also includes a bug fix: was calling log in an unsafe place
near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.

Details:
- include caller pid or client pid where appropriate
- increase log buffer size
- log mFastIndex when AudioMixer sees an invalid bufferProvider.
- log both potentially modified and actually modified tracks in FastMixer.
- fix benign bug where sq->end() was called more than once.
- log StateQueue push() call and return.
- increase StateQueue size from 4 to 8 entries
- log mixer->enable(), bufferProvider, and currentTrackMask
- log buffer provider addresses
- increase fast mixer log buffer again
- check logf format vs. argument list compatibility
- add logging to AudioMixer
- add checking of magic field in AudioMixer to detect overwrites
- add bool AudioMixer::enabled()
- increase log buffer sizes yet again
- enable assertion checking without ALOGV
- improve a few log messages
- check for corruption in more places
- log in all the process hooks
- add new mixer APIs so we can check for corruption of mixer state
- fix a build warning

Bug: 6490974
Change-Id: Ib0c4a73dcf606ef9bd898313b3b40ef61ab42f51
edia/nbaio/NBLog.h
1a2952aee048ca7b1765e2bc09ebe9aeddaeafa3 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
edia/mediarecorder.h
edia/stagefright/MediaCodec.h
edia/stagefright/NativeWindowWrapper.h
edia/stagefright/SurfaceMediaSource.h
b1e7cd156ca3e1747374e0d20cdd1ce467210453 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
edia/mediarecorder.h
edia/stagefright/MediaCodec.h
edia/stagefright/NativeWindowWrapper.h
edia/stagefright/SurfaceMediaSource.h
05f625c46b992ab66b8d1527a366fe2746b4e3c7 13-Feb-2013 Marco Nelissen <marcone@google.com> Add support for fragmented mp4 to MPEG4Extractor

This makes FragmentedMP4Extractor obsolete. It will be removed in a
separate change.

Change-Id: Ida74c07ccf84983e20a1320ee24ffc7a5c083859
edia/stagefright/DataSource.h
62ad9071cd61fc56355d3c2d25895382003ea362 13-Feb-2013 Marco Nelissen <marcone@google.com> Add support for fragmented mp4 to MPEG4Extractor

This makes FragmentedMP4Extractor obsolete. It will be removed in a
separate change.

Change-Id: Ida74c07ccf84983e20a1320ee24ffc7a5c083859
edia/stagefright/DataSource.h
e186b51e0a9834b287d7a509e960eaf1b688db75 15-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Temporary additional logging to investigate bug"

This reverts commit 639482c24c911b125398b31883ba6d55faebe28b

Change-Id: I11f2829072ab11e18b0663024f27bf31192f1d39
edia/nbaio/NBLog.h
ce70d400ff9fb614e334ab2b661df2933533ef57 15-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Temporary additional logging to investigate bug"

This reverts commit 639482c24c911b125398b31883ba6d55faebe28b

Change-Id: I11f2829072ab11e18b0663024f27bf31192f1d39
edia/nbaio/NBLog.h
639482c24c911b125398b31883ba6d55faebe28b 13-Feb-2013 Glenn Kasten <gkasten@google.com> Temporary additional logging to investigate bug

The bug appears related to continuing to use an invalid buffer provider
in fast mixer after track destruction, so focus the added logs in that area.

Also includes a bug fix: was calling log in an unsafe place
near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.

Details:
- include caller pid or client pid where appropriate
- increase log buffer size
- log mFastIndex when AudioMixer sees an invalid bufferProvider.
- log both potentially modified and actually modified tracks in FastMixer.
- fix benign bug where sq->end() was called more than once.
- log StateQueue push() call and return.
- increase StateQueue size from 4 to 8 entries
- log mixer->enable(), bufferProvider, and currentTrackMask
- log buffer provider addresses
- increase fast mixer log buffer again
- check logf format vs. argument list compatibility
- add logging to AudioMixer
- add checking of magic field in AudioMixer to detect overwrites
- add bool AudioMixer::enabled()

Bug: 6490974
Change-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e
edia/nbaio/NBLog.h
5881f18029deb80eb83ea88046d0593441be79c7 13-Feb-2013 Glenn Kasten <gkasten@google.com> Temporary additional logging to investigate bug

The bug appears related to continuing to use an invalid buffer provider
in fast mixer after track destruction, so focus the added logs in that area.

Also includes a bug fix: was calling log in an unsafe place
near Threads.cpp AudioFlinger::PlaybackThread::createTrack_l line 1250.

Details:
- include caller pid or client pid where appropriate
- increase log buffer size
- log mFastIndex when AudioMixer sees an invalid bufferProvider.
- log both potentially modified and actually modified tracks in FastMixer.
- fix benign bug where sq->end() was called more than once.
- log StateQueue push() call and return.
- increase StateQueue size from 4 to 8 entries
- log mixer->enable(), bufferProvider, and currentTrackMask
- log buffer provider addresses
- increase fast mixer log buffer again
- check logf format vs. argument list compatibility
- add logging to AudioMixer
- add checking of magic field in AudioMixer to detect overwrites
- add bool AudioMixer::enabled()

Bug: 6490974
Change-Id: I1f3f18aa62d9fbd35bc32285b669f5ba40efe28e
edia/nbaio/NBLog.h
4f1732b8068970b368a89271158ca29daf25650e 05-Feb-2013 ztenghui <ztenghui@google.com> Add the native MediaMuxer support.

MediaAdapter: a helper class to convert the push model to pull model.
MediaMuxer: the real muxer.

bug:7991013

Change-Id: If3b79551bc6332bc81f5c2740885e579a5c4abf9
edia/stagefright/MediaAdapter.h
edia/stagefright/MediaMuxer.h
6269d53cce5c1c9350565d3d72d92116594260cb 05-Feb-2013 ztenghui <ztenghui@google.com> Add the native MediaMuxer support.

MediaAdapter: a helper class to convert the push model to pull model.
MediaMuxer: the real muxer.

bug:7991013

Change-Id: If3b79551bc6332bc81f5c2740885e579a5c4abf9
edia/stagefright/MediaAdapter.h
edia/stagefright/MediaMuxer.h
272ab546940054ad7991bef4b3a36f15175721cd 05-Feb-2013 Jean-Michel Trivi <jmtrivi@google.com> Add support for querying if a stream is active remotely

Bug 7485803

Change-Id: I0744374f130fd2dd0714102354cffed2fa915361
edia/AudioSystem.h
edia/IAudioPolicyService.h
e336f9113bdd35119866a3c3f8008ca01c576660 05-Feb-2013 Jean-Michel Trivi <jmtrivi@google.com> Add support for querying if a stream is active remotely

Bug 7485803

Change-Id: I0744374f130fd2dd0714102354cffed2fa915361
edia/AudioSystem.h
edia/IAudioPolicyService.h
a2eb22c1de262aa3fa7c356537ac2fe165afdf3d 07-Feb-2013 Andreas Huber <andih@google.com> Allow for dynamic reconfiguration of the video bitrate used

to encode video while running as a wfd source.

Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
c71601c3b1dd63afc9be462194809813e4dbacf1 07-Feb-2013 Andreas Huber <andih@google.com> Allow for dynamic reconfiguration of the video bitrate used

to encode video while running as a wfd source.

Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
a416756864e2c7750d59d967ec2185532fa5c2e0 01-Feb-2013 Glenn Kasten <gkasten@google.com> Merge "Add media.log service based on NBLog"
0be9fe5864c39c11eefe335038cf6ce5473e4ec5 01-Feb-2013 Glenn Kasten <gkasten@google.com> Merge "Add media.log service based on NBLog"
a6a88d9c445e261972c2433254e0a996336e78a4 30-Jan-2013 Andreas Huber <andih@google.com> Plumbing to reflect minor changes in the HDCP module API that allow for

support of _decryption_ modules in addition to what we already supported.

Change-Id: Ic37b87dc170ba8def3817991d25df798f21e950b
edia/IHDCP.h
edia/IMediaPlayerService.h
279dcd89ab1d2de91dfe95e461412a0f577a6891 30-Jan-2013 Andreas Huber <andih@google.com> Plumbing to reflect minor changes in the HDCP module API that allow for

support of _decryption_ modules in addition to what we already supported.

Change-Id: Ic37b87dc170ba8def3817991d25df798f21e950b
edia/IHDCP.h
edia/IMediaPlayerService.h
6f1c1918d0dfece10f728711b055441e4d135c73 19-Jan-2013 Glenn Kasten <gkasten@google.com> Add media.log service based on NBLog

Change-Id: Ie45093df6ac9a739d05c8d408fab52a9a8a27e7f
edia/IMediaLogService.h
fdf4e4f1859771b95585cbc87f8cd038ea2815c6 19-Jan-2013 Glenn Kasten <gkasten@google.com> Add media.log service based on NBLog

Change-Id: Ie45093df6ac9a739d05c8d408fab52a9a8a27e7f
edia/IMediaLogService.h
11d8dfcc063425ae7d59229f54b6752fd8987c10 14-Jan-2013 Glenn Kasten <gkasten@google.com> Add non-blocking event logger NBLog

Change-Id: I6c136cf3d7f46a8af84c69ecfc199dab394c10dc
edia/nbaio/NBLog.h
10eb4b33545a58e4b09249c30c100bc7b992250a 14-Jan-2013 Glenn Kasten <gkasten@google.com> Add non-blocking event logger NBLog

Change-Id: I6c136cf3d7f46a8af84c69ecfc199dab394c10dc
edia/nbaio/NBLog.h
9c6745f128648f6e0144b74ee593911a9fa10d51 30-Nov-2012 Glenn Kasten <gkasten@google.com> Propose new interpretation for setPosition and setLoop

Add new API getBufferPosition to return position relative
to start of fixed buffer.

Change-Id: I7aca8e392d45b988545f07b36b5032691057b03e
edia/AudioTrack.h
d5681bc9a38fe4cd1d591e6ae62b9c68fb851041 22-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Start isolating control block accesses in a proxy"
856ff4e4c3c43550f013e80277358fdf514342bf 22-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Start isolating control block accesses in a proxy"
49d24d3fcd01aef0ec1fa4abd9c1b85473f64c0f 21-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove unnecessary parameter"
5570227ac334479982a9dd8c1647c00f58f47c18 21-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove unnecessary parameter"
8d6cc842e8d525405c68e57fdf3bc5da0b4d7e87 03-Feb-2012 Glenn Kasten <gkasten@google.com> Remove unnecessary parameter

Just get the parameter on server side

Change-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15
edia/IAudioFlinger.h
edia/IMediaPlayerService.h
f37971f624164c3ed185d3f976404a6f60f49b9a 03-Feb-2012 Glenn Kasten <gkasten@google.com> Remove unnecessary parameter

Just get the parameter on server side

Change-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15
edia/IAudioFlinger.h
edia/IMediaPlayerService.h
8ba01021b573889802e67e029225a96f0dfa471a 18-Dec-2012 Andy McFadden <fadden@android.com> Rename ISurfaceTexture and SurfaceTexture

The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.

Bug 7736700

Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
amera/Camera.h
amera/ICamera.h
edia/IMediaPlayer.h
edia/IMediaRecorder.h
edia/IRemoteDisplayClient.h
edia/MediaPlayerInterface.h
edia/MediaRecorderBase.h
edia/mediaplayer.h
edia/mediarecorder.h
edia/stagefright/MediaCodec.h
edia/stagefright/SurfaceMediaSource.h
484566c410afdfbc4b6bc5aa1732aef37428a5b8 18-Dec-2012 Andy McFadden <fadden@android.com> Rename ISurfaceTexture and SurfaceTexture

The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.

Bug 7736700

Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
amera/Camera.h
amera/ICamera.h
edia/IMediaPlayer.h
edia/IMediaRecorder.h
edia/IRemoteDisplayClient.h
edia/MediaPlayerInterface.h
edia/MediaRecorderBase.h
edia/mediaplayer.h
edia/mediarecorder.h
edia/stagefright/MediaCodec.h
edia/stagefright/SurfaceMediaSource.h
e3aa659e9cee7df5c12a80d285cc29ab3b2cbb39 04-Dec-2012 Glenn Kasten <gkasten@google.com> Start isolating control block accesses in a proxy

The proxy object will eventually be the only code that understands the
details of the control block. This should make it easier to change the
control block in the future.

Initial set of control block fields that are isolated:
- sample rate
- send level
- volume

Prepare for streaming/static separation by adding a union to the control
block for the new fields.

Fix bug in handling of max sample rate on a track. It was only checking
at re-configuration, not at each mix.

Simplify OutputTrack::obtainBuffer.

Change-Id: I2249f9d04f73a911a922ad1d7f6197292c74cd92
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
552f274d82fb4988fb972df69134e031d375abfe 04-Dec-2012 Glenn Kasten <gkasten@google.com> Start isolating control block accesses in a proxy

The proxy object will eventually be the only code that understands the
details of the control block. This should make it easier to change the
control block in the future.

Initial set of control block fields that are isolated:
- sample rate
- send level
- volume

Prepare for streaming/static separation by adding a union to the control
block for the new fields.

Fix bug in handling of max sample rate on a track. It was only checking
at re-configuration, not at each mix.

Simplify OutputTrack::obtainBuffer.

Change-Id: I2249f9d04f73a911a922ad1d7f6197292c74cd92
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
ae162976dda428671af09a8fbc3f03173a7e6f3e 11-Dec-2012 Glenn Kasten <gkasten@google.com> am 76143093: am f0ff908d: Logging to investigate a crash

* commit '761430930a7335d714af0f7c1d497feb8f9f0a5a':
Logging to investigate a crash
e1cf3c41bd27b5ab7d8e70ef8dd6fcd0f5453568 11-Dec-2012 Glenn Kasten <gkasten@google.com> am 76143093: am f0ff908d: Logging to investigate a crash

* commit '761430930a7335d714af0f7c1d497feb8f9f0a5a':
Logging to investigate a crash
761430930a7335d714af0f7c1d497feb8f9f0a5a 11-Dec-2012 Glenn Kasten <gkasten@google.com> am f0ff908d: Logging to investigate a crash

* commit 'f0ff908da019a44115109f1b4d1b6864b35a8a29':
Logging to investigate a crash
a4f324673f615d604362d86e1878e85c126847af 11-Dec-2012 Glenn Kasten <gkasten@google.com> am f0ff908d: Logging to investigate a crash

* commit 'f0ff908da019a44115109f1b4d1b6864b35a8a29':
Logging to investigate a crash
f0ff908da019a44115109f1b4d1b6864b35a8a29 07-Dec-2012 Glenn Kasten <gkasten@google.com> Logging to investigate a crash

Bug: 6490974
Change-Id: Ib926a9258bde4ee05ed42eea662dff68e426a997
edia/AudioBufferProvider.h
ef5abc369823f634c460c8f24d3cbf310542fe3b 07-Dec-2012 Glenn Kasten <gkasten@google.com> Logging to investigate a crash

Bug: 6490974
Change-Id: Ib926a9258bde4ee05ed42eea662dff68e426a997
edia/AudioBufferProvider.h
516dacfb02d0b0eafe21114330c98ce0e7d90da9 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
edia/stagefright/MetaData.h
e9810fae2ca6620337b75a787786cc0ea52adecd 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
edia/stagefright/MetaData.h
083d1c1492d496960d5b28f4664ff02101736677 01-Dec-2012 Glenn Kasten <gkasten@google.com> Emphasize distinction between streaming and static

Update comments and improve error checks to match

Change-Id: I7370d6e59a7ef26dfb284a8b058d5ab2e0a42ccf
edia/AudioTrack.h
8f7453f6770070f4789cb769bd2b6a3eabad7d68 01-Dec-2012 Glenn Kasten <gkasten@google.com> Emphasize distinction between streaming and static

Update comments and improve error checks to match

Change-Id: I7370d6e59a7ef26dfb284a8b058d5ab2e0a42ccf
edia/AudioTrack.h
4bae3649d504d590a546717a8e49f96a30d9a745 30-Nov-2012 Glenn Kasten <gkasten@google.com> flush() comments and checks

flush() is only useful for streaming mode.
It is a no-op if track is active or uses a static buffer.

Change-Id: I918ac181ffae3d16a0d67d8a7208f4aec61b5bd6
edia/AudioTrack.h
ec7dcac79c121ef015ee237891a5c90e67a977ab 30-Nov-2012 Glenn Kasten <gkasten@google.com> flush() comments and checks

flush() is only useful for streaming mode.
It is a no-op if track is active or uses a static buffer.

Change-Id: I918ac181ffae3d16a0d67d8a7208f4aec61b5bd6
edia/AudioTrack.h
e4756fe3a387615acb63c6a05788c8db9b5786cb 29-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack::mute() is unused so remove it

If ever needed again, it could be implemented on client side by forcing
a track volume of 0.

Change-Id: I88a9b4f675b6dca2948549414f9ec2c192d29269
edia/AudioTrack.h
edia/IAudioTrack.h
4b3a49e3a9ced6e63adab08acc5b720f8feddefa 29-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack::mute() is unused so remove it

If ever needed again, it could be implemented on client side by forcing
a track volume of 0.

Change-Id: I88a9b4f675b6dca2948549414f9ec2c192d29269
edia/AudioTrack.h
edia/IAudioTrack.h
01437b7cdaecf53acb46b50ff8b5d86b9d36eb20 29-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack inline short const methods

Change-Id: I142917edb454d510bbe545e94e6eaea30b650fae
edia/AudioTrack.h
ab5bfb15f63887f999f11239e12d78a7babcd112 29-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack inline short const methods

Change-Id: I142917edb454d510bbe545e94e6eaea30b650fae
edia/AudioTrack.h
24ee6aaf1368e3a07061948273c629d05cb9b12a 30-Nov-2012 Andreas Huber <andih@google.com> am ba6b1bc3: am e7550eb2: Merge "Initialize and copy mRotationAngle in VideoFrame"

* commit 'ba6b1bc38e0c355277f69af286469adb5f02e876':
Initialize and copy mRotationAngle in VideoFrame
ce768c847c0df30ee9725b888e95167444477e55 30-Nov-2012 Andreas Huber <andih@google.com> am ba6b1bc3: am e7550eb2: Merge "Initialize and copy mRotationAngle in VideoFrame"

* commit 'ba6b1bc38e0c355277f69af286469adb5f02e876':
Initialize and copy mRotationAngle in VideoFrame
ba6b1bc38e0c355277f69af286469adb5f02e876 30-Nov-2012 Andreas Huber <andih@google.com> am e7550eb2: Merge "Initialize and copy mRotationAngle in VideoFrame"

* commit 'e7550eb2805d864253f88ea2ced57014d6140e55':
Initialize and copy mRotationAngle in VideoFrame
ae62b042f1da297377f40a6ad1bf22d69d348698 30-Nov-2012 Andreas Huber <andih@google.com> am e7550eb2: Merge "Initialize and copy mRotationAngle in VideoFrame"

* commit 'e7550eb2805d864253f88ea2ced57014d6140e55':
Initialize and copy mRotationAngle in VideoFrame
37007147edde731cd3dc74febd7bb7e093a35020 13-Sep-2012 Christer Fletcher <christer.fletcher@sonyericsson.com> Initialize and copy mRotationAngle in VideoFrame

When thumbnails were generated they could be generated at random
angles as the mRotationAngle variable was not initialized to any
value. This variable would have to be explicitly overwritten to not
cause random rotation. Changed the implementation to initialize the
value to 0 (no rotation). mRotationAngle was also missing in the
copy constructor.

Change-Id: I67a5340fdd807c6ab3a3da5eecb09b5b9d5f4666
rivate/media/VideoFrame.h
10db45259545989a80fae0cd6fd6a252f3c9924a 13-Sep-2012 Christer Fletcher <christer.fletcher@sonyericsson.com> Initialize and copy mRotationAngle in VideoFrame

When thumbnails were generated they could be generated at random
angles as the mRotationAngle variable was not initialized to any
value. This variable would have to be explicitly overwritten to not
cause random rotation. Changed the implementation to initialize the
value to 0 (no rotation). mRotationAngle was also missing in the
copy constructor.

Change-Id: I67a5340fdd807c6ab3a3da5eecb09b5b9d5f4666
rivate/media/VideoFrame.h
37a9e8e13bcc9ac614c1b733ec2c66764c29679a 29-Nov-2012 Andreas Huber <andih@google.com> am 2f6107ec: am b64def9a: Merge "[wfd] Support a low(er) power state by triggering PAUSE/RESUME." into jb-mr1.1-dev

* commit '2f6107ec8e67eea1f73b9558a5ad34caec52867f':
[wfd] Support a low(er) power state by triggering PAUSE/RESUME.
f59ab0eb162cc32df4fc0af8d1a4500c5bce3ecc 29-Nov-2012 Andreas Huber <andih@google.com> am 2f6107ec: am b64def9a: Merge "[wfd] Support a low(er) power state by triggering PAUSE/RESUME." into jb-mr1.1-dev

* commit '2f6107ec8e67eea1f73b9558a5ad34caec52867f':
[wfd] Support a low(er) power state by triggering PAUSE/RESUME.
239a901bb320383eb1aa2820c02c80937053acb4 29-Nov-2012 James Dong <jdong@google.com> am 296cb9dd: am 0dbe5a93: Added optional intra macroblock refresh support for encoding

* commit '296cb9ddd916c43983bfb4ddab9c69ed555d4cc4':
Added optional intra macroblock refresh support for encoding
2e57f4c428be32a574e31b0f4aeeae8de24e5895 29-Nov-2012 James Dong <jdong@google.com> am 296cb9dd: am 0dbe5a93: Added optional intra macroblock refresh support for encoding

* commit '296cb9ddd916c43983bfb4ddab9c69ed555d4cc4':
Added optional intra macroblock refresh support for encoding
2f6107ec8e67eea1f73b9558a5ad34caec52867f 29-Nov-2012 Andreas Huber <andih@google.com> am b64def9a: Merge "[wfd] Support a low(er) power state by triggering PAUSE/RESUME." into jb-mr1.1-dev

* commit 'b64def9a555bfbf533a2da41ba0189b9842a76fb':
[wfd] Support a low(er) power state by triggering PAUSE/RESUME.
53faa7ee457eb9b27be1fd814e42ffe43c8520a0 29-Nov-2012 Andreas Huber <andih@google.com> am b64def9a: Merge "[wfd] Support a low(er) power state by triggering PAUSE/RESUME." into jb-mr1.1-dev

* commit 'b64def9a555bfbf533a2da41ba0189b9842a76fb':
[wfd] Support a low(er) power state by triggering PAUSE/RESUME.
296cb9ddd916c43983bfb4ddab9c69ed555d4cc4 29-Nov-2012 James Dong <jdong@google.com> am 0dbe5a93: Added optional intra macroblock refresh support for encoding

* commit '0dbe5a9321b24b6883fbb2fe97cd9d525128b0b5':
Added optional intra macroblock refresh support for encoding
cb9d270eecb7108e19323f522c5e82dcc80a5f32 29-Nov-2012 James Dong <jdong@google.com> am 0dbe5a93: Added optional intra macroblock refresh support for encoding

* commit '0dbe5a9321b24b6883fbb2fe97cd9d525128b0b5':
Added optional intra macroblock refresh support for encoding
5131d127a042ee88f903370be88845dc8c9f8578 16-Nov-2012 Andreas Huber <andih@google.com> [wfd] Support a low(er) power state by triggering PAUSE/RESUME.

Change-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727
related-to-bug: 7638150
edia/IRemoteDisplay.h
bf4950aa265ec7b54777d122b27037461638af0f 16-Nov-2012 Andreas Huber <andih@google.com> [wfd] Support a low(er) power state by triggering PAUSE/RESUME.

Change-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727
related-to-bug: 7638150
edia/IRemoteDisplay.h
0dbe5a9321b24b6883fbb2fe97cd9d525128b0b5 15-Nov-2012 James Dong <jdong@google.com> Added optional intra macroblock refresh support for encoding

o related-to-bug: 7524791

Change-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f
edia/stagefright/ACodec.h
e97adde42fabc3928a2ac0b8cdc88e35b24b85dc 15-Nov-2012 James Dong <jdong@google.com> Added optional intra macroblock refresh support for encoding

o related-to-bug: 7524791

Change-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f
edia/stagefright/ACodec.h
2546219a54970e0ad53bd218586cdc48d6039b20 28-Nov-2012 Andreas Huber <andih@google.com> am 7b7f17dc: am b7c8e918: Add support for HLS playlists of type \'event\'.

* commit '7b7f17dc9b30ff4ecdf0aea9bcfa1c518d4ac1e7':
Add support for HLS playlists of type 'event'.
1bfcf04b27bdd5320ab70b74285b855380e83f26 28-Nov-2012 Andreas Huber <andih@google.com> am 7b7f17dc: am b7c8e918: Add support for HLS playlists of type \'event\'.

* commit '7b7f17dc9b30ff4ecdf0aea9bcfa1c518d4ac1e7':
Add support for HLS playlists of type 'event'.
7b7f17dc9b30ff4ecdf0aea9bcfa1c518d4ac1e7 28-Nov-2012 Andreas Huber <andih@google.com> am b7c8e918: Add support for HLS playlists of type \'event\'.

* commit 'b7c8e91880463ff4981e3e53e98e45d68e2fe374':
Add support for HLS playlists of type 'event'.
61c195615176903bb077a10d6b88ba112fefa250 28-Nov-2012 Andreas Huber <andih@google.com> am b7c8e918: Add support for HLS playlists of type \'event\'.

* commit 'b7c8e91880463ff4981e3e53e98e45d68e2fe374':
Add support for HLS playlists of type 'event'.
b7c8e91880463ff4981e3e53e98e45d68e2fe374 28-Nov-2012 Andreas Huber <andih@google.com> Add support for HLS playlists of type 'event'.

related-to-bug: 6870049

Squashed commit of the following:

commit eee2f3ba6bb7335f4e285632726db85645669929
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 15:02:01 2012 -0800

Make everything a lot less verbose by default.

Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3

commit 6bbdb837ed5bd88008e45efb8faf595e4051ba26
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:34:46 2012 -0800

HLS now properly signals media time changes at discontinuities including

the start of playback (which may not necessarily be at time 0 if the playlist
is of type 'event' and hasn't completed yet).

Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e

commit 1555589832b1878a144a976a643e1af4d61f877c
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:32:28 2012 -0800

As part of a time discontinuity, clients of IStreamListener can now

signal the corresponding media time after the discontinuity, i.e. the first PTS
timestamp following the discontinuity will be considered equivalent to the
specified media time and media buffers timestamped accordingly.

Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92

commit 5c24c605c073a11c426d025b1e7478fc1ad8365a
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 13:00:56 2012 -0800

NuPlayer sources now expose flags() and can announce

that duration may change (increase) dynamically, in which case duration
will be polled at 1 second intervals and communicated to the upper layers.

Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea

commit ecb71de8e281e61971a2cd73e7161a97540bc357
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 12:57:47 2012 -0800

Stop caching duration in MediaPlayer, duration could increase dynamically.

Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791

commit 544aec5823e6d7a3e97e15b6b23546616bcd343e
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 08:46:28 2012 -0800

An attempt to add support for "event" style HLS playlists.

Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60

Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
edia/IStreamSource.h
edia/mediaplayer.h
a4c5bc0f18fe272146426ab2eccad6215279c9f3 28-Nov-2012 Andreas Huber <andih@google.com> Add support for HLS playlists of type 'event'.

related-to-bug: 6870049

Squashed commit of the following:

commit eee2f3ba6bb7335f4e285632726db85645669929
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 15:02:01 2012 -0800

Make everything a lot less verbose by default.

Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3

commit 6bbdb837ed5bd88008e45efb8faf595e4051ba26
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:34:46 2012 -0800

HLS now properly signals media time changes at discontinuities including

the start of playback (which may not necessarily be at time 0 if the playlist
is of type 'event' and hasn't completed yet).

Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e

commit 1555589832b1878a144a976a643e1af4d61f877c
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:32:28 2012 -0800

As part of a time discontinuity, clients of IStreamListener can now

signal the corresponding media time after the discontinuity, i.e. the first PTS
timestamp following the discontinuity will be considered equivalent to the
specified media time and media buffers timestamped accordingly.

Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92

commit 5c24c605c073a11c426d025b1e7478fc1ad8365a
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 13:00:56 2012 -0800

NuPlayer sources now expose flags() and can announce

that duration may change (increase) dynamically, in which case duration
will be polled at 1 second intervals and communicated to the upper layers.

Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea

commit ecb71de8e281e61971a2cd73e7161a97540bc357
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 12:57:47 2012 -0800

Stop caching duration in MediaPlayer, duration could increase dynamically.

Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791

commit 544aec5823e6d7a3e97e15b6b23546616bcd343e
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 08:46:28 2012 -0800

An attempt to add support for "event" style HLS playlists.

Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60

Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
edia/IStreamSource.h
edia/mediaplayer.h
d5314733f9b432dfbfa40bbf74efe4dd3025c9b2 27-Nov-2012 Andreas Huber <andih@google.com> am 9abbd0fb: am 3eb46d17: Merge "Fix of uninitialized mIsDrm variable."

* commit '9abbd0fb822aa0076f6de03f2092db47760b924d':
Fix of uninitialized mIsDrm variable.
1dc9b1b88cfedc61a0795ea646b728ee129fc2e6 27-Nov-2012 Andreas Huber <andih@google.com> am 9abbd0fb: am 3eb46d17: Merge "Fix of uninitialized mIsDrm variable."

* commit '9abbd0fb822aa0076f6de03f2092db47760b924d':
Fix of uninitialized mIsDrm variable.
3eb46d179b1f62cde21077fde466925d4c5c79ad 27-Nov-2012 Andreas Huber <andih@google.com> Merge "Fix of uninitialized mIsDrm variable."
761ad2c39ab2b6d40379c5926caaf9d8bd5dce15 27-Nov-2012 Andreas Huber <andih@google.com> Merge "Fix of uninitialized mIsDrm variable."
bb983e5b4640555533241753f4a8e4b48331ed1d 31-Oct-2012 Henrik B Andersson <henrikb.andersson@sonymobile.com> Fix of uninitialized mIsDrm variable.

The mIsDrm is a bool that isn't initialized.
This causes it to be true in most default cases.

Change-Id: I41b534514bf6a3ca88a9f0994b814d55fcd7453b
edia/stagefright/MediaExtractor.h
9ca2596be1e624ebf1e39f645d3b3a9c3ed18eb2 31-Oct-2012 Henrik B Andersson <henrikb.andersson@sonymobile.com> Fix of uninitialized mIsDrm variable.

The mIsDrm is a bool that isn't initialized.
This causes it to be true in most default cases.

Change-Id: I41b534514bf6a3ca88a9f0994b814d55fcd7453b
edia/stagefright/MediaExtractor.h
53f6244746342f06a028702a6b850af2d93f20ac 26-Nov-2012 Andreas Huber <andih@google.com> am 5bc5bf39: am 79fd6853: Merge "MediaCodec: Add a method for getting the component name"

* commit '5bc5bf39120ae27ef46a8b13f85bf44ea19c7d5e':
MediaCodec: Add a method for getting the component name
a98a8877396fdcdf04e64cf8674ede9d4212c97b 26-Nov-2012 Andreas Huber <andih@google.com> am 5bc5bf39: am 79fd6853: Merge "MediaCodec: Add a method for getting the component name"

* commit '5bc5bf39120ae27ef46a8b13f85bf44ea19c7d5e':
MediaCodec: Add a method for getting the component name
a42ff007a17d63df22c60dd5e5fd811ee45ca1b3 14-Nov-2012 Glenn Kasten <gkasten@google.com> Clean up channel count and channel mask

Channel count is uint32_t.
Remove redundant mask parameter to AudioTrack::createTrack_l()
and AudioRecord::openRecord_l().

Change-Id: I5dc2b18eb609b2c0dc3091994cbaa4628062c17f
edia/AudioRecord.h
edia/AudioTrack.h
c45128af9231a6e26c4deef798b79e74e4fad904 14-Nov-2012 Glenn Kasten <gkasten@google.com> Clean up channel count and channel mask

Channel count is uint32_t.
Remove redundant mask parameter to AudioTrack::createTrack_l()
and AudioRecord::openRecord_l().

Change-Id: I5dc2b18eb609b2c0dc3091994cbaa4628062c17f
edia/AudioRecord.h
edia/AudioTrack.h
717fd3d4328abf524978ce9c125ab8ae8d6bffad 25-Sep-2012 Martin Storsjo <martin@martin.st> MediaCodec: Add a method for getting the component name

If the codec was chosen based on mime type, the caller does
not know what component actually was chosen. This allows
getting essential information (such as supported color formats,
for a video encoder) for this component.

Change-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b
edia/stagefright/MediaCodec.h
8601efe463bf3331fa2a389ee13db25f21d28eb9 25-Sep-2012 Martin Storsjo <martin@martin.st> MediaCodec: Add a method for getting the component name

If the codec was chosen based on mime type, the caller does
not know what component actually was chosen. This allows
getting essential information (such as supported color formats,
for a video encoder) for this component.

Change-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b
edia/stagefright/MediaCodec.h
b603744e96b07b1d5bf745bde593fb2c025cefcf 14-Nov-2012 Glenn Kasten <gkasten@google.com> Don't use control block frame count after create

This is part of a series to clean up the control block.

Change-Id: I7f4cb05aef63053f8e2ab05b286d302260ef4758
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
d7101432aa28f18b1510d9c186a27eecbeba46b2 14-Nov-2012 Glenn Kasten <gkasten@google.com> Don't use control block frame count after create

This is part of a series to clean up the control block.

Change-Id: I7f4cb05aef63053f8e2ab05b286d302260ef4758
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
a1c1a7e4c9cb37726e4afc10d6678666087f8e1d 16-Nov-2012 Marco Nelissen <marcone@google.com> Merge "Add GSM 6.10 decoder"
3c81bfb86cfa2b0bae4fea41cc26e3ce50af8517 16-Nov-2012 Marco Nelissen <marcone@google.com> Merge "Add GSM 6.10 decoder"
ba933df89521d63f75ca66af12ce9d7ae9496b9e 15-Nov-2012 Marco Nelissen <marcone@google.com> Add GSM 6.10 decoder

Supports Microsoft frame packing only, since that's what the sample
file used.
b/6620569

Change-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d
edia/stagefright/MediaDefs.h
2ed5cf016c1b45426ae25ab105e02ff4bb992f28 15-Nov-2012 Marco Nelissen <marcone@google.com> Add GSM 6.10 decoder

Supports Microsoft frame packing only, since that's what the sample
file used.
b/6620569

Change-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d
edia/stagefright/MediaDefs.h
e33054eb968cbf8ccaee1b0ff0301403902deed6 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use size_t for frame counts

Also fix typo: bufferCount should be frameCount.

Change-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
7da35f231725aa6e0b2ac8714a7d66471368df77 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use size_t for frame counts

Also fix typo: bufferCount should be frameCount.

Change-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5
edia/AudioRecord.h
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
60a839204713e0f8258d082af83262b1eb33a6c3 21-Jun-2012 Glenn Kasten <gkasten@google.com> Clean up frame size in AudioTrack and AudioFlinger

TrackBase::mFrameSize, mChannelMask, and mChannelCount are now const.
Use TrackBase::mFrameSize instead of re-calculating frame size.
AudioFlinger only sees 16-bit PCM format, conversion from 8-bit is
now entirely on the client side. Previously a small part of the
responsibility was on server side also.
size_t is unsigned, so use %u in logs.
Fix theoretical bug where TrackBase constructor was over-allocating space
for non-linear AudioTrack or 8-bit PCM AudioRecord (probably benign).

Change-Id: I7cbbba0bf4dba29ea751d8af341ab8e5cbbdc206
edia/AudioTrack.h
520a9af9438c29b24e328dd2b7a287c7a96a4e6b 21-Jun-2012 Glenn Kasten <gkasten@google.com> Clean up frame size in AudioTrack and AudioFlinger

TrackBase::mFrameSize, mChannelMask, and mChannelCount are now const.
Use TrackBase::mFrameSize instead of re-calculating frame size.
AudioFlinger only sees 16-bit PCM format, conversion from 8-bit is
now entirely on the client side. Previously a small part of the
responsibility was on server side also.
size_t is unsigned, so use %u in logs.
Fix theoretical bug where TrackBase constructor was over-allocating space
for non-linear AudioTrack or 8-bit PCM AudioRecord (probably benign).

Change-Id: I7cbbba0bf4dba29ea751d8af341ab8e5cbbdc206
edia/AudioTrack.h
3b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use uint32_t for sample rate

Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/ToneGenerator.h
1127d65d536ebbe447ee17ce0926a7ce4a2a3c08 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use uint32_t for sample rate

Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/ToneGenerator.h
b4a17e834b718eff1ba2eac4232de6e73a4bf9f5 15-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Update audio comments"
1513ad2d2de0962cc3b3121e6fae73d8ee1a4639 15-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Update audio comments"
22eb4e239fbe9103568147d566d7482e480350b8 07-Nov-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: I85d7d2f6381b251db5695202fec75128883a8662
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
020f79fd967736d36c7ec860814e2e93866a020f 07-Nov-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: I85d7d2f6381b251db5695202fec75128883a8662
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
a552d6049ccf674b083d011ce7b8a443a9cd68a4 14-Nov-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioSystem methods

Change-Id: I952d504e03af9a1d3e1e0aa379c82dfb00197d9f
edia/AudioSystem.h
f6fd99cc07deb0fa4f3e8fc278836bd90649964f 14-Nov-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioSystem methods

Change-Id: I952d504e03af9a1d3e1e0aa379c82dfb00197d9f
edia/AudioSystem.h
b36a7a68af073b1e7fd5cad6aa2c52223fd30efd 13-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify AudioRecord::restoreTrack_l()

Finish removing CBLK_RESTORING and CBLK_RESTORED from control block flags,
and remove constant RESTORE_TIMEOUT_MS.

Also minor cleanup:
- Cache mCblk in local variable cblk and make cblk allocatable in a register.
- Use "iMem" for sp<IMemory>.
- Add missing error log to AudioRecord; it was already in AudioTrack.

This is part of a series to clean up the control block.

Change-Id: Ia5f5ab4763c392bc06a45851b167ddaee29e3455
rivate/media/AudioTrackShared.h
55186024431cda03aa4a9960a1c90b6954412e98 13-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify AudioRecord::restoreTrack_l()

Finish removing CBLK_RESTORING and CBLK_RESTORED from control block flags,
and remove constant RESTORE_TIMEOUT_MS.

Also minor cleanup:
- Cache mCblk in local variable cblk and make cblk allocatable in a register.
- Use "iMem" for sp<IMemory>.
- Add missing error log to AudioRecord; it was already in AudioTrack.

This is part of a series to clean up the control block.

Change-Id: Ia5f5ab4763c392bc06a45851b167ddaee29e3455
rivate/media/AudioTrackShared.h
83a0382dc17364567667a4e6135db43f5bd92efc 12-Nov-2012 Glenn Kasten <gkasten@google.com> Move frame size out of the control block

This is part of a series to clean up the control block.

Change-Id: Ifab1c42ac0f8be704e571b292713cd2250d12a3f
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
5aab59a2bd0a2cd80240ffd66c1b963b5fe06d65 12-Nov-2012 Glenn Kasten <gkasten@google.com> Move frame size out of the control block

This is part of a series to clean up the control block.

Change-Id: Ifab1c42ac0f8be704e571b292713cd2250d12a3f
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
b929e417853694e37aba1ef4399f188987b709d9 08-Nov-2012 Glenn Kasten <gkasten@google.com> Move buffers pointer out of the control block

This is part of a series to clean up the control block.

Change-Id: Ie474557db7cb360f2d9a0f11600a68f5a3d46f07
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
2f6226ad7a3fa81dc102001fbc1d1288e55a0947 08-Nov-2012 Glenn Kasten <gkasten@google.com> Move buffers pointer out of the control block

This is part of a series to clean up the control block.

Change-Id: Ie474557db7cb360f2d9a0f11600a68f5a3d46f07
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
a47f3165f53c8e8fb8907a94de7417e2c3047eeb 07-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify AudioTrack::restoreTrack_l()

Remove CBLK_RESTORING and CBLK_RESTORED from control block flags,
for AudioTrack only. They are still used by AudioRecord.

This is part of a series to clean up the control block.

Change-Id: Iae4798f5b527c492bdaf789987ff3a1dadd0cb37
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
e0461d1d47c3e3cac625ce062b641519da37ba94 07-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify AudioTrack::restoreTrack_l()

Remove CBLK_RESTORING and CBLK_RESTORED from control block flags,
for AudioTrack only. They are still used by AudioRecord.

This is part of a series to clean up the control block.

Change-Id: Iae4798f5b527c492bdaf789987ff3a1dadd0cb37
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
659004c2949620d8adb29e1d950a2dd1c75ba9a9 08-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Add all-channel AudioTrack::setVolume() API"
1ec74dab269d21535a89d058da82a7d28aacbb12 08-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Add all-channel AudioTrack::setVolume() API"
755e8e1dcf36f282b727ff22d87d3c2fac70d30a 08-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Fix call to restoreTrack_l() without lock held"
4f3ebe4090a3be3bb7622cc01b2f9af476914798 08-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Fix call to restoreTrack_l() without lock held"
d5ed6e88a9bea1879e41d7defaf1edea7c09f554 02-Nov-2012 Glenn Kasten <gkasten@google.com> Fix call to restoreTrack_l() without lock held

Also document lock order

Change-Id: I2c1f273a0a51fa79ee3dd766de8d23083e270051
edia/AudioTrack.h
a96bd95dcfe886436652debbda77ceb634729da0 02-Nov-2012 Glenn Kasten <gkasten@google.com> Fix call to restoreTrack_l() without lock held

Also document lock order

Change-Id: I2c1f273a0a51fa79ee3dd766de8d23083e270051
edia/AudioTrack.h
864585df53eb97c31e77b3ad7c0d89e4f9b42588 07-Nov-2012 Glenn Kasten <gkasten@google.com> Remove CBLK_DIRECTION from control block flags

This is part of a series to clean up the control block.

Change-Id: I0265fece3247356b585d4d48fbda6f37aea8a851
rivate/media/AudioTrackShared.h
ba85098eb31bd2637db49816f0591361211024f2 07-Nov-2012 Glenn Kasten <gkasten@google.com> Remove CBLK_DIRECTION from control block flags

This is part of a series to clean up the control block.

Change-Id: I0265fece3247356b585d4d48fbda6f37aea8a851
rivate/media/AudioTrackShared.h
8fa3ad0e4c77f7868348ad2a4cacc34c34e7c39e 07-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Remove CBLK_FAST from control block flags"
891b11da870ad3f860c1d2610ef4d8836ed6c590 07-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Remove CBLK_FAST from control block flags"
9d91e2a52b74380dae2662c8c00477c013b83c2c 07-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Remove unused fields in AudioTrack::Buffer"
b2800e8f1360cbc3c5af2bea228b9622b1ddc9dd 07-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Remove unused fields in AudioTrack::Buffer"
e0b07179a48ee50fda931d2aa1b3c751d167e4d7 07-Nov-2012 Glenn Kasten <gkasten@google.com> Remove CBLK_FAST from control block flags

This is part of a series to clean up the control block.

Change-Id: Ic881a3560d9547cb63fcc0cefec87aa3da480e0d
edia/IAudioFlinger.h
rivate/media/AudioTrackShared.h
c26741598a840f7c1d12ee457fb26f68fcdbcc70 07-Nov-2012 Glenn Kasten <gkasten@google.com> Remove CBLK_FAST from control block flags

This is part of a series to clean up the control block.

Change-Id: Ic881a3560d9547cb63fcc0cefec87aa3da480e0d
edia/IAudioFlinger.h
rivate/media/AudioTrackShared.h
05d499958e4030938ed77a924ebdd9899f36752e 06-Nov-2012 Glenn Kasten <gkasten@google.com> Remove unused fields in AudioTrack::Buffer

Change-Id: Iab75f6e2348d8b6d1f3cec95aeb3fcd5135dfb50
edia/AudioTrack.h
8424361609e0a94b9a240b43920529a84a63ed15 06-Nov-2012 Glenn Kasten <gkasten@google.com> Remove unused fields in AudioTrack::Buffer

Change-Id: Iab75f6e2348d8b6d1f3cec95aeb3fcd5135dfb50
edia/AudioTrack.h
26ba972eafde73a26271ecf027a1d5988ce50eb8 22-Jun-2012 Glenn Kasten <gkasten@google.com> Removed unused fields in AudioRecord::Buffer

Change-Id: I89fc6d8f695b48516d956b0a9a4a43d408f369f9
edia/AudioRecord.h
6608582c5fc4dc4041d18d0e619fb3042380607b 22-Jun-2012 Glenn Kasten <gkasten@google.com> Removed unused fields in AudioRecord::Buffer

Change-Id: I89fc6d8f695b48516d956b0a9a4a43d408f369f9
edia/AudioRecord.h
cce9dfb4b17ef5a42c5805aeeae28d3390e4655f 06-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "AudioRecord comments"
2c1f9010e4ccf12667043b6ba00d2dc758dbbfc0 06-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "AudioRecord comments"
8e825a57202ce6cb2ddac67683ee5885334ce75d 06-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Simplify control block flag names"
fda32926cfbdad0aae5a3e0bf88b2a218f9e7f6c 06-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Simplify control block flag names"
b1c0993b215c5c3eebd1c6bafc22bba23d57a70b 28-Feb-2012 Glenn Kasten <gkasten@google.com> Add all-channel AudioTrack::setVolume() API

Add combined channel APIs setVolume to AudioTrack,
and remove obsolete getVolume.

Change-Id: I0c87bfdbff4f4292259fa33e65f67badbafd270b
edia/AudioTrack.h
164d6539e0620d08b0395efcdd0e4aaf437daf54 28-Feb-2012 Glenn Kasten <gkasten@google.com> Add all-channel AudioTrack::setVolume() API

Add combined channel APIs setVolume to AudioTrack,
and remove obsolete getVolume.

Change-Id: I0c87bfdbff4f4292259fa33e65f67badbafd270b
edia/AudioTrack.h
847d05dc8fa144dcf8f4f435d6a6ac1727f00937 28-Feb-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioTrack APIs

Change-Id: I88be6525f3e33df529c0c3cb701d12a484809477
edia/AudioTrack.h
7c28540fccf996bed1744686aca1ee9e67b9cf22 28-Feb-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioTrack APIs

Change-Id: I88be6525f3e33df529c0c3cb701d12a484809477
edia/AudioTrack.h
9c5fdd83f9b9f49be35107971feb33528d60b945 05-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify control block flag names

Use only one symbol per flag

Change-Id: Ia3582e2134abd60c896d11337face65383e79c7c
rivate/media/AudioTrackShared.h
d12b033552585cd8761ba6241f21e4cea4a21878 05-Nov-2012 Glenn Kasten <gkasten@google.com> Simplify control block flag names

Use only one symbol per flag

Change-Id: Ia3582e2134abd60c896d11337face65383e79c7c
rivate/media/AudioTrackShared.h
c28c03b0b819d705522929852ecdb5a8bb50b13b 01-Nov-2012 Glenn Kasten <gkasten@google.com> AudioRecord comments

Change-Id: Ibec910608948d778dc655d900255a80384e9b06f
edia/AudioRecord.h
c4bae46d8bc833f200c2d460df73d42130efb5bc 01-Nov-2012 Glenn Kasten <gkasten@google.com> AudioRecord comments

Change-Id: Ibec910608948d778dc655d900255a80384e9b06f
edia/AudioRecord.h
821cea93f38065592456d6644600f5ee1123fe72 02-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Add NBAIO support for more sample rates"
3d07702e3b95579370aa74d40b56c63685cbb518 02-Nov-2012 Glenn Kasten <gkasten@google.com> Merge "Add NBAIO support for more sample rates"
ad2f6dbe14e601ae69f3697bc17106f9fd7d59d6 01-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack comments

Change-Id: I08988f635c5bc6f4c35e9c4188f3d6fa557bc4c2
edia/AudioTrack.h
c5b0fa3b2f6d9ac3aa274b973c331399312adf76 01-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack comments

Change-Id: I08988f635c5bc6f4c35e9c4188f3d6fa557bc4c2
edia/AudioTrack.h
ea4d950e9d2cfbb06fde1ccb6ddada5adb0a726e 02-Nov-2012 Andreas Huber <andih@google.com> am d37ee8fb: am 96076964: Make video encoders\' bitrate mode (constant, variable, ...) configurable

* commit 'd37ee8fb36c972bf8d07868700a2c47358e25eb4':
Make video encoders' bitrate mode (constant, variable, ...) configurable
269019581b7bdd73f4c4e618a3a5bbc541058e72 02-Nov-2012 Andreas Huber <andih@google.com> am d37ee8fb: am 96076964: Make video encoders\' bitrate mode (constant, variable, ...) configurable

* commit 'd37ee8fb36c972bf8d07868700a2c47358e25eb4':
Make video encoders' bitrate mode (constant, variable, ...) configurable
96076964863ee6887f0bed9d0f11f424b48ab9b9 01-Nov-2012 Andreas Huber <andih@google.com> Make video encoders' bitrate mode (constant, variable, ...) configurable

through the desired output format. Configure the video encoder to use
constant bitrate mode for WFD.

Change-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333
related-to-bug: 7459597
edia/stagefright/ACodec.h
7b4262221c06951e9df75d5414c0a7daab365177 01-Nov-2012 Andreas Huber <andih@google.com> Make video encoders' bitrate mode (constant, variable, ...) configurable

through the desired output format. Configure the video encoder to use
constant bitrate mode for WFD.

Change-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333
related-to-bug: 7459597
edia/stagefright/ACodec.h
85ab62c4b433df3f1a9826bed1c9bec07a86c750 01-Nov-2012 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: Ib28fd7b9ce951a6933f006e7f8812ba617625530
edia/AudioSystem.h
edia/AudioTrack.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
edia/SoundPool.h
rivate/media/AudioTrackShared.h
8af901cdea0af7e536579dee6d56e69987035a01 01-Nov-2012 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: Ib28fd7b9ce951a6933f006e7f8812ba617625530
edia/AudioSystem.h
edia/AudioTrack.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
edia/SoundPool.h
rivate/media/AudioTrackShared.h
b64497eb8724c4c372fffdbf3ee30543432953c5 01-Oct-2012 Glenn Kasten <gkasten@google.com> Add NBAIO support for more sample rates

This will be used for audio capture but it is not scalable,
and we need a better approach in the long term.

Change-Id: I8b12f6b64a3fd8e8a8c425c82574260fe8ffbed6
edia/nbaio/NBAIO.h
fb6a5c31c003ee56a04098a8b4930c7178d3e62a 01-Oct-2012 Glenn Kasten <gkasten@google.com> Add NBAIO support for more sample rates

This will be used for audio capture but it is not scalable,
and we need a better approach in the long term.

Change-Id: I8b12f6b64a3fd8e8a8c425c82574260fe8ffbed6
edia/nbaio/NBAIO.h
aa1890ff61b06c0f19ae5cf60720e351f62ba600 11-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> am 0f95fadb: am 7e2c0a15: Merge "Support querying active record sources" into jb-mr1-dev

* commit '0f95fadb8a3ee402f2c51a932a06f1f685ab2d35':
Support querying active record sources
b9c24111ecc135d47d563eaa3609730b6b4ee5e0 11-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> am 0f95fadb: am 7e2c0a15: Merge "Support querying active record sources" into jb-mr1-dev

* commit '0f95fadb8a3ee402f2c51a932a06f1f685ab2d35':
Support querying active record sources
d7086030fcf731e4bcef6c033cc6418cd04e6b91 10-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Support querying active record sources

Add support for querying whether there is currently a recording
underway from the specified audio source.

Bug 7314859

Change-Id: I986b231a10ffd368b08ec2f9c7f348d28eaeb892
edia/AudioSystem.h
edia/IAudioPolicyService.h
e3f641fd9348bf7f4c07f6cc707347fccea1439c 10-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Support querying active record sources

Add support for querying whether there is currently a recording
underway from the specified audio source.

Bug 7314859

Change-Id: I986b231a10ffd368b08ec2f9c7f348d28eaeb892
edia/AudioSystem.h
edia/IAudioPolicyService.h
38e7ffeba12e6f2d9ffb1f8a79d528d9bae06cf4 03-Oct-2012 Andreas Huber <andih@google.com> am ce42b94a: am 4401091b: Merge "Better power savings with wifi display code." into jb-mr1-dev

* commit 'ce42b94ae4363c97945732fb8698675fa8b0861a':
Better power savings with wifi display code.
2d6ba111cd53722357608226dbaa4446ac988fa1 03-Oct-2012 Andreas Huber <andih@google.com> am ce42b94a: am 4401091b: Merge "Better power savings with wifi display code." into jb-mr1-dev

* commit 'ce42b94ae4363c97945732fb8698675fa8b0861a':
Better power savings with wifi display code.
575a5361fc970476cd7979638ee3ac00cc6e5024 03-Oct-2012 Andreas Huber <andih@google.com> Better power savings with wifi display code.

No more polling the encoder for work to do, the encoder instead notifies
if there's activity.

Change-Id: Ia707211b4f5c5a6e6b70d750233d204a2d6bb778
related-to-bug: 7248248
edia/stagefright/MediaCodec.h
72c6686ad04feb976ea3d2f816c784e485b55506 03-Oct-2012 Andreas Huber <andih@google.com> Better power savings with wifi display code.

No more polling the encoder for work to do, the encoder instead notifies
if there's activity.

Change-Id: Ia707211b4f5c5a6e6b70d750233d204a2d6bb778
related-to-bug: 7248248
edia/stagefright/MediaCodec.h
b74a900427c18f295c585cb647f78873618ddda2 02-Oct-2012 Andreas Huber <andih@google.com> am 4cb8a163: am 1c730d33: Merge "ALooper::GetNowUs() now relies on systemTime instead of gettimeofday." into jb-mr1-dev

* commit '4cb8a16365e2342e1ee99906d406de939023f389':
ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.
9fab80cfc06d7b68eaf825aee62c3f823a5dba32 02-Oct-2012 Andreas Huber <andih@google.com> am 4cb8a163: am 1c730d33: Merge "ALooper::GetNowUs() now relies on systemTime instead of gettimeofday." into jb-mr1-dev

* commit '4cb8a16365e2342e1ee99906d406de939023f389':
ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.
d05ed53bbfe3a4a67544d60f5349327793444842 02-Oct-2012 Andreas Huber <andih@google.com> am 5db05850: am 1a0d1670: Merge "Optionally have SurfaceMediaSource return absolute timestamps" into jb-mr1-dev

* commit '5db05850d02939e63800ae5b1fcf53a767f2e895':
Optionally have SurfaceMediaSource return absolute timestamps
136c663de16032c74754d6a935947934ba52e3a3 02-Oct-2012 Andreas Huber <andih@google.com> am 5db05850: am 1a0d1670: Merge "Optionally have SurfaceMediaSource return absolute timestamps" into jb-mr1-dev

* commit '5db05850d02939e63800ae5b1fcf53a767f2e895':
Optionally have SurfaceMediaSource return absolute timestamps
af5dd7753e62353411cf0daf3b513c38818e9662 02-Oct-2012 Andreas Huber <andih@google.com> ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.

Change-Id: Ia31eb0940b02581327a8bf51af6df135f9ab6de3
related-to-bug: 7266324
edia/stagefright/AudioSource.h
edia/stagefright/TimeSource.h
fa0e033ab5a0ab5d96e90c9f6d4d53bedc74514b 02-Oct-2012 Andreas Huber <andih@google.com> ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.

Change-Id: Ia31eb0940b02581327a8bf51af6df135f9ab6de3
related-to-bug: 7266324
edia/stagefright/AudioSource.h
edia/stagefright/TimeSource.h
0868deae404604b577892413c128d55a2bafc56e 02-Oct-2012 Andreas Huber <andih@google.com> Optionally have SurfaceMediaSource return absolute timestamps

based on systemTime().

Change-Id: I2eff15dd149a4b737d6e7473d1907cf0c80b6b38
related-to-bug: 7266706
edia/stagefright/SurfaceMediaSource.h
90689fda75c343ab9328ced63e58f45eabaa33cc 02-Oct-2012 Andreas Huber <andih@google.com> Optionally have SurfaceMediaSource return absolute timestamps

based on systemTime().

Change-Id: I2eff15dd149a4b737d6e7473d1907cf0c80b6b38
related-to-bug: 7266706
edia/stagefright/SurfaceMediaSource.h
a508d10455042d0788f388fb3bc894fda361c22b 01-Oct-2012 Andreas Huber <andih@google.com> am c57979de: am 0e1d7164: Remove double negatives from SurfaceMediaSource

* commit 'c57979deb28e8c4e4809796eebdc92820ed461e2':
Remove double negatives from SurfaceMediaSource
316f716a95bfa612e84eeaa417c38ad07fa3352d 01-Oct-2012 Andreas Huber <andih@google.com> am c57979de: am 0e1d7164: Remove double negatives from SurfaceMediaSource

* commit 'c57979deb28e8c4e4809796eebdc92820ed461e2':
Remove double negatives from SurfaceMediaSource
0e1d71641624c641a0a1abe4098943f5a42c6f94 01-Oct-2012 Andreas Huber <andih@google.com> Remove double negatives from SurfaceMediaSource

ensure mStarted actually reflects the state of SurfaceMediaSource

Change-Id: I92557896993ad8da23fe6940e997402ad63b8cbc
related-to-bug: 7258622
edia/stagefright/SurfaceMediaSource.h
a54dee4002624e0885b39451cb29028406f5bf8e 01-Oct-2012 Andreas Huber <andih@google.com> Remove double negatives from SurfaceMediaSource

ensure mStarted actually reflects the state of SurfaceMediaSource

Change-Id: I92557896993ad8da23fe6940e997402ad63b8cbc
related-to-bug: 7258622
edia/stagefright/SurfaceMediaSource.h
5e18f179858e508bcf3bd551ead3322c3ff656b9 01-Oct-2012 Glenn Kasten <gkasten@google.com> am 558301cb: am d13df246: Merge "Enable write side of MonoPipe to be shutdown" into jb-mr1-dev

* commit '558301cb1ecc3679997593905230bd3589e736a4':
Enable write side of MonoPipe to be shutdown
f8e2c9821075156651254661a7ccbe5faeec45d4 01-Oct-2012 Glenn Kasten <gkasten@google.com> am 558301cb: am d13df246: Merge "Enable write side of MonoPipe to be shutdown" into jb-mr1-dev

* commit '558301cb1ecc3679997593905230bd3589e736a4':
Enable write side of MonoPipe to be shutdown
d13df2463bd09d8c1fc5b20050d3262a4e89512d 30-Sep-2012 Glenn Kasten <gkasten@google.com> Merge "Enable write side of MonoPipe to be shutdown" into jb-mr1-dev
b5c8c18649ed651dcddbda0b160bc5decc250d26 30-Sep-2012 Glenn Kasten <gkasten@google.com> Merge "Enable write side of MonoPipe to be shutdown" into jb-mr1-dev
0517e304d0cce25653a033e3cb00172d54ba251d 28-Sep-2012 James Painter <jpainter@google.com> DO NOT MERGE: Remove experimental parameters for burst mode

Bug: 7248756
Change-Id: I3aaf2da4791b2a13e1e788b2914e4c51c529a75d
amera/CameraParameters.h
2e63d52ea03e0a9d098759cf4689691809f44ceb 28-Sep-2012 James Painter <jpainter@google.com> DO NOT MERGE: Remove experimental parameters for burst mode

Bug: 7248756
Change-Id: I3aaf2da4791b2a13e1e788b2914e4c51c529a75d
amera/CameraParameters.h
003d9f71937070791418bf7efc1f7fe1e4c6b821 28-Sep-2012 Glenn Kasten <gkasten@google.com> Enable write side of MonoPipe to be shutdown

Bug: 7253033
Change-Id: Iea8390763b59ffa7a8e2a6b77dd04ea23442698f
edia/nbaio/MonoPipe.h
9bb6e65def86afb36a03643c50456e646cdf98a8 28-Sep-2012 Glenn Kasten <gkasten@google.com> Enable write side of MonoPipe to be shutdown

Bug: 7253033
Change-Id: Iea8390763b59ffa7a8e2a6b77dd04ea23442698f
edia/nbaio/MonoPipe.h
96fc6cc65ca93009a759a3a874b82a35771b9714 28-Sep-2012 Andreas Huber <andih@google.com> Various improvements to a cleaner shutdown of the wifi display connection.

Change-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239
related-to-bug: 7247918
edia/stagefright/SurfaceMediaSource.h
a7f7e0ac9436a8417bb9f31aecedfec1909d4630 28-Sep-2012 Andreas Huber <andih@google.com> Various improvements to a cleaner shutdown of the wifi display connection.

Change-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239
related-to-bug: 7247918
edia/stagefright/SurfaceMediaSource.h
cc0f1cfb69ce8b8985fc2c0984847a06a13ad22d 24-Sep-2012 Glenn Kasten <gkasten@google.com> Implement android.media.AudioManager.getProperty()

Bug: 6635041
Change-Id: I3386a4a6c226bc4eceaf65556119e4fb15f73224
edia/AudioSystem.h
edia/IAudioFlinger.h
4c6db4ce1e2760682d1c9e66448dbb39bb5d14d8 24-Sep-2012 Glenn Kasten <gkasten@google.com> Implement android.media.AudioManager.getProperty()

Bug: 6635041
Change-Id: I3386a4a6c226bc4eceaf65556119e4fb15f73224
edia/AudioSystem.h
edia/IAudioFlinger.h
207e18540fefbaf530a4fdf506d266f34ddec84f 21-Sep-2012 Andreas Huber <andih@google.com> Remove legacy code and APIs in wifi display related code.

Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
edia/IMediaPlayerService.h
45d76bb6c8f15335f89c287dbae04cc38f79d0a8 21-Sep-2012 Andreas Huber <andih@google.com> Remove legacy code and APIs in wifi display related code.

Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
edia/IMediaPlayerService.h
efbb781c15abf8e085f5ab8d39710bd58ea0b6e4 18-Sep-2012 Andreas Huber <andih@google.com> HDCP module binderized

Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
edia/IMediaPlayerService.h
59451f8ced48874427ff1550391c4f3cd2ba2e35 18-Sep-2012 Andreas Huber <andih@google.com> HDCP module binderized

Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
edia/IMediaPlayerService.h
c92bed3a73c06e90217f8f199ca0b517aa7595d2 18-Sep-2012 Andreas Huber <andih@google.com> Now we only support a single client connection

and it cannot be initiated from the local interface address for security
reasons.
Also, there's at most one playback session active at any time, and when
it dies we shutdown the client connection altogether and signal an error
to the listener.

related-to-bug: 7139784
Change-Id: Ia8d02bc994ce9986936947ddda1f2a3dddbf5714
edia/IRemoteDisplayClient.h
c438b88ac929e4a14ebaa54aad8c827dbdab8c73 18-Sep-2012 Andreas Huber <andih@google.com> Now we only support a single client connection

and it cannot be initiated from the local interface address for security
reasons.
Also, there's at most one playback session active at any time, and when
it dies we shutdown the client connection altogether and signal an error
to the listener.

related-to-bug: 7139784
Change-Id: Ia8d02bc994ce9986936947ddda1f2a3dddbf5714
edia/IRemoteDisplayClient.h
2637cb172105939052d8a02f4eea693a90549518 14-Sep-2012 James Dong <jdong@google.com> Merge "Allow OMXCodec to specify an output color format for OMX decoder component" into jb-mr1-dev
afcb6aec27a52b87f3990691698ebe6b62e7a7bf 14-Sep-2012 James Dong <jdong@google.com> Merge "Allow OMXCodec to specify an output color format for OMX decoder component" into jb-mr1-dev
496238cc7551d414067dcbbb4fe3bd801f205f95 14-Sep-2012 Andreas Huber <andih@google.com> Support IDR requests in wifi display, MediaCodec and ACodec.

Change-Id: I596cf8dd61b63465437f78413186fad2be287244
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
03e2ffa64470eec4e886614a4fa4facbae58a862 14-Sep-2012 Andreas Huber <andih@google.com> Support IDR requests in wifi display, MediaCodec and ACodec.

Change-Id: I596cf8dd61b63465437f78413186fad2be287244
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
00f41327264fa2e59cc05abaa5c554b2a32938e1 12-Sep-2012 Andreas Huber <andih@google.com> Throttle SurfaceMediaSource.

Change-Id: I214ce60f8d94df9c07041577e34ed1ad5e199fdb
edia/stagefright/SurfaceMediaSource.h
b62f95145293bf1a39959166a4964088bb413224 12-Sep-2012 Andreas Huber <andih@google.com> Throttle SurfaceMediaSource.

Change-Id: I214ce60f8d94df9c07041577e34ed1ad5e199fdb
edia/stagefright/SurfaceMediaSource.h
8fa80e3be63ffde5ef029afa713877440856b663 08-Sep-2012 James Dong <jdong@google.com> Allow OMXCodec to specify an output color format for OMX decoder component

The output color format is specified via the meta argument in OMXCodec::Create()

o related-to-bug: 7122195

Change-Id: Id3247686b893af25cc190685201e53ad34b0399c
edia/stagefright/OMXCodec.h
2020801209f7f0f82ddd7635daf2c371b46ea6d6 08-Sep-2012 James Dong <jdong@google.com> Allow OMXCodec to specify an output color format for OMX decoder component

The output color format is specified via the meta argument in OMXCodec::Create()

o related-to-bug: 7122195

Change-Id: Id3247686b893af25cc190685201e53ad34b0399c
edia/stagefright/OMXCodec.h
c61b2aaab1846dea4b53555696739a3ba704f0ec 10-Sep-2012 Eino-Ville Talvala <etalvala@google.com> Camera: Add HDR scene mode constants.

Change-Id: I78b1f8ca3c1a03222ed363db26d9a09cf0b13528
amera/CameraParameters.h
c81284a2b77c630046ee57e6d73ac5d367e558f1 10-Sep-2012 Eino-Ville Talvala <etalvala@google.com> Camera: Add HDR scene mode constants.

Change-Id: I78b1f8ca3c1a03222ed363db26d9a09cf0b13528
amera/CameraParameters.h
e538206d15282afbc5b168d60b1026a5dfcd13c0 06-Sep-2012 James Painter <jpainter@google.com> Camera2: Add a burst mode skeleton.

Bug: 6243944
Change-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a
amera/CameraParameters.h
c3dbf1a40df85b75e5805382838a90416f69730f 06-Sep-2012 James Painter <jpainter@google.com> Camera2: Add a burst mode skeleton.

Bug: 6243944
Change-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a
amera/CameraParameters.h
2e5f22e85d177b34e790f832789d03aee438a7db 24-Aug-2012 John Grossman <johngro@google.com> Add a small hook to support gapless in AAH.

Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
edia/MediaPlayerInterface.h
5f7e55ea443c80ef8b6173efd1c2551e07309b0a 24-Aug-2012 John Grossman <johngro@google.com> Add a small hook to support gapless in AAH.

Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
edia/MediaPlayerInterface.h
49c74da132fe42dd4d2066131f8f0e2df301c1dd 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Update remote display API." into jb-mr1-dev
56cd317a35a18ba5c40b344f0a5bf436546246a1 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Update remote display API." into jb-mr1-dev
455d02eca342d8159637af317a5d83219d267812 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Update remote display API.

Renamed disconnect() to dispose() to emphasize the fact that
this method is intended to clean up the IRemoteDisplay
completely, not just temporarily disconnect the current client
(which might be useful someday).

Other minor tweaks.

Change-Id: I1209639eb0cd8af09c724206642d7e52aab48257
edia/IRemoteDisplay.h
edia/IRemoteDisplayClient.h
ced24b36bbeed1ddd086a9304a9639c04ffe0962 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Update remote display API.

Renamed disconnect() to dispose() to emphasize the fact that
this method is intended to clean up the IRemoteDisplay
completely, not just temporarily disconnect the current client
(which might be useful someday).

Other minor tweaks.

Change-Id: I1209639eb0cd8af09c724206642d7e52aab48257
edia/IRemoteDisplay.h
edia/IRemoteDisplayClient.h
9c6cb7a896f41cb8ad2f2ad63f8f6edfbb56ed4f 06-Sep-2012 Marco Nelissen <marcone@google.com> Merge "Fragmented mp4 extractor" into jb-mr1-dev
ccd07716d105125b2eb2f1280b8c3fe9f57e78f3 06-Sep-2012 Marco Nelissen <marcone@google.com> Merge "Fragmented mp4 extractor" into jb-mr1-dev
56997121c5031598fbbba7b7c53980b7fd529c2d 29-Aug-2012 Marco Nelissen <marcone@google.com> Fragmented mp4 extractor

Still experimental. Set property "media.stagefright.use-fragmp4" to true to
enable.

Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
edia/stagefright/Utils.h
1e9ee018c6fa906c99270616456c32f0bb30c9c0 29-Aug-2012 Marco Nelissen <marcone@google.com> Fragmented mp4 extractor

Still experimental. Set property "media.stagefright.use-fragmp4" to true to
enable.

Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
edia/stagefright/Utils.h
e104596061b219e9bce6d4db49a9d15242f8d2e5 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Implement remote display service stubs.

Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
edia/IMediaPlayerService.h
edia/IRemoteDisplay.h
edia/IRemoteDisplayClient.h
2013a54981d4ffb036dff279b88cc9f08c0ee1c2 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Implement remote display service stubs.

Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
edia/IMediaPlayerService.h
edia/IRemoteDisplay.h
edia/IRemoteDisplayClient.h
66e72bc85fb762876baff60ef29de729da93cf26 05-Sep-2012 Andreas Huber <andih@google.com> Configure the SurfaceMediaSource to emit the same number of buffers

as the video encoder allocates for its input. Do this before connecting
the bufferqueue through surface flinger.

Change-Id: Ibc81db1359afe2d88fdb75b23fadae65c8a6f7cc
edia/stagefright/SurfaceMediaSource.h
7f06639d375c44f260e00aa5e18cd883624b38bf 05-Sep-2012 Andreas Huber <andih@google.com> Configure the SurfaceMediaSource to emit the same number of buffers

as the video encoder allocates for its input. Do this before connecting
the bufferqueue through surface flinger.

Change-Id: Ibc81db1359afe2d88fdb75b23fadae65c8a6f7cc
edia/stagefright/SurfaceMediaSource.h
cd89e8014368af1bbdfa08406d5d2eb0bbbfcca1 31-Aug-2012 Andreas Huber <andih@google.com> Merge "Added an additional virtual method IStreamSource::flags()." into jb-mr1-dev
3e76a27a5e57435369794016494093b5b1b29513 31-Aug-2012 Andreas Huber <andih@google.com> Merge "Added an additional virtual method IStreamSource::flags()." into jb-mr1-dev
da7ff5321539ac07ec76d0d03bd1b9b09a1823bf 31-Aug-2012 Andreas Huber <andih@google.com> Added an additional virtual method IStreamSource::flags().

Change-Id: I89e62d84328e12f08c8f73cbfd53cfb42569de97
edia/IStreamSource.h
330accb419ebfb1d8b9d7dcc3b616f56f737f29a 31-Aug-2012 Andreas Huber <andih@google.com> Added an additional virtual method IStreamSource::flags().

Change-Id: I89e62d84328e12f08c8f73cbfd53cfb42569de97
edia/IStreamSource.h
c3ae93f21280859086ae371428ffd32f39e76d50 30-Jul-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816
edia/AudioTrack.h
2662ac9220c9e07cd343e78bf3a0c21ca3e4ffd1 30-Jul-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816
edia/AudioTrack.h
5dcc2c988eefba1049fe64172bc5fc7e6ee27c8b 31-Aug-2012 Andreas Huber <andih@google.com> Merge "Only run the wifi display RTSP server on demand, and only on the wifi direct" into jb-mr1-dev
a5cbecbc7f940902b966f12a1e4c74d43dc562e4 31-Aug-2012 Andreas Huber <andih@google.com> Merge "Only run the wifi display RTSP server on demand, and only on the wifi direct" into jb-mr1-dev
b9cba9b731195d4387ee21b7e9ba1137a3cfda68 31-Aug-2012 Glenn Kasten <gkasten@google.com> Merge "Move libnbaio out of AudioFlinger" into jb-mr1-dev
f351faed1f54aac8a06b6685dc77a7764d7cf543 31-Aug-2012 Glenn Kasten <gkasten@google.com> Merge "Move libnbaio out of AudioFlinger" into jb-mr1-dev
bcf09f8c995221e75c7cd328f25c7cc6d2b5f7c9 30-Aug-2012 Andreas Huber <andih@google.com> Only run the wifi display RTSP server on demand, and only on the wifi direct

interface.

Change-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7
edia/IMediaPlayerService.h
ab1bd84889273bc21efdabe5ff6f4633eb918a85 30-Aug-2012 Andreas Huber <andih@google.com> Only run the wifi display RTSP server on demand, and only on the wifi direct

interface.

Change-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7
edia/IMediaPlayerService.h
082830f92373a1b9e512dbbfb940187ffa1c2c6f 30-Aug-2012 Andreas Huber <andih@google.com> Prepare for transmitting audio through AudioSource.

AudioSource can now be configured to output buffers timestamped based
on looper time (absolute) instead of based on systemTime() relative to
start time.

Change-Id: I8eca42648eb50033ac4aafbe5daac64a98a40690
edia/stagefright/AudioSource.h
bd381af4d618a4da78de99d05d44a10c0c37207b 30-Aug-2012 Andreas Huber <andih@google.com> Prepare for transmitting audio through AudioSource.

AudioSource can now be configured to output buffers timestamped based
on looper time (absolute) instead of based on systemTime() relative to
start time.

Change-Id: I8eca42648eb50033ac4aafbe5daac64a98a40690
edia/stagefright/AudioSource.h
2dd4bdd715f586d4d30cf90cc6fc2bbfbce60fe0 29-Aug-2012 Glenn Kasten <gkasten@google.com> Move libnbaio out of AudioFlinger

libnbaio is now a separate shared library from AudioFlinger, rather
than a static library used only by AudioFlinger.

AudioBufferProvider interface is now also independent of AudioFlinger,
moved to include/media/

Change-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b
edia/AudioBufferProvider.h
edia/ExtendedAudioBufferProvider.h
edia/nbaio/AudioBufferProviderSource.h
edia/nbaio/AudioStreamInSource.h
edia/nbaio/AudioStreamOutSink.h
edia/nbaio/LibsndfileSink.h
edia/nbaio/LibsndfileSource.h
edia/nbaio/MonoPipe.h
edia/nbaio/MonoPipeReader.h
edia/nbaio/NBAIO.h
edia/nbaio/Pipe.h
edia/nbaio/PipeReader.h
edia/nbaio/SourceAudioBufferProvider.h
edia/nbaio/roundup.h
fc7992bd8220824f1404c0c54ac516d9e28b58c2 29-Aug-2012 Glenn Kasten <gkasten@google.com> Move libnbaio out of AudioFlinger

libnbaio is now a separate shared library from AudioFlinger, rather
than a static library used only by AudioFlinger.

AudioBufferProvider interface is now also independent of AudioFlinger,
moved to include/media/

Change-Id: I9bb62ffbc38d42a38b0af76e66da5e9ab1e0e21b
edia/AudioBufferProvider.h
edia/ExtendedAudioBufferProvider.h
edia/nbaio/AudioBufferProviderSource.h
edia/nbaio/AudioStreamInSource.h
edia/nbaio/AudioStreamOutSink.h
edia/nbaio/LibsndfileSink.h
edia/nbaio/LibsndfileSource.h
edia/nbaio/MonoPipe.h
edia/nbaio/MonoPipeReader.h
edia/nbaio/NBAIO.h
edia/nbaio/Pipe.h
edia/nbaio/PipeReader.h
edia/nbaio/SourceAudioBufferProvider.h
edia/nbaio/roundup.h
d8ee4e56f92eeb44ddc0997efe280b9f28ad814d 30-Aug-2012 Andreas Huber <andih@google.com> Merge "Initial checkin of support for acting as a wifi display source" into jb-mr1-dev
a2c31a786cfea83f4028c4c5ae00386ae96542e9 30-Aug-2012 Andreas Huber <andih@google.com> Merge "Initial checkin of support for acting as a wifi display source" into jb-mr1-dev
d7bee3a9d2ad76d073d91f0ee36d5ac5f9df480c 29-Aug-2012 Andreas Huber <andih@google.com> Initial checkin of support for acting as a wifi display source

Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
edia/IMediaPlayerService.h
edia/stagefright/ACodec.h
35213f1420c669f43314cb75eadea450d21a75cb 29-Aug-2012 Andreas Huber <andih@google.com> Initial checkin of support for acting as a wifi display source

Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
edia/IMediaPlayerService.h
edia/stagefright/ACodec.h
1b19c9d120869c3182373a9b06a1ed98898df882 29-Aug-2012 Andreas Huber <andih@google.com> Preliminary support for HDCP as a binder service for wifi display support.

Change-Id: Ie0de1c086c629a668d1c7863992eef56fb94157c
edia/IHDCP.h
9bd5a93ed8b4c4b3361c35dd1acdc3f1f49ede33 29-Aug-2012 Andreas Huber <andih@google.com> Preliminary support for HDCP as a binder service for wifi display support.

Change-Id: Ie0de1c086c629a668d1c7863992eef56fb94157c
edia/IHDCP.h
1c356d38527efbbee0894188c0a8f82074b0f441 27-Aug-2012 James Dong <jdong@google.com> Merge "Fixed a native crash due to unexpected state at destroy time when encoder component's source fails to start" into jb-mr1-dev
a0ead0a2d2ce1d114ad3a17d755dddce831abb40 24-Aug-2012 Jamie Gennis <jgennis@google.com> SurfaceMediaSource: a few fixes / cleanups

- Remove the setting of mStopped to true in onBuffersReleased
- Cleaned up a few function call logs
- Removed the 'reset' method.

Change-Id: I56bab1d5cb2f3e6d59d54698c2e045d796d1849f
edia/stagefright/SurfaceMediaSource.h
aa8879d381918335c9d829fc279b76d53a15a550 24-Aug-2012 James Dong <jdong@google.com> Fixed a native crash due to unexpected state at destroy time when encoder component's source fails to start

o Encoder component initializes to be in the state of EXECUTING before its source gets started, because we wanted to be able
to configure the source to use the advertised number of input buffers. However, if the source fails to start, then the encoder
ends up in the state of EXECUTING when OMXCodec object gets destroyed. As a result, the assertion on the expected state in
OMXCodec's constructor fails. The fix is to stop the video encoder component right way when its source fails to start so to
bring the state of the encoder component back to the expected state.

o related-to-bug: 7045494

Change-Id: I6d4a221eb809d7137f53e58098a04816998f7a25
edia/stagefright/OMXCodec.h
dbcb4c17f16230dfc6af908f176681c49f61b13e 24-Aug-2012 Marco Nelissen <marcone@google.com> Allow directly setting a DataSource for NuMediaExtractor

This adds NuMediaExtractor::setDataSource(const sp<DataSource> &source),
which some new code under frameworks/av will use to let applications
provide a custom data source for extractors.

Change-Id: I8fb743441d04b4eadbda3c2d76858c3d60e2a3b2
edia/stagefright/NuMediaExtractor.h
9a150640a28d3fa5507a590125a6c004681bb221 22-Aug-2012 James Dong <jdong@google.com> Merge "Let getOriginalMimeType() take a fd passed from drm java applications" into jb-mr1-dev
6a8ea471a9f3b001bd0ffa3381eba12975dfc59f 21-Aug-2012 Glenn Kasten <gkasten@google.com> Merge "Revert "Swap the order of creating IAudioTrack and thread"" into jb-mr1-dev
8ec1f2a4f3c72fe7472f8b8fa227f6b7bbc9279b 06-Aug-2012 John Grossman <johngro@google.com> Move the AAH RTP code out of framework and into vendor.

Relocate the AAH RTP code from framework/av into
vendor/google_devices/phantasm. This change is the deletion, there
will be a separate CL which re-introduces on the vendor side of
things.

Change-Id: Ibe7e6d4b633a3886b87a615691a2692f2382af6c
Signed-off-by: John Grossman <johngro@google.com>
edia/MediaPlayerInterface.h
44a7e42f0310831e6a846d1b6bb40bf3a399bf6d 22-Jun-2012 John Grossman <johngro@google.com> Add the ability to dynamicaly register MediaPlayer types.

Add the ability to dynamically register low level MediaPlayer
factories which will be probed at setDataSource time to determine the
proper MediaPlayerBase to instantiate.

This change is in preparation for moving libaah_rtp out of
frameworks/base and into phantasm platform directory.

Change-Id: Icf8904db3ab9e3c85df6e780d5546d9988cb9076
Signed-off-by: John Grossman <johngro@google.com>
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
bf5b3b29e31b293313788d7464cfb258ac0da803 31-Jul-2012 James Dong <jdong@google.com> Let getOriginalMimeType() take a fd passed from drm java applications

This patch enables the drm framework to avoid opening files directly.
As a result, the drm framework no longer needs the sdcard read permision.

o related-to-bug: 6426185

Change-Id: Ib176c35ef4b1a1a405e8e954f19a7985266f2510
rm/DrmManagerClient.h
b3e12a4d15a329821979bf287c49a9630486e23f 11-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 3ca352c4: am 24893fef: Merge "MPEG2TSWriter: Write a proper CRC in PAT and PMT"

* commit '3ca352c4cd01f6df3b691f835efc68a5771e724e':
MPEG2TSWriter: Write a proper CRC in PAT and PMT
3ca352c4cd01f6df3b691f835efc68a5771e724e 11-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 24893fef: Merge "MPEG2TSWriter: Write a proper CRC in PAT and PMT"

* commit '24893fef8e0f816a8a21749fa3eb9eed9173a0fd':
MPEG2TSWriter: Write a proper CRC in PAT and PMT
24893fef8e0f816a8a21749fa3eb9eed9173a0fd 11-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "MPEG2TSWriter: Write a proper CRC in PAT and PMT"
751fa786aa9599c694219085601f9f5ebe96a516 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 31a593b9: am 2001d2ac: Merge "MPEG2TSWriter: Write proper continuity counters for PAT and PMT"

* commit '31a593b901eeb924ae5214962c628397dd0197f2':
MPEG2TSWriter: Write proper continuity counters for PAT and PMT
31a593b901eeb924ae5214962c628397dd0197f2 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 2001d2ac: Merge "MPEG2TSWriter: Write proper continuity counters for PAT and PMT"

* commit '2001d2ac01e36c13c1abda5f73b6404cba2648e1':
MPEG2TSWriter: Write proper continuity counters for PAT and PMT
2001d2ac01e36c13c1abda5f73b6404cba2648e1 10-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "MPEG2TSWriter: Write proper continuity counters for PAT and PMT"
e983aa4ff4d80af7702888e230b9aaa93a7b7e57 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 51af4af2: am e28df5b9: Merge "Store correct time stamps in recorded mp4 files"

* commit '51af4af2414cdaaf0185b971a41fc0b4f8c0b7e4':
Store correct time stamps in recorded mp4 files
51af4af2414cdaaf0185b971a41fc0b4f8c0b7e4 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am e28df5b9: Merge "Store correct time stamps in recorded mp4 files"

* commit 'e28df5b996af3480b457c7a9908dbb9d52ad8d7c':
Store correct time stamps in recorded mp4 files
a997e7a7c5aa2fc7e95316218316f8b7b98786ba 07-Aug-2012 Glenn Kasten <gkasten@google.com> Revert "Swap the order of creating IAudioTrack and thread"

This reverts commit 5d464eb0b8cffb994a754ff108795e858a882414.
It caused the wrong thread ID -1 to be passed to IAudioFlinger::createTrack().

Change-Id: Ic221d2bb4af572d3d2d752af19238c52f6728e3a
edia/AudioTrack.h
e671207115fac3914134c61b336d5fa0242c68ca 26-Jun-2012 Andreas Huber <andih@google.com> Make sure codec names and corresponding quirks are returned together.

Previously they were returned in separate vectors and only one of them was sorted if
software codecs were preferred, leaving the quirks no longer matching the codec name
at the same index.

Change-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604
related-to-bug: 6737884
edia/stagefright/OMXCodec.h
a6ee7bc5f9524c220377e37f6525e2d46c69b75b 07-Aug-2012 James Dong <jdong@google.com> Remove obsolete hack for TI specific code

o related-to-bug: 6566886

Change-Id: I39aad214cbf7b748a95a9d22db50cd8f421931e6
edia/stagefright/OMXCodec.h
a3b71fa5235b758d5f9ea00b9c58fbfd707fb9dd 03-Aug-2012 Marco Nelissen <marcone@google.com> Merge "experimental support for fragmented mp4 playback in nuplayer" into jb-mr1-dev
840667883fd09d44015716d79bc3ac4d60edc0f0 16-Aug-2011 Andreas Huber <andih@google.com> experimental support for fragmented mp4 playback in nuplayer

cherry picked from change 170999

Change-Id: I407775f0290154ad4961134839a15c9f296424c0
edia/stagefright/foundation/hexdump.h
983cf231ab2d176a14595cdae46ff1b0c239af47 02-Aug-2012 James Dong <jdong@google.com> Dynamically configure the number of video buffers used by camera source, if supported

o related-to-bug: 6920805

Change-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6
edia/stagefright/CameraSource.h
0dff606f42292b8a31b9eee842877f9875279dab 02-Aug-2012 James Dong <jdong@google.com> Allocate buffers before calling start on its source in OMXCodec::start() for encoder case

o This makes it possible to configure the source to use the same number of input buffers
as requested by the video encoder, before the source starts. As a result, hardcoded
number of video buffers for camera source, for instance, can be avoided.

o related-to-bug: 6920805

Change-Id: I13d2c308dce34967768cd407f02988e92ef10a89
edia/stagefright/MetaData.h
c9729ca1cb1760da836e293e3ed7a82f769f3e07 24-Jul-2012 Insun Kang <insun@google.com> Unifying TimedTextDriver's resume() and start().

(cherry picked from gtv bb23a2b7e06c59f56e353fd4a2a66a9b8179d425)

Change-Id: If5f14549fa315c34e32d6fed7c1ea09deabceb63
edia/stagefright/timedtext/TimedTextDriver.h
bb6bc8491fe819f96e1902e56694715cb110ce94 10-Jul-2012 Insun Kang <insun@google.com> Adds resume() function

o Revived resume() function to fix pause/resume bug. (Bug: 6663740)
o Mannually cherry-picked from GTV change.
(commit: ad1197226d1c6745959f0e469f510ca06f99489f)

Change-Id: I77ac90085fb1f1d2e7eb706642978a4fa4d28b49
edia/stagefright/timedtext/TimedTextDriver.h
5a81ad893eada20c32596be53dabe203b99bec3c 31-Jul-2012 James Dong <jdong@google.com> Allows MediaMetadataRetriever to retrieve video rotation angle

o related-to-bug: 6872687

Change-Id: I34e74b0756f8269edefdf3a25d8806c76fd1e2f8
edia/mediametadataretriever.h
efcdf187baab9ec29e12adcf85e63fe3e6d5aa4d 08-Mar-2012 Johannes Carlsson <johannes.carlsson.x@sonymobile.com> Store correct time stamps in recorded mp4 files

According to the specification (ISO_IEC_14496-12_2008 page 17, 19 and
21) the time is "in seconds since midnight, Jan. 1, 1904, in UTC time"
which is not the same as Unix epoch time. This is already correctly
handled in MPEG4Extractor.cpp when reading files.

The specification also supports 64 bit timestamps which would make
it a bit more future proof, but unfortunately it seems like support
for this in players are poor (tested both Windows media player and
Quicktime player).

Change-Id: I102d728f098b8b0a21013956f017b0c4f2d69112
edia/stagefright/MPEG4Writer.h
5d464eb0b8cffb994a754ff108795e858a882414 23-Jun-2012 Glenn Kasten <gkasten@google.com> Swap the order of creating IAudioTrack and thread

Simplifies the error recovery in case IAudioTrack fails.

Change-Id: I6aee41a2ac747a5689fb4836b04174e6107bf32f
edia/AudioTrack.h
0ec23ce0d1ff79566c402bc30df3074f6e25a22b 10-Jul-2012 Glenn Kasten <gkasten@google.com> Clean up start() parameters

Document where int is used instead of AudioSystem::sync_event_t
(probably because of a header file dependency).
TrackBase::start() and RecordTrack::start() don't need default parameters.

Change-Id: I82f4a4d078be900f3aa4bd926697e32f5ed68ec8
edia/IAudioRecord.h
58e5aa34f01d663654d8bafad65db1dda42161ff 20-Jun-2012 Glenn Kasten <gkasten@google.com> effect_descriptor_t const correctness

Change-Id: Iad008f20d35a18acf500f773900164552fd0c19e
edia/AudioSystem.h
edia/IAudioPolicyService.h
68ea6cab354a635ea848bc2b5cf172d7a215a057 21-Jul-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Camera: Add OPAQUE pixel format to CameraParameters"
c374dae535b83d9b499dd9fe8f9dabdb8b0ac9fd 20-Jul-2012 James Dong <jdong@google.com> Added a callback to signal when the rendering of the video frame just occurred

Change-Id: Ifbd78606ffc33483aecebf02cb18e0e52af9624d
related-to-bug: 6851811
edia/mediaplayer.h
f6d9696bf1db133d16dd8981380e1bfbd2e0bc70 19-Jul-2012 Eino-Ville Talvala <etalvala@google.com> Camera: Add OPAQUE pixel format to CameraParameters

This is only used to support recording with HAL 2 in the
KEY_VIDEO_FRAME_FORMAT parameter, and is not exposed to applications.

Bug: 6243944
Change-Id: I5976a748d199ae98189bd03af5bbd9e18cbd6bf0
amera/CameraParameters.h
955e78180ac6111c54f50930b0c4c12395e86cf7 21-Feb-2012 Glenn Kasten <gkasten@google.com> AudioRecord locking

Fix race conditions for EVENT_MARKER and EVENT_NEW_POS callbacks.
Marker and new position update fields are protected by lock.

getSampleRate() doesn't need a lock because it reads from shared memory
control block.

Enforce that the parameter passed with EVENT_MARKER and EVENT_NEW_POS
cannot not be changed by the callback handler, and will not change during
the call by another thread.

Session ID should never change; log if it does.

Change-Id: Ia2c63cf1a71b10bb06c37981bd76437f83fffa91
edia/AudioRecord.h
28b76b334f92a15a2be3cc9e2f7d229a3275d1ac 04-Jul-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t for channel mask

Change-Id: I1c1896da48983aa9f1462a4b471f910498816f60
edia/AudioTrack.h
dcda3b325f465aa6ec2be11db1c56c8a5e867f33 16-Jul-2012 Glenn Kasten <gkasten@google.com> Merge "AudioRecord::stop() return void"
2bdb2f25861f3a3ac9cf3b7af561975fc9b9eead 14-Jul-2012 Edwin Wong <edwinwong@google.com> am 190313ec: am 65e8d62a: Merge "Fixed sample video corrupted in MediaCodec mode." into jb-dev

* commit '190313ec68e81c10d200ff3c20ac152cf90760d6':
Fixed sample video corrupted in MediaCodec mode.
d64cd233eef39430561c1e1df423336a199cc5d7 21-Feb-2012 Glenn Kasten <gkasten@google.com> AudioRecord::stop() return void

like AudioTrack::stop()

Change-Id: Iab62f4665151345f1ad5874c97a21d1a331f0154
edia/AudioRecord.h
190313ec68e81c10d200ff3c20ac152cf90760d6 14-Jul-2012 Edwin Wong <edwinwong@google.com> am 65e8d62a: Merge "Fixed sample video corrupted in MediaCodec mode." into jb-dev

* commit '65e8d62a5b243518795cdafa498df4a49baf6940':
Fixed sample video corrupted in MediaCodec mode.
68337edf595a0c345ba4b8adcd4f1e541a1d7eb7 12-Jul-2012 Glenn Kasten <gkasten@google.com> AudioRecord client threading cleanup

Rename ClientRecordThread to AudioRecordThread to be more similar to
AudioTrack naming.

Only create the thread once, and use resume() and pause() for start()
and stop(). This will allow us to have a known client callback thread
tid that we can pass to AudioFlinger before start().

mActive:
Made mActive a bool not int.
mActive is protected by mLock; volatile is meaningless.
Fixed a few places where mActive was accessed without a lock:
- stopped()
- processAudioBuffer()
These aren't used internally, so no need for _l() versions.

Change-Id: I4b8a5c90f3a22d3894b344564cb1c5aef4f1fda2
edia/AudioRecord.h
fa2b8f243eb048fb2b8e5a14356190f69eb31a36 11-Jul-2012 Edwin Wong <edwinwong@google.com> Fixed sample video corrupted in MediaCodec mode.

Change-Id: I50c5660072d40f6e297e58fd026ea04c89d6a70a
related-to-bug: 6732061
edia/ICrypto.h
5f0033d27b75fead593ed7ca2b86f5b6f5adf6cc 13-Jul-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead code in libmedia"
1879fff068422852c1483dcf8365c2ff0e2fadfc 12-Jul-2012 Glenn Kasten <gkasten@google.com> Add tid parameter to IAudioFlinger::openRecord

Not yet implemented

Change-Id: I35523fb15ad71727ecc9f4bb870f07e4b7397dc4
edia/IAudioFlinger.h
d4070955e28ae62aa4be1657f9d32acde104bb86 12-Jul-2012 Glenn Kasten <gkasten@google.com> Remove dead code in libmedia

Change-Id: I7d8201590cda29c9fa99662a4fdba222091febfe
edia/AudioRecord.h
edia/AudioTrack.h
edia/Visualizer.h
bf04a5d7f287fc712e0ed91849dc85c90c1e182d 12-Jul-2012 Glenn Kasten <gkasten@google.com> Simplify AudioRecord::getInputFramesLost()

This also fixes a benign race in reading mActive without a lock.

Change-Id: I19e953d4f275e5c266ca1ca3fece7b6c02ad1707
edia/AudioSystem.h
254af180475346b6186b49c297f340c9c4817511 03-Jul-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t more places

Use it in AudioSystem::getOutput(), AudioSystem::getInput(),
IAudioPolicyService::getOutput(), IAudioPolicyService::getInput(),
and various other places in AudioFlinger.

Not done: AudioTrack and OutputDescriptor.

Change-Id: I70e83455820bd8f05dafd30c63d636c6a47cd172
edia/AudioSystem.h
edia/IAudioPolicyService.h
983995747ed3adaf25035c433df1ccbaa056a898 23-Jan-2012 Paul Fariello <fariello@archos.com> MPEG2TSWriter: Write a proper CRC in PAT and PMT

Change-Id: I6ec8039b176878da6f02691194d96b0a1e894055
edia/stagefright/MPEG2TSWriter.h
d4e5af6bc0a012e8d43975ca8b5627631333920d 23-Jan-2012 Paul Fariello <fariello@archos.com> MPEG2TSWriter: Write proper continuity counters for PAT and PMT

Change-Id: If94e31e51c563867db6d2376ad771f9751416084
edia/stagefright/MPEG2TSWriter.h
dd8104cc5367262f0e5f13df4e79f131e8d560bb 02-Jul-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t more consistently

In IAudioFlinger::createTrack() and IAudioFlinger::openRecord(),
declare input parameter to use correct type audio_channel_mask_t.

In IAudioFlinger::getInputBufferSize(), input parameter is now channel mask
instead of channel count.

Remove unused IAudioFlinger::channelCount(audio_io_handle_t).

In AudioRecord::getMinFrameCount() and AudioSystem::getInputBufferSize(),
input parameter is channel mask instead of channel count.

Change-Id: Ib2f1c29bea70f016b3cfce83942ba292190ac965
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioFlinger.h
0dc6d5ef45c0721c76f0e55354ff80371d795e5d 26-Jun-2012 Glenn Kasten <gkasten@google.com> Merge "AudioRecord comments"
02e84eaff54414e9f10c0f605152728a682c6874 25-Jun-2012 Glenn Kasten <gkasten@google.com> AudioRecord comments

Group the private fields according to how they are used

Change-Id: I7ce3d0939510c10f34bd91a55f6e03afc8e7d43c
edia/AudioRecord.h
20010053daabfa43fcfe781bbf004473b4c08538 22-Jun-2012 Glenn Kasten <gkasten@google.com> Remove acoustics from AudioSystem::getInput()

Change-Id: I29fb3ee5664c1f0ee0409c1bb2be087ecca637db
edia/AudioSystem.h
edia/IAudioPolicyService.h
624a7fcb377f2a40109c16de5109ae8ea1f67a69 22-Jun-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t in AudioRecord

Change-Id: I9e1b918b2635d961604a4a9d88eb1c7179a167a7
edia/AudioRecord.h
70be725da4d8aafb94d47c1962e897ecd5fdf823 22-Jun-2012 Glenn Kasten <gkasten@google.com> Remove unused AudioRecord::channels()

It was declared but never implemented or called.

Change-Id: If5846147fcbd7f6d4187971e2044dd6fd3252b42
edia/AudioRecord.h
868a6a357018e5872e064b7a13a9b891e2078962 22-Jun-2012 Glenn Kasten <gkasten@google.com> Include what you use

Change-Id: I12ef9367d05dbe069c037b1b4acd6347a8cf3ece
edia/AudioRecord.h
46ec58976b3c04a99ce6e7eda2531543bfb151c7 25-Jun-2012 Glenn Kasten <gkasten@google.com> Merge "Remove AudioRecord record_flags"
e6cb412b677966c25b424766dc6ceb2787d49caa 23-Jun-2012 Jamie Gennis <jgennis@google.com> am 33e28dd3: Merge "SurfaceMediaSource: keep refs to current buffers" into jb-dev

* commit '33e28dd3c033641f4db9d1b99c7c88d6d08c61f7':
SurfaceMediaSource: keep refs to current buffers
2cd25a9056cc150b9fd3ac9b0bca37a1334ffd47 22-Jun-2012 Jamie Gennis <jgennis@google.com> SurfaceMediaSource: keep refs to current buffers

This change fixes a bug in SurfaceMediaSource where it would not keep a
reference to all of the Gralloc buffers that the video encoder is currently
using.

Bug: 6655597
Change-Id: Ifd99976cc7ae57ed724bbf2bbcff357a39497391
edia/stagefright/SurfaceMediaSource.h
f92eec53f886f43e4374a36195be55f2a7bbcf36 07-Mar-2012 Glenn Kasten <gkasten@google.com> Remove AudioRecord record_flags

Change-Id: I021ddcc1bcb63132a4597d13e3d09db2a5f2c628
edia/AudioRecord.h
48a0bfa6f731386f2794ff36d6677d56e98fc6ea 14-Jun-2012 Glenn Kasten <gkasten@google.com> am 49dd5cf3: Merge "Log track name on obtain/releaseBuffer warnings" into jb-dev

* commit '49dd5cf3469cd755321f8ec10013ad4fcfaf723d':
Log track name on obtain/releaseBuffer warnings
0c9d26d187017f7fb028ab52a0fbc6395142faa4 31-May-2012 Glenn Kasten <gkasten@google.com> Log track name on obtain/releaseBuffer warnings

This should help diagnose problems by allowing us to correlate
the logs with the dumpsys media.audio_flinger output.

Change-Id: I8c7c592b4f87d13b0f29c66ce7a2f301a0f063c9
rivate/media/AudioTrackShared.h
ea5008d8abfdf1479b4efa266cdb7c842d168aa9 08-Jun-2012 Glenn Kasten <gkasten@google.com> am 28ed2f93: Reduce underruns in screen off, esp. with EQ

* commit '28ed2f93324988767b5658eba7c1fa781a275183':
Reduce underruns in screen off, esp. with EQ
28ed2f93324988767b5658eba7c1fa781a275183 07-Jun-2012 Glenn Kasten <gkasten@google.com> Reduce underruns in screen off, esp. with EQ

Add MonoPipe APIs to specify setpoint.
Use screen state to configure pipe setpoint.
Fix a long-standing bug where pipe sleep time was excessive,
which interacted poorly with governor and low clock frequencies.
Now it deducts the elapsed time since last write(),
which was significant when there was EQ and low clock frequency.

Bug: 6618373
Change-Id: I6f3b0072c2244aeb033ef0795ad164491a164ff5
edia/AudioParameter.h
cba7b32d8f2c47632313f54118ed3733b4b02cc8 18-Jan-2012 Kei Takahashi <KeiA.Takahashi@jp.sony.com> Add a new API on DRM Framework for streaming

In case of DRM streaming, decrypt session can start just after
receiving the header, and it doesn't need to wait for the entire
content. However, current API of DRM framework only accepts file
handle or URI. With this new API, DRM session can start
without waiting for the entire content.

Changes are made by SEMC and Sony.

Change-Id: I74375fe127df636067f1c300ea91654ba3d1aa3c
rm/DrmManagerClient.h
bc098410be55f9d96f394b3981a0c482b83859b6 22-May-2012 Andreas Huber <andih@google.com> Tell surface flinger that we want to protect output buffers from being

sent to HDMI (without HDCP) and push a few black frames on IDLE->LOADED
similar to OMXCodec's behaviour.

Change-Id: Iea6055a115151ca881220a70a31af6ade2c58cb3
related-to-bug: 6537187
edia/stagefright/ACodec.h
88ba895b5ddd8b3da364c3ceacdb698224ee746f 17-May-2012 Andreas Huber <andih@google.com> Merge "Stop extrapolating audio time from the anchor if we're paused or reached eos." into jb-dev
50a9908f987fd5a73d8a95d6fe46b530386cdc86 16-May-2012 James Dong <jdong@google.com> Merge "Speed up stsz box write in MPEG4Writer" into jb-dev
8c460498c028888c533ab442be12b6d4b669b965 15-May-2012 James Dong <jdong@google.com> Speed up stsz box write in MPEG4Writer

With this patch, the write time for 30+ minutes recording session is reduced from 10+ seconds down to around 2-3 seconds.

related-to-bug: 6435176

Change-Id: I83b705cea42d8de798e7032c770c5c7b033e267e
edia/stagefright/MPEG4Writer.h
a99a5bca365277271915cbaeea811ad87131270d 16-May-2012 Andreas Huber <andih@google.com> Stop extrapolating audio time from the anchor if we're paused or reached eos.

Change-Id: I55903ba625d9c075a9a6e7bcd5ff95d450b915b2
related-to-bug: 6479613
edia/stagefright/AudioPlayer.h
c2d6427f693f1847100c8f4b9a4aff6c1a12bb29 16-May-2012 Eino-Ville Talvala <etalvala@google.com> Move CameraParameters header to join rest of camera library.

CameraParameters was moved over to frameworks/native before
frameworks/av was created, since it is referenced by HAL
implementations. Move it to frameworks/av to keep it together with its
implementation.

Bug: 6500863
Change-Id: If1a3b7768bedeb825729c3cdd55e8fcea04b7369
amera/CameraParameters.h
2986460984580833161bdaabc7f17da1005a8961 09-May-2012 Eric Laurent <elaurent@google.com> Fix issues with synchronous record start.

- Added a timeout in case the trigger event is never fired.
- Extend AudioRecord obtainBuffer() timeout in case of
synchronous start to avoid spurious warning.
- Make sure that the event is triggered if the track is
destroyed.
- Reject event if the triggering track is in an incompatible state.

Also fix a problem when restoring a static AudioTrack after
a mediaserver crash.

Bug 6449468.

Change-Id: Ib36e11111fb88f73caa31dcb0622792737d57a4b
edia/AudioSystem.h
e4451a91a61a341014f5eff61db356156c3ecb37 15-May-2012 Andreas Huber <andih@google.com> Smoothen audio "real" time by compensating with system_time()

for the delay since the last buffer submission to the audio sink.

Change-Id: Ib1a8672f96ba8bbef07d23372f1076fbb1f0bdcc
related-to-bug: 6479613
edia/stagefright/AudioPlayer.h
7cf0de49dbdcb2da7d9bf9421f58adf442dfeaea 12-May-2012 James Dong <jdong@google.com> Merge "Remove unused VideoSourceDownSampler class" into jb-dev
3a2633008be4a92fbca6e76c057f86e220558197 11-May-2012 James Dong <jdong@google.com> Remove unused VideoSourceDownSampler class

Change-Id: I2faf5962ff4cc366c688ef5bb27f53596f08fe0a
related-to-bug: 6484217
edia/stagefright/VideoSourceDownSampler.h
eb61431af13741aa8b7e57a39f69bba5a6c190dc 11-May-2012 Andreas Huber <andih@google.com> Increase AAC software decoder's buffer count. Refactor how clients

of ACodec get notified about codec buffers and buffer ids.

Change-Id: I962f873262dae7aa7b43f5f68a6d60268282f91e
related-to-bug: 6478823
edia/stagefright/ACodec.h
af9e6a17d7038b411b61a3cb0669694058511a05 10-May-2012 Andreas Huber <andih@google.com> Merge "Properly connect/disconnect to/from the native window in MediaCodec." into jb-dev
7541ff5d83a3e77cb533841a0326a241550b95d9 10-May-2012 Andreas Huber <andih@google.com> Properly connect/disconnect to/from the native window in MediaCodec.

Change-Id: Ib5bf90a3b81fca8ff2346235bc28a2bd0bc7bfb1
related-to-bug: 6472161
edia/stagefright/MediaCodec.h
2f74ef3cdc192f817ee1121f41765f0852c1d81e 30-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> OMX IL wrapper for FLAC encoder

Add wrapper around libFLAC for FLAC encoding in OpenMAX IL.

Declare FLAC encoder in OMX component roles.

Bug 5525503

Change-Id: I19bbce41c216870669d09365693f4ea89f8bc0f7
edia/stagefright/ACodec.h
8ee516a515c70a492c395b67ce12e19e7d159804 08-May-2012 Andreas Huber <andih@google.com> Submit codec specific data automatically

if it is contained in the format passed to MediaCodec::configure.

Change-Id: I8ef6755e8389ec47b44a9c70904ea6c03a00f4f2
related-to-bug: 6364139
edia/stagefright/MediaCodec.h
9806555d3930be43e11106281dee354820ac1c88 03-May-2012 Andreas Huber <andih@google.com> Respect channel mask in ACodec and NuPlayer.

Refactor conversion from MetaData into AMessage while we're at it.

Change-Id: I5479129836ea4316e8de28cf1b472bf19e3ac4ab
related-to-bug: 6439076
edia/stagefright/ACodec.h
edia/stagefright/Utils.h
4f6eed0d1c7972a983c075bdcf03089569e13fe1 30-Apr-2012 James Dong <jdong@google.com> Impl for supporting two video scaling modes

o allows the video scaling mode to change at any time
o also remove the scaling mode logic in OMXCodec.cpp

o related-to-bug: 5454345

Change-Id: I6f1714eb0c2774591ce650d56c1e779b8afd085f
edia/mediaplayer.h
4c9cd95b27a638701be2ffa1713273ba2f624770 30-Apr-2012 Dave Burke <daveburke@google.com> Merge "Added support for HE-AAC recording" into jb-dev
8b71241ce7353731ab75322c46e090ee35014a33 27-Apr-2012 Marco Nelissen <marcone@google.com> Fix mono gapless playback for decoders that output stereo

The old AAC decoder always outputs stereo, even for mono source material, so we
need to use the number of channels of the output when calculating the number of
bytes to skip, not the number of channels in the source.
This makes OMXCodec skip the right amount of data, and prevents NuPlayer from
writing half a frame and then asserting when the AudioSink doesn't accept it.
Also move use of the SkipCutBuffer from NuPlayer to ACodec, so that it also
works when using the new Java APIs, and make SkipCutBuffer derive from RefBase.
b/774846

Change-Id: I34df9fea3e6730617eae559afaa556f4085ef0a0
edia/stagefright/ACodec.h
edia/stagefright/OMXCodec.h
edia/stagefright/SkipCutBuffer.h
f60c660f048d5f5e2458cff243c20400d73757a7 29-Apr-2012 Dave Burke <daveburke@google.com> Added support for HE-AAC recording

Fixed bug in decoder related to sample rates / channel counts
Made decoder follow Fraunhofer pattern
Log if bitrate not available
Bug: 6275957

Change-Id: I47a8e29358fa4a88ebc73fe02d46a2bfb96c64fe
edia/mediarecorder.h
9d07855aaff8a6b502a3ab058002cdd4a278b965 26-Apr-2012 Andreas Huber <andih@google.com> NuMediaExtractor API to unselect tracks and finer control over seeking.

Change-Id: I44d5a2b01d34b771bb0ff48b12829e33314c2374
related-to-bug: 6276111
edia/stagefright/NuMediaExtractor.h
aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b 19-Apr-2012 Dave Burke <daveburke@google.com> Add Fraunhofer AAC encoder with AAC-ELD support.

Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
edia/mediarecorder.h
edia/stagefright/AACWriter.h
edia/stagefright/ACodec.h
edia/stagefright/MetaData.h
edia/stagefright/OMXCodec.h
e370bb62b89d2f2980f519392010ea08a24c558e 25-Apr-2012 Andreas Huber <andih@google.com> Bump up the max number of items in an AMessage, remove overly stringent

CHECK() limiting us to just audio/* or video/* tracks.

related-to-bug: 6399405
Change-Id: I9bdaf7e709665ecc22da8839c8b16c081dbf4535
edia/stagefright/foundation/AMessage.h
c1d8115e8a0bdaeb2b723d395b9a85a02c90c933 24-Apr-2012 Andreas Huber <andih@google.com> Make sure OMXCodec and ACodec both accept more than 2 channels of audio

and fill in the OMX channel mask properly.

Change-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305
edia/stagefright/OMXCodec.h
a636433cbd09c0708b85f337ef45c0cdef3bcb4d 19-Apr-2012 Glenn Kasten <gkasten@google.com> Use C APIs instead of C++ APIs for policy

The C++ APIs are going away.

Note: we use tid == 0 which is not supported yet by the C APIs,
do not submit this until that is added.

Change-Id: I0e90789e6c81c69f2544e899c52421ea5d1342be
edia/AudioRecord.h
edia/AudioTrack.h
dc7431e70b4b030b5f42d0dfc3ef244d4f583dd2 23-Apr-2012 Andreas Huber <andih@google.com> Make sure NuMediaExtractor is thread safe.

Change-Id: If261c4d87d5569a0d7cfd75afe311803a6ce0109
edia/stagefright/NuMediaExtractor.h
a08f041125c7688aa33aef1b229278641ae1c375 22-Apr-2012 Glenn Kasten <gkasten@google.com> Merge "Configure policy of mediaserver threads"
3acbd053c842e76e1a40fc8a0bf62de87eebf00f 28-Feb-2012 Glenn Kasten <gkasten@google.com> Configure policy of mediaserver threads

Change-Id: Ifd825590ba36996064a458f64453a94b84722cb0
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioRecord.h
edia/IAudioTrack.h
rivate/media/AudioTrackShared.h
3463fa2799a14631222c15245ac1ad85d19b77ca 22-Apr-2012 Eric Laurent <elaurent@google.com> Merge "Made AudioRecord a subclasss of RefBase"
a0a98ca6ec9b599af79a597cb7c5350b61a77624 21-Apr-2012 Eric Laurent <elaurent@google.com> Made AudioRecord a subclasss of RefBase

Made AudioRecord a subclass of RefBase to allow using strong
references and solve concurrency issues.

Issue 6254582.

Change-Id: Ic1f3845958f477e8b2d23d3d25bf0f666addcb3b
edia/AudioRecord.h
f853499c6a088ef8506cacbb3ccdffa87e0cec3e 21-Apr-2012 Eric Laurent <elaurent@google.com> Merge "Add support for deep audio buffers"
1948eb3ea6eee336e8cdab9b0c693f93f5f19993 14-Apr-2012 Eric Laurent <elaurent@google.com> Add support for deep audio buffers

Allow AudioSink to use deep audio buffering when the
source is audio only and its duration is more than
a certain threshold.
This helps improve battery life but implies higher
audio latency.

Change-Id: Ie79915b61c370292f05aabda9779356570e03cbb
edia/MediaPlayerInterface.h
edia/stagefright/AudioPlayer.h
a53d87c7b1428fe02f535c31dafd64cb1362fde9 20-Apr-2012 Andreas Huber <andih@google.com> Add the ability to query the amount of cached data to NuMediaExtractor.

Change-Id: I0966270a2bd36698330beaa03f47d02fc6a40c44
related-to-bug: 6364341
edia/stagefright/NuMediaExtractor.h
8d6086781c79620ce6133df7bd27f0efdee6b4e6 19-Apr-2012 Andreas Huber <andih@google.com> Merge "Allow propagation of error information and description from the CryptoPlugin to"
5b8987e7de9d04b09153f329c680d2316cdb44ec 19-Apr-2012 Andreas Huber <andih@google.com> Allow propagation of error information and description from the CryptoPlugin to

the higher layers.

Change-Id: I9f434ad55cdf575803c208bedf47b607baff2330
related-to-bug: 6365261
edia/ICrypto.h
edia/stagefright/MediaCodec.h
edia/stagefright/MediaErrors.h
eee7f9dd0d3410877dd58a14c4b80aacbeb32d72 19-Apr-2012 James Dong <jdong@google.com> Merge "Make timed text source type explicit in TimedTextDriver"
2d359a85ef5b72f1cb47df227b44fe4f3c5fbd60 19-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add support for scaling mode parameter"
08ad5efcef90e24db2863c0f85972ed05fe848a2 18-Apr-2012 Wu-cheng Li <wuchengli@google.com> Remove new camera connect API.

Applications are not resumed under the lock screen now.
This API is not needed anymore.

bug:5584464
Change-Id: I115daf6b647348617ec0fc05b626878c945b9b29
amera/Camera.h
amera/ICameraService.h
3476de62fb10e76412452ef4c6bd71936c9f7db1 16-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Add support for scaling mode parameter

Support VISUALIZER_PARAM__SCALING_MODE parameter.

Modify process() function to use new volume scaling parameter,
used to set whether captured values are maximized by current
headroom in the buffer (default existing behaviora) or left
as is and thus affected by volume.

Modify AudioEffect to allow subclasses to override the following
events: control status changed, enable status changed, command
executed.
In Visualizer class (a subclass of AudioEffect), reset the
scaling mode and capture size on the actual effect
as cached when control is regained.
This will allow the effect to be properly
configured whenever Visualizers with different scaling
modes or capture sizes are released (e.g. from java
release() method).

Change-Id: I05cb9f925a296dceca91bafa9fe294ef2b2c2bd5
edia/AudioEffect.h
edia/Visualizer.h
692ac36c4b6a09fed5113a4f45f00a041665a769 19-Apr-2012 James Dong <jdong@google.com> Make timed text source type explicit in TimedTextDriver

o related-to-bug: 5542712

Change-Id: Ifdc730e616336e8b16783e8a5766f27df62a0592
edia/stagefright/timedtext/TimedTextDriver.h
0ca3cf94c0dfc173ad7886ae162c4b67067539f6 18-Apr-2012 Eric Laurent <elaurent@google.com> rename audio policy output flags

Change-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
f69e53033f23f9f70fcdb28a3c2e650de0147459 18-Apr-2012 Andreas Huber <andih@google.com> Some refactoring and cleanup of now obsolete crypto fields.

codec commandline tool no longer supports decryption.

Change-Id: I7b10be6524631b20ac5d361d47949b00addf4a93
edia/stagefright/MetaData.h
edia/stagefright/NuMediaExtractor.h
52bef17f5953cd07b1655a3371d833f4de01caae 18-Apr-2012 James Dong <jdong@google.com> Merge "Fix for multiple audio/timed track feature implementation - part one"
eec46abb88dcc50621fd2d3f17a6b8d24fd07a19 12-Apr-2012 James Dong <jdong@google.com> Fix for multiple audio/timed track feature implementation - part one

o getTrackInfo now returns all tracks, rather than just the timed text tracks.
o the index of the track info is kept to the same as the track index if the
track is not from an external source
o correctly maps the selectTrack() and unselectTrack() calls to the right
track index

o TODO:
1) note that the selectTrack() and unselectTrack() only works for timed text
track at present; 2) the lock is timed text specific

o related-to-bug: 6110705

Change-Id: Ib1feeef2184bc992930ace0d1197b6c00a2636d7
edia/stagefright/timedtext/TimedTextDriver.h
a98db787397633155fd71b06ecaa765a7ad20cf2 16-Apr-2012 Andreas Huber <andih@google.com> Merge "Change NuMediaExtractor's API to support different kinds of data sources."
db9b87e30a2ffe71554150e33066738ab134bc3c 13-Apr-2012 James Dong <jdong@google.com> Merge "Add external timed text source using a passed file descriptor"
613c8ae1b7a2b4f43b33a72dc2fff0bc8b7d4c6f 13-Apr-2012 James Dong <jdong@google.com> Add external timed text source using a passed file descriptor

o Also fixed a minor issue where the file length should be of type off64_t rather than size_t

o related-to-bug: 5542712

Change-Id: I35fd8ceea0bc75e553b7f4a99932cf58ea560c4e
edia/stagefright/timedtext/TimedTextDriver.h
918c7652b9a38c02e26c0c46541cea82070c0e43 13-Apr-2012 Andreas Huber <andih@google.com> Change NuMediaExtractor's API to support different kinds of data sources.

Change-Id: I080aa2ce28300a72a85751509334dbdc491936c6
related-to-bug: 6276111
edia/stagefright/NuMediaExtractor.h
5892e3e173f20e01956f318ae7dce43d46c5fc1d 12-Apr-2012 Andreas Huber <andih@google.com> Add metadata keys to communicate encrypted fragments and associated info.

Change-Id: I90a27c9bbe649328b88144b161c420916673846f
related-to-bug: 6275919
edia/stagefright/MetaData.h
2d531e1b5865d61d5ca25d77d53017b1ad180efa 11-Apr-2012 Mathias Agopian <mathias@google.com> Merge "Refactored SurfaceMediaSource"
bdddc659a941afdb7f4958f582c6901c07246097 31-Mar-2012 Daniel Lam <dalam@google.com> Refactored SurfaceMediaSource

SurfaceMediaSource takes advantage of BufferQueue to avoid
duplicated code.

Change-Id: I5e60b8eca21e6c3cf728d363cd8f3786125182d1
edia/stagefright/SurfaceMediaSource.h
4b75a9c8b93a90749bc5d22912ad0d96c12f4ecf 06-Apr-2012 Andreas Huber <andih@google.com> New API to support submitting encrypted buffers to the decoder.

Change-Id: I69dd60e43078c4211c6123cf6e0ce90e676bf873
related-to-bug: 6275919
edia/stagefright/MediaCodec.h
f15cb4472aaca54c13f8250e4c7872470c4bed83 04-Apr-2012 Jeff Tinker <jtinker@google.com> Merge "frameworks/av/media portion of removing YouTube specific error codes"
a4c5a550e2a3bc237179b8684e51718e05894492 29-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: load audio hw modules.

Audio HW modules are now loaded upon request from audio policy manager
according to the configuration in audio_policy.conf.
Removed hard coded HW module loading by AudioFlinger at init time.
Added methods to IAudioFlinger and AudioPolicyInterface
to control the loading of audio HW modules.
Added methods to open an output or input stream on a specific hw module.

Change-Id: I361b294ece1a9b56b2fb39cc64259dbb73b804f4
edia/IAudioFlinger.h
1a9ed11a472493cac7f6dfcbfac2064526a493ed 21-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: add configuration file

removed outputs to stream mapping cache in audio system: the output for a
given stream type must always be queried from audio policy manager as the cache
is not always updated fast enough by audioflinger callback.

removed AudioFlinger::PlaybackThread::setStreamValid() not used anymore if
stream to output mapping is not cached.

Change-Id: Ieca720c0b292181f81247259c8a44359bc74c66b
edia/AudioSystem.h
8f883be3bd1fffd4e30bc7298c34085a4055be2b 04-Apr-2012 Jeff Tinker <jtinker@google.com> frameworks/av/media portion of removing YouTube specific error codes

Change-Id: Id0d84d3aaaf340cd5287611c9dc7cb8d11466772
related-to-bug: 5883949
edia/stagefright/MediaErrors.h
1bd139a2a68690e80398b70b27ca59550fea0e65 03-Apr-2012 Andreas Huber <andih@google.com> New Crypto services talking to the new crypto "HAL".

Change-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566
related-to-bug: 6275919
edia/ICrypto.h
edia/stagefright/MediaCodec.h
4a446bd090efb36ce06ae8966d42357fd5472715 03-Apr-2012 Andreas Huber <andih@google.com> Merge "Add a few more APIs to MediaCodecList."
69829f3bd09ee4e6be49fee8795c5df24c4da70e 30-Mar-2012 Andreas Huber <andih@google.com> Add a few more APIs to MediaCodecList.

Change-Id: I5ac193cd40c82bbcd87c1e55003b78102e8d4674
edia/stagefright/MediaCodecList.h
edia/stagefright/OMXCodec.h
2d6486f9112a6f0d23f17eaaad94bac62e16caab 02-Apr-2012 Glenn Kasten <gkasten@google.com> Merge "Update AudioParameter"
dca856f5cb849b8feab2d24f3248f25d887211ee 02-Apr-2012 Glenn Kasten <gkasten@google.com> Merge "AudioTrack client fast policy"
4110c101c3d0dd8dbc44c8d2d0edd3e2e7d6652f 29-Mar-2012 Marco Nelissen <marcone@google.com> Add gapless playback support for NuPlayer

This makes NuPlayer use a SkipCutBuffer when needed, and adds a new
AudioSink method to retrieve the number of frames written so far, so
NuPlayerRenderer can calculate how much data it can write without blocking.
Also make some more methods const.

Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
edia/MediaPlayerInterface.h
4a4a0959bca78e03e3c3f486ba17829c28314d8c 19-Mar-2012 Glenn Kasten <gkasten@google.com> AudioTrack client fast policy

Change-Id: I42ce691df3f586ac061b62237f35a263a0116f1f
edia/AudioTrack.h
edf47a8cba2d1d8985b64bf4a4fac661ba34f35a 01-Apr-2012 Glenn Kasten <gkasten@google.com> Update AudioParameter

Use definitions for AUDIO_PARAMETER_STREAM_* from <hardware/audio.h>
instead of repeating these constants.

String constants are const char * const.

Change-Id: I1c9ebe0bc9c827d719d3181aea55251c6db28ec4
edia/AudioParameter.h
40a1da57d21bbc883630e7a854a279685fe1fa61 31-Mar-2012 Eric Laurent <elaurent@google.com> Merge "implemented synchronous audio capture"
a011e35b22f95f558d81dc9c94b68b1465c4661d 30-Mar-2012 Eric Laurent <elaurent@google.com> implemented synchronous audio capture

Added the infrastructure to support the synchronization of playback and
capture actions on specific events.
The first requirement for this feature is to synchronize the audio capture
start with the full rendering of a given audio content.
The applications can further be extended to other use cases
(synchronized playback start...) by adding new synchronization events and
new synchronous control methods on player or recorders.

Also added a method to query the audio session from a ToneGenerator.

Change-Id: I51f1167290d9cafdf2fbcdf9e4785156973af44c
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioRecord.h
edia/ToneGenerator.h
df7e6ea0c755fb95a77d21010105e3a2eac69ff8 30-Mar-2012 Mathias Agopian <mathias@google.com> reduce IPCs in BufferQueue

Change-Id: I1f8c32a771a411476d225adc62d1f07c24f39a3e
edia/stagefright/SurfaceMediaSource.h
cb5b766bb0a3ed992998a5bd66de0ee1d2223b81 29-Mar-2012 Marco Nelissen <marcone@google.com> Add ABuffer support to SkipCutBuffer

Add support for ABuffer to SkipCutBuffer, and make it (re)allocate an
appropriately sized buffer when needed, rather then relying on the
caller to tell it ahead of time how big the buffers are going to be.

Change-Id: I8b5c9ba5dd2fc13ef8870b7d4fe93a1bfdc7a626
edia/stagefright/SkipCutBuffer.h
559bf2836f5da25b75bfb229fec0d20d540ee426 28-Mar-2012 James Dong <jdong@google.com> AV Android make files changes

o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc
o remove some runtime dependencies to libandroid, libandroid_runtime, etc

Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
edia/SoundPool.h
rivate/hwui/DrawGlInfo.h
5a5491c17d74bd2c80cf451c6ddbba22d5d5f08a 27-Mar-2012 Romain Guy <romainguy@google.com> Merge "Use a status_t return type for GL functors"
00a10e8eb39526df06779e0cdb6e6871752934d7 27-Mar-2012 Romain Guy <romainguy@google.com> Use a status_t return type for GL functors

WebView needs more fine-grained control over the behavior of the
framework upon execution of the display lists. The new status_t
allows WebView to requests its functor to be re-executed directly
without causing a redraw of the entire hierarchy.

Change-Id: I97a8141dc5c6eeb6805b6024cc1e76fce07d24cc
rivate/hwui/DrawGlInfo.h
15147270aa1c56503902b424f946389294875665 26-Mar-2012 Andreas Huber <andih@google.com> Merge "Provisional support for secure decryption of media streams."
ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
edia/ICrypto.h
edia/IMediaPlayerService.h
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
edia/stagefright/MetaData.h
edia/stagefright/NuMediaExtractor.h
edia/stagefright/OMXCodec.h
edia/stagefright/foundation/AString.h
131c36ef343a604e9aee10c830ebe9c55a743379 26-Mar-2012 Eric Laurent <elaurent@google.com> Merge "reorganize SoundPool and JetPlayer code."
2e66a7896c9a9da3a15fc6cff9be28b4174d8719 26-Mar-2012 Eric Laurent <elaurent@google.com> reorganize SoundPool and JetPlayer code.

Reorganize SoundPool and JetPlayer code to be ready for the
creation of libmedia_native.

Split SoundPool between libsoundpool (JNI) and libmedia(sound pool implementation).
Remove dependencies on nativehelper/jni.h from JetPlayer.

Change-Id: I130c6014173b714329929dd82c5dfb70b757a610
edia/JetPlayer.h
cc1110dc92e53e9cc0afbb043e6ef8295bd9c5d5 19-Mar-2012 Glenn Kasten <gkasten@google.com> Add TRACK_FAST for IAudioFlinger::createTrack

Currently not implemented by client or server

Change-Id: Ib11dda57db3eeb871bcc7b546e340078776875f5
edia/IAudioFlinger.h
b83d38feeeb88a8a2a6219e1fca2480b5a14fb0d 26-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "IAudioFlinger::createTrack and openRecord flags"
8f7f7ad54c698cb57a2a369cf1ae5b917853917b 24-Mar-2012 Colin Cross <ccross@android.com> remove jni.h include from IOMX.h

jni.h is not used in IOMX.h and is not available in pdk builds,
remove it.

Change-Id: I9bc8fd70f617942712d9f684c6fc927bf18be753
edia/IOMX.h
be9b24b86d2c84f2dc45bb8c8d1578b55cbd151d 24-Mar-2012 James Dong <jdong@google.com> Fixed missing return value from a method should have returned status_t

Change-Id: I83ad2735eaf8a8dfa5f8f29f30aec1311b3222de
edia/stagefright/SurfaceMediaSource.h
a411f779465504ff3e1a59c8ffa43d18385852b8 22-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Remove enforceFrameCount"
a98478bfbcc0f7fb4b164d3dce40ca96df75667d 21-Mar-2012 Marco Nelissen <marcone@google.com> Support gapless playback for mp3 and m4a

Gapless playback for appropriately tagged mp3 and m4a files.
Currently this is implemented in OMXCodec, which most players
use, but should be easy to support in other players as well by
using the SkipCutBuffer utility class.

Change-Id: I748c669adc1cfbe5ee9a7dea2fad945d48882551
edia/stagefright/OMXCodec.h
edia/stagefright/SkipCutBuffer.h
291f4d505aff81969e6666049d3cc3446f836af2 19-Mar-2012 Glenn Kasten <gkasten@google.com> Remove enforceFrameCount

It was only used to decide whether to issue a warning.
The warning was issued the first time track was created but
not at re-creation. Now it is a verbose message every time,
not a warning since it happens all the time with key clicks on A2DP.

Change-Id: I9d39f53c0a7eb84b666e55b1b76ff830cf8f37ba
edia/AudioTrack.h
2f694b3ef6af235e7ba850d57538eece9f136499 21-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Add MetaData::dumpToLog"
feba11fd788c99b0b63e0bce724730817688d82f 21-Mar-2012 Marco Nelissen <marcone@google.com> Add MetaData::dumpToLog

Utility method for dumping the content of a MetaData object to the log.

Change-Id: I2d91b991e1d9fed2215e8995a73c2b1854205074
edia/stagefright/MetaData.h
7153494670bdac8b650cb10b8b1838651e0ca418 21-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Whitespace"
6da08fc33642b832d1cde2e46815a5fd67dd0016 20-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Parse mp3 encoder padding/delay"
b636abde14f2612ea236257846b9ab15d87d4623 19-Mar-2012 Marco Nelissen <marcone@google.com> Parse mp3 encoder padding/delay

Get the mp3 encoder padding and delay from a XING frame or iTunSMPB tag.

Change-Id: Icde598c8857d7e7c187a718f478ee9799d6a1b8a
edia/stagefright/MetaData.h
ea7939a079b3600cab955760839b021326f8cfc3 14-Mar-2012 Glenn Kasten <gkasten@google.com> Whitespace

Fix indentation, and add blank lines in key places for clarity

Change-Id: I57a0a8142394f83203161aa9b8aa9276abf3ed7c
ommon_time/local_clock.h
edia/AudioTrack.h
a075db4ff9b086ac2885df77bb6da0869293df92 06-Mar-2012 Glenn Kasten <gkasten@google.com> IAudioFlinger::createTrack and openRecord flags

createTrack and openRecord don't need the "old" flags parameter,
which was either audio_policy_output_t or audio_in_acoustics_t
shifted left by 16 bits. But they do need "new" flags, which
are defined by the application use case. Initially, the only
application use case flag is timed output, but others are planned.

For output, the audio_policy_output_t flags are passed to
AudioSystem::getOutput, which returns an audio_io_handle_t, and that
handle is then passed to createTrack. So createTrack doesn't need the
old flags parameter.

For input, the audio_in_acoustics_t flags are passed to
AudioSystem::getInput, which returns an audio_io_handle_t, and that
handle is then passed to openRecord. So openRecord doesn't need the
old flags parameter.

Change-Id: I18a9870911846cca69d420c19fe6a9face2fe8c4
edia/AudioRecord.h
edia/IAudioFlinger.h
49f306f863b14f8bfc3b405ebfd3a2fb2b403c15 16-Mar-2012 Wu-cheng Li <wuchengli@google.com> Merge "Add a new camera open API that allows taking the ownership."
2f70d9f89a0461cafdbd84a3d8d65062f420d77a 15-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Move CameraParameters.h to frameworks/native."
2fd2440d0175ca3e196b01b7541a9e0d4ed9a694 24-Feb-2012 Wu-cheng Li <wuchengli@google.com> Add a new camera open API that allows taking the ownership.

The purpose is to let face unlock always get the camera
successfully. What happened was the camera applications may
have opened the camera in onResume under the lock screen.
This API lets face unlock take the camera from the camera
application. A new permission will be added, so other
applicatoins won't be able to take the camera from the face
unlock.

bug:5584464

Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
amera/Camera.h
amera/ICameraService.h
54cb278c03dc72b7a1ba1ac6f7ecb1ee6939acb6 15-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Move CameraParameters.h to frameworks/native.

CameraParameters.h is indirectly required to implement the Camera
HAL. Move it to frameworks/native.

Bug: 6171735
Change-Id: I1bf4db228333be16fc7caa3c51280a9495293011
amera/CameraParameters.h
f9d660a5e0196240add5daf0199f128d471e592c 16-Feb-2012 Insun Kang <insun@google.com> Defines MediaPlayer APIs to support multiple audio/video/timedtext
tracks.

o Newly introduced APIs are (MediaPlayer):
getTrackInfo() / addExternalSource() / enableTrack() / disableTrack().

o Timed text tracks are supported only, for now.

o TODOs:
- Define the audio/video behavior for enableTrack and disableTrack.
- Refactoring AwesomePlayer / TimedTextDriver so that all types of
track index can be managed in the correct order and be ready for
supporting audio/video tracks.
(MediaExtractor and MediaSource for text file might be necessary.)

Change-Id: Idb85e1b3f2ed49a64f377d05472dd6663ce94e07
edia/mediaplayer.h
edia/stagefright/MediaDefs.h
edia/stagefright/timedtext/TimedTextDriver.h
d191213ab0146526541913f3fed2d5aa95f58899 14-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Use correct syntax for #include <> """
b4d307481960b6b348fae4b4e8edefd003c3d36c 13-Mar-2012 Glenn Kasten <gkasten@google.com> Use correct syntax for #include <> ""

Change-Id: I943137108668ae66f8eba18dafe069a7951bcd8f
edia/JetPlayer.h
36a4d2cc7a44eb42d0d9ef5fe50b6747a7a34cab 13-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Gapless playback, step 1."
6b74d671a1321a6ecc4a40b6c87beedfecc1ec44 29-Feb-2012 Marco Nelissen <marcone@google.com> Gapless playback, step 1.

Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly
by reusing the initial AudioTrack for subsequent players.

Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
5e7616cc0e5493241211333134555d74aec89982 13-Mar-2012 James Dong <jdong@google.com> Merge "Switched to use the header files in /frameworks/native and deleted the duplicate header files in /frameworks/base"
e53b9ead781c36e96d6b6f012ddffc93a3d80f0d 13-Mar-2012 Glenn Kasten <gkasten@google.com> Whitespace and indentation

Fix indentation to be multiple of 4.
Make it easier to search:
sp< not sp < to
"switch (...)" instead of "switch(...)" (also "if" and "while")
Remove redundant blank line at start or EOF.
Remove whitespace at end of line.
Remove extra blank lines where they don't add value.

Use git diff -b or -w to verify.

Change-Id: I966b7ba852faa5474be6907fb212f5e267c2874e
edia/IAudioRecord.h
edia/IAudioTrack.h
edia/IMediaMetadataRetriever.h
edia/IMediaPlayerClient.h
edia/IMediaRecorderClient.h
edia/JetPlayer.h
edia/MediaMetadataRetrieverInterface.h
edia/MediaProfiles.h
edia/MemoryLeakTrackUtil.h
rivate/media/VideoFrame.h
6c6b4d0d2b98a7ceee8b697daaf611f8df3254fb 12-Mar-2012 James Dong <jdong@google.com> Switched to use the header files in /frameworks/native
and deleted the duplicate header files in /frameworks/base

o related-to-bug: 6044887

Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
edia/stagefright/HardwareAPI.h
edia/stagefright/MetadataBufferType.h
edia/stagefright/OMXPluginBase.h
edia/stagefright/openmax/OMX_Audio.h
edia/stagefright/openmax/OMX_Component.h
edia/stagefright/openmax/OMX_ContentPipe.h
edia/stagefright/openmax/OMX_Core.h
edia/stagefright/openmax/OMX_IVCommon.h
edia/stagefright/openmax/OMX_Image.h
edia/stagefright/openmax/OMX_Index.h
edia/stagefright/openmax/OMX_Other.h
edia/stagefright/openmax/OMX_Types.h
edia/stagefright/openmax/OMX_Video.h
2d6ef93773465cd3e66146fac35050a472c589f7 12-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Remove virtual from methods that don't need it"
18868c5db2f90309c6d11e5837822135e4a0c0fa 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use audio_policy_output_flags_t consistently

This affects:
- IAudioFlinger::openOutput
- AudioTrack::AudioTrack
- AudioTrack::set
- apps that call these

Change-Id: I26fb281bac6cb87593d17697bc9cb37a835af205
edia/AudioTrack.h
edia/IAudioFlinger.h
f2015b625cd6bea86da7401e725332c35b90e7cf 10-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Use AudioRecord::record_flags consistently"
688aac7675f18bdd7bff13334759e20bc4e6c390 09-Mar-2012 Glenn Kasten <gkasten@google.com> Remove virtual from methods that don't need it

Change-Id: I30e17e61aae25b036436c0e270313c80c43e5f06
edia/IAudioFlinger.h
679ab0b0792846a89162ce41c953819d70030112 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use AudioRecord::record_flags consistently

Change-Id: I6f369a2b99eb515603bc7d5629a07db2b96783fe
edia/AudioRecord.h
a19ffb656616feec70613ba67ddfe15a504a4e76 09-Mar-2012 Eric Laurent <elaurent@google.com> Merge "audio policy: use audio_devices_t when appropriate"
6374252107fd6539397598195ea6defd5870fafb 08-Mar-2012 Eric Laurent <elaurent@google.com> audio policy: use audio_devices_t when appropriate

Change-Id: I1b3a5879e81c789fb53d356af3d3a1ee2dca955f
edia/AudioSystem.h
edia/IAudioPolicyService.h
9f08fa0c5bd9353720feeb989a3af4610c929ca6 08-Mar-2012 Mathias Agopian <mathias@google.com> remove files that moved to frameworks/native

Change-Id: I140d291e520097b1148930f736823650e08488f7
rivate/binder/Static.h
rivate/binder/binder_module.h
rivate/gui/ComposerService.h
rivate/gui/LayerState.h
rivate/gui/SharedBufferStack.h
rivate/ui/RegionHelper.h
rivate/utils/Static.h
b81cc8c6f3eec9edb255ea99b6a6f243585b1e38 01-Mar-2012 Glenn Kasten <gkasten@google.com> IAudioFlingerClient::ioConfigChanged param2 const

The 3rd parameter (param2) to AudioFlingerClient::ioConfigChanged
is used as an input. So changed it from void * to const void *.
It is then cast to const OutputDescriptor *
or const audio_stream_type_t * depending on the event.

Change-Id: Ieec0d284f139b74b3389b5ef69c7935a8e5650ee
edia/AudioSystem.h
edia/IAudioFlingerClient.h
22f9dd98d9c4c3e0e58586cf6a6008ca6ee946e5 06-Mar-2012 Eric Laurent <elaurent@google.com> Merge "AudioTrack: relax check on minimum buffer size"
56617834920554fc68a818da17b56e0c2ad8f254 06-Mar-2012 James Dong <jdong@google.com> Merge "Remove unused code - MediaSourceSplitter"
054a5a69374efae97924c83c2ee7ec7210bf3283 06-Mar-2012 James Dong <jdong@google.com> Remove unused code - MediaSourceSplitter

Change-Id: Icf37832a1c234501ee3ff91ff13eece2242425ae
edia/stagefright/MediaSourceSplitter.h
d8d6185c978c9b27ca69e7791785e0983ed9e8b8 06-Mar-2012 Eric Laurent <elaurent@google.com> AudioTrack: relax check on minimum buffer size

Current AudioTrack implementation enforces that the requested audio
buffer size is at least corresponding the audio latency.
This requirement is too strong and leads to problems with current
stagefright and AudioSink implementations when playing over output
streams with long latency.

Ultimately, the AudioSink design should be changed to specify a minimum
buffer size in time or frames units but not in buffer count units.

Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f
edia/AudioTrack.h
eb7de4504bdb3a0182021ca6f022cccca01dbf1e 05-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add channel mask in AudioSink"
786618ffe881aceb64d65a6a2e2d76ede6e01ec0 02-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Add channel mask in AudioSink

Add support for specifying a channel mask when opening an AudioSink.
This parameter does not replace the channel count parameter in order
to not have to duplicate the logic to derive a mask from the
channel count everywhere an AudioSink is used without a known mask.

A mask of 0 (CHANNEL_MASK_USE_CHANNEL_ORDER) means a mask will
be automatically derived from the number of channels.

Update existing AudioSink implementations to use the channel mask,
and users of AudioSink to specify the mask if available, and
CHANNEL_MASK_USE_CHANNEL_ORDER otherwise.

Change-Id: Ifa9bd259874816dbc25ead2b03ea52e873cff474
edia/MediaPlayerInterface.h
edia/stagefright/MetaData.h
985ed9a1a22ec7e6e245d3fb8e93d3a23bdc539b 02-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Fix typos and line length in AudioRecord comments"
c795b64060c3af9d7961fc1371e4ccfa8ee3e450 23-Feb-2012 John Grossman <johngro@google.com> Switch the way we configure for MediaPlayer retransmission.

This is a cherry-pick of I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
with merge conflicts addressed by hand and additional changes made in
response to code review feedback.

Move in the direction of a more publishable API for configuring a
media player for retransmission. It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://). There are many
issues with this technique and it was never meant to stand the test of
time.

This CL gets rid of all that. A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target. For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player. When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.

Change-Id: I3b46c5227bbf69acb2f3cc4f93cfccad9777be98
Signed-off-by: John Grossman <johngro@google.com>
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
f08d7d0ee19c225d5b67fb49046290adfd9ab4bc 01-Mar-2012 Andreas Huber <andih@google.com> Merge "Instead of hardcoding OMX component names in our code, support"
afc16d667afa23f5aa00154ccad62f8c45cf5419 01-Mar-2012 Andreas Huber <andih@google.com> Instead of hardcoding OMX component names in our code, support

a config file instead.

Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
edia/stagefright/ACodec.h
edia/stagefright/MediaCodecList.h
edia/stagefright/OMXCodec.h
5c28615c285ec720b0777fa21139e07e48f9f621 01-Mar-2012 Eric Laurent <elaurent@google.com> Merge "renamed audio policy output flag."
3030fcefcfcfc48789612659206b957cd0489a54 01-Mar-2012 Eric Laurent <elaurent@google.com> renamed audio policy output flag.

Renamed AUDIO_POLICY_OUTPUT_FLAG_INDIRECT to AUDIO_POLICY_OUTPUT_FLAG_NONE
which is more appropriate.

Change-Id: Ia14d60397df0f2dcd9bea0186400a09da35bc104
edia/AudioSystem.h
edia/IAudioPolicyService.h
df94a547d8036619d15975873a1ff5736b0f14fe 01-Mar-2012 James Dong <jdong@google.com> Merge "Added permission check for all sensitive drm API calls"
ec539ae64d8a3eadf9115ec7ebe31e4e47788a2e 29-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "AudioRecord const methods"
5687da3359c7939dbd982de9fa2e5f19e41ae411 29-Feb-2012 Andreas Huber <andih@google.com> Merge "Separate the notion of "stop" from that of "release", i.e."
328745b130c1c59e53d68a9a3c71675d3932d34b 28-Feb-2012 James Dong <jdong@google.com> Added permission check for all sensitive drm API calls

o all drm calls using a DecryptHandle now check the permission before proceeding

Change-Id: Ic992a991357876c6e4bfbfab4f5eec1fa0634a13
rm/drm_framework_common.h
41acadea86b763f4cc6f7aeb292f943d4570ac90 29-Feb-2012 James Dong <jdong@google.com> Merge "Moves TimedTextDriver.h into include/media/stagefright/timedtext."
c95c2ddcdfc974f42408a377fbe2de51b94a8c94 29-Feb-2012 Andreas Huber <andih@google.com> Separate the notion of "stop" from that of "release", i.e.

stop - means transition back to LOADED state and keeping the component
instance allocated.

release - means we get rid of the component completely.

Change-Id: I40ad01ce70821faaad43f57999249904f9144924
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
606ee61616efdba4696ae591ad10a4be33d8c946 25-Feb-2012 Glenn Kasten <gkasten@google.com> AudioRecord const methods

Change-Id: Ifae4fd7820b650aaca2b13c8658c292db1c46c0f
edia/AudioRecord.h
df712ea86e6350f7005a02ab0e1c60c28a343ed0 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
amera/ICamera.h
rivate/gui/LayerState.h
rivate/gui/SharedBufferStack.h
rivate/surfaceflinger/LayerState.h
rivate/surfaceflinger/SharedBufferStack.h
d3393c35259588e8ad61a43d1d1aa1568e943307 26-Feb-2012 Mathias Agopian <mathias@google.com> libagl shouldn't export anything

Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
rivate/opengles/gl_context.h
3254b25e8b0f674ccc2226609e01dd86a600802e 27-Feb-2012 Insun Kang <insun@google.com> Moves TimedTextDriver.h into include/media/stagefright/timedtext.

So that other players can include TimedTextDriver.h properly.

Change-Id: I15e72bf655de8555eef6244a6c853c27a0828a1d
edia/stagefright/timedtext/TimedTextDriver.h
9eeafeb52fecf90882e9b44eeefcb7c3e16aa915 25-Feb-2012 Mathias Agopian <mathias@google.com> remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
edia/stagefright/HardwareAPI.h
rivate/ui/android_natives_priv.h
417c27304c67057779693007a7bc08e4dd80c262 24-Feb-2012 Glenn Kasten <gkasten@google.com> Fix typos and line length in AudioRecord comments

Change-Id: I85cfb9a2b9b3ade098161aa7687b4d4f7eb226ea
edia/AudioRecord.h
2d8bedd05437b6fccdbc6bf70f673ffd86744d59 21-Feb-2012 Andreas Huber <andih@google.com> Add new APIs AMessage::(set|find)Buffer to make it safer to pass

ABuffer objects through messages.

Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
edia/stagefright/foundation/AMessage.h
5778822d86b0337407514b9372562b86edfa91cd 21-Feb-2012 Andreas Huber <andih@google.com> Implementation of a java media codec interface and associated tools.

Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
edia/stagefright/ACodec.h
edia/stagefright/MediaCodec.h
edia/stagefright/MediaErrors.h
edia/stagefright/NativeWindowWrapper.h
edia/stagefright/NuMediaExtractor.h
edia/stagefright/foundation/AMessage.h
c33305c5dd4cc06e71eb0c66a7150aa6ab647c99 21-Feb-2012 James Dong <jdong@google.com> Merge "Limit the amount of audio record data in each buffer"
761defc341c5ce9019a42919c441f035f665ec0d 10-Feb-2012 John Grossman <johngro@google.com> Upintegreate AAH TX and RX players from ICS_AAH

Upintegrate the android at home TX and RX players developed in the
ICS_AAH branch.

Change-Id: I8247d3702e30d8b0e215b31a92675d8ab28dccbb
Signed-off-by: John Grossman <johngro@google.com>
edia/MediaPlayerInterface.h
4ff14bae91075eb274eb1c2975982358946e7e63 09-Feb-2012 John Grossman <johngro@google.com> Upintegrate Audio Flinger changes from ICS_AAH

Bring in changes to audio flinger made to support timed audio tracks
and HW master volume control.

Change-Id: Ide52d48809bdbed13acf35fd59b24637e35064ae
Signed-off-by: John Grossman <johngro@google.com>
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioTrack.h
951bd8d1ad9581a414e171ad8605a9515d0ad667 15-Aug-2011 Mike J. Chen <mjchen@google.com> Upintegrate the common_time service from ics-aah.

Move the common_time service developed in the ics-aah branch back into
master.

The common_time service is a small service build to synchronize an
arbitrary timeline amongst peers on a local sub-net. While running
and configured, the service will elect a master from the set of
available devices within the subnet, define a relationship between the
common_time timeline the local time timeline (provided by the local
time HAL), and then attempt to maintain synchronization between common
and local time by controlling the frequency of the local time clock
via the HAL, or by disciplining local time in the digital domain if
the local time HAL implementation does not support HW slewing.

On its own, the native common time service will do nothing until it is
configured. The CommonTimeManagementService (running out of the
system server process) is responsible for implementing policy
regarding configuration and operation of the common_time service and
will be added in a subsequent CL.

Change-Id: I71292f9b9b1797665865689c4572c9d3a0552f64
Signed-off-by: John Grossman <johngro@google.com>
ommon_time/ICommonClock.h
ommon_time/ICommonTimeConfig.h
ommon_time/cc_helper.h
ommon_time/local_clock.h
b575ddce78d266fa218006f90306158dda5c8f56 14-Feb-2012 James Dong <jdong@google.com> Limit the amount of audio record data in each buffer

o The size of each input buffer should be less than or equal to kMaxBufferSize
o related-to-bug: 5977032

Change-Id: I04343169aac3df56694aad4ba7967ec45337ad7e
edia/stagefright/AudioSource.h
d9b9b8d09e7471b0ffa21cfa9f944ef4ad300a71 14-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Update comments"
99e53b86eebb605b70dd7591b89bf61a9414ed0e 19-Jan-2012 Glenn Kasten <gkasten@google.com> Update comments

We no longer put the filename at start of file.

Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
edia/AudioSystem.h
edia/AudioTrack.h
edia/EffectsFactoryApi.h
edia/IAudioTrack.h
edia/MemoryLeakTrackUtil.h
rivate/media/AudioTrackShared.h
ed15977476a3d53103866e6d527fa3fb65d4166c 14-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead code AudioTrack::getLoop"
6dbc1359f778575d09d6da722b060a6d72c2e7c5 02-Feb-2012 Glenn Kasten <gkasten@google.com> AudioRecord and AudioTrack client tid

Inform AudioFlinger of the tid of the callback thread.

Change-Id: I670df92dd06749b057238b48ed1094b13aab720b
edia/AudioRecord.h
edia/IAudioRecord.h
edia/IAudioTrack.h
7a8b0ed6419e57dd8b41d3806893d63d3df91aab 02-Feb-2012 Jean-Michel Trivi <jmtrivi@google.com> Playback rate on MediaPlayer

Add support for modifying the playback rate of a MediaPlayer
by altering the sample rate of its AudioTrack.
The playback rate is expressed in permille, where 1000 is the
playback at normal speed.

Change-Id: I981d060ab32f7bae7a767e82c60c88ae635dceed
edia/MediaPlayerInterface.h
edia/mediaplayer.h
edia/stagefright/AudioPlayer.h
f1d5aa162c02a16b7195a43a9bcea4d592600ac4 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
edia/stagefright/MediaDebug.h
38f5d71e72f3b76c5b519614d27f051d53cd2712 08-Feb-2012 Glenn Kasten <gkasten@google.com> Remove dead code AudioTrack::getLoop

Change-Id: I868329c52f31bc20125f068500d8f892b4ec9796
edia/AudioTrack.h
7ae4a2c130ec2cb5dec69d095b810698acc543b3 08-Feb-2012 James Dong <jdong@google.com> Merge "Enable B frame support in MPEG4Writer"
72ef00de10fa95bfcb948ed88ab9b7a177ed0b48 17-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_io_handle_t consistently instead of int

Other:
- add a comment to nextUniqueId
- made ThreadBase::mId const, since it is only assigned in constructor.

Change-Id: I4e8b7bec4e45badcde6274d574b8a9aabd046837
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioFlingerClient.h
5e92a7861196ddae14638d4b7a63fc4892b7ef59 30-Jan-2012 Glenn Kasten <gkasten@google.com> Effect UUID inputs passed by pointer are const

Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
edia/AudioEffect.h
edia/EffectsFactoryApi.h
edia/IAudioFlinger.h
b61ec89bb0c701b3bd06eb658f854230681f8b39 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Don't double destruct audio_track_cblk_t"
4f9b0c54011eb8fd2ccfb393c2dcd51cd07800e0 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead mutex in AudioTrack/AudioRecord thread"
f22147e5d2982e0c461f7ce8058c2d596d518bd4 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "AudioTrack declare more methods const"
e98bbd36d67243fe987b09904956550a68af1cc7 08-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Declare more IAudioFlinger methods const"
000e18370baae60ffd9f25b509501dd8c26deabf 07-Feb-2012 James Dong <jdong@google.com> Enable B frame support in MPEG4Writer

This patch allows us to automatically detect whether ctts box is needed in MPEG4Writer.
MPEG4Writer uses ctts version 0 (non-negative offset value) store the composition time
offset on a needed basis.

Currently, the size of the ctts box is not optimized. Optimization will be addressed
in a subsequent patch.

o also changed the private method retrieveDecodingTime(bool) in OMXCodec
to getDecodingTime()

o related-to-bug: 4232183

Change-Id: Ic6dc7b25ecd258c2506ca4b9c25156e922456e51
edia/stagefright/OMXCodec.h
60c2b4ece6528d6d3f4e9e2c7e45772b65c4b87d 04-Feb-2012 James Dong <jdong@google.com> Don't call virtual function in destructor of SurfaceMediaSource

Change-Id: I3cbc2b1222335b61c814b5cdcfaefa495148b0ec
edia/stagefright/SurfaceMediaSource.h
f9289a4ca88d8f72cb0d6b3ca16fbc44ef4a2aeb 04-Feb-2012 James Dong <jdong@google.com> Merge "Don't call virtual functions in the destructor for audio and camera source classes"
1a0ae5be3d1273cba12584b33830d859510fbf82 03-Feb-2012 Glenn Kasten <gkasten@google.com> Don't double destruct audio_track_cblk_t

Fortunately audio_track_cblk_t doesn't have a destructor, but for clarity
remove the double destruction.

Also add warning not to add any virtuals to audio_track_cblk_t.

Change-Id: I70ebe1a70460c7002145b2cdf10f9f137396e6f3
rivate/media/AudioTrackShared.h
a5224f319e2ba4b51ddb4287705ccf8d4b8ecc51 04-Jan-2012 Glenn Kasten <gkasten@google.com> AudioTrack declare more methods const

Change-Id: I4999e984460893961d0d8092cff17f3cf07d7214
edia/AudioTrack.h
f587ba5b991c7cd91e4df093d0d796bd419e5d67 27-Jan-2012 Glenn Kasten <gkasten@google.com> Declare more IAudioFlinger methods const

This is just documentation, as C++ method const-ness doesn't mean anything
for a binder API. Instead, here const means "no side effects".

Change-Id: Iaa9cd2fe477db10ae9a40cac4f79f0faa9b4e5e6
edia/AudioEffect.h
edia/IAudioFlinger.h
f3623993b78669a624d9b3a703b361ed6c035ad9 04-Feb-2012 James Dong <jdong@google.com> Merge "Don't call virtual functions in destructors for the writer classes"
787bae0578fbaab6219ebf23494866b224d01438 03-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_in_acoustics_t consistently"
ff3c83e04ae459c4252b86dd4440b4e37ee92c16 03-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Use ToneGenerator::tone_type consistently"
a0d68338a88c2ddb4502f95017b546d603ef1ec7 28-Jan-2012 Glenn Kasten <gkasten@google.com> Use NULL not 0 for raw pointers

Use if (p != NULL) instead of if (ptr)

Change-Id: Iaec3413a59ccbf233c98fcd918cc7d70ac5da9fa
edia/AudioEffect.h
edia/AudioRecord.h
edia/AudioTrack.h
edia/Visualizer.h
62da7fbd60bee2dd57f503126266e9f04311d400 03-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Make AudioTrack control block volume field private"
b44c9d2bdc0d5b9cb03254022a58e017b516e9e6 03-Feb-2012 James Dong <jdong@google.com> Don't call virtual functions in the destructor for audio and camera source classes

Change-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a
edia/stagefright/AudioSource.h
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
8bcc65c753085fe3328592cceda0cf0e8f8b0a45 03-Feb-2012 James Dong <jdong@google.com> Don't call virtual functions in destructors for the writer classes

Have not found any concrete bugs related to these calls yet, but we should avoid
calling virtual functions in destructors, regardless.

Change-Id: I2d47b79d3fb2d29f418619bee83aa147d232a5d4
edia/stagefright/AACWriter.h
edia/stagefright/AMRWriter.h
edia/stagefright/MPEG2TSWriter.h
edia/stagefright/MPEG4Writer.h
457d4c01ec0e922771ef57158431f48e4d267905 02-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "More audio_stream_type_t"
0e265cf36d201a7ccc0238b5c60b50f43d1dc450 02-Feb-2012 Glenn Kasten <gkasten@google.com> Remove dead mutex in AudioTrack/AudioRecord thread

The client callback threads had mutexes called AudioTrackThread::mLock
and ClientRecordThread::mLock. These mutexes were only used by start()
and stop(), and were unused by the thread itself. But start() and
stop() already have their own protection provided by AudioTrack::mLock
and AudioRecord::mLock. So the thread mutexes can be removed.

Change-Id: I098406d381645d77fba06a15511e179a327848ef
edia/AudioRecord.h
edia/AudioTrack.h
d459b485c61bd3e7fd81c5cd3af8ada27fc3e8d3 31-Jan-2012 Andreas Huber <andih@google.com> Slighly improve the API to discover if the OMX stack is running in the local

process.

Change-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505
edia/IOMX.h
211eeaf17e5565b68447d29799dbf158a33cf4cf 20-Jan-2012 Glenn Kasten <gkasten@google.com> More audio_stream_type_t

Change-Id: I1260259efe0aa3fc1ef13de69758aaa592e1f815
edia/AudioSystem.h
3d2f877c1cb4e4ae4ddde7f57f4353de9341f11b 28-Jan-2012 Glenn Kasten <gkasten@google.com> Use ToneGenerator::tone_type consistently

Also remove defaults in startToneCommand(), they're not needed and the
default for tone type was nonsense.

Change-Id: I70fa8cee4f3dbb8c66ceb3719c8d3d2f447f05b9
edia/ToneGenerator.h
de9719b3ec71472e6bf75117152176af51d1a515 27-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_in_acoustics_t consistently

Change-Id: I0a9dd668fb2e57b1c3ece3190588194974b99062
edia/IAudioFlinger.h
fd267d7cf640225bb57f0ed1af44efc153275f6d 27-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_source_t consistently"
eba51fb3a361f67a6a64d5a16eba6084fe27d60e 23-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_source_t consistently

Was a mix of audio_source_t, uint8_t, and int.

Related fixes:
- fix comments in MediaRecorder.java
- AudioPolicyService server side was not checking source parameter at
all, so if the client wrapper was bypassed, invalid values could be
passed into audio HAL
- JNI android_media_AudioRecord_setup was checking source for positive
values, but not negative values. This test is redundant, since already
checked at Java and now checked by AudioPolicyService also, but might
as well make it correct.

Change-Id: Ie5e25d646dcd59a86d7985aa46cfcb4a1ba64a4a
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioPolicyService.h
edia/stagefright/AudioSource.h
2b1892db4a2ab47bfc09e59a4c11751aea99e4ea 26-Jan-2012 Andreas Huber <andih@google.com> The software AAC encoder is now an OMX component.

Yay.

Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
edia/stagefright/OMXCodec.h
335787fe43596f38ea2fa50b24c54d0823a3fb1d 21-Jan-2012 Glenn Kasten <gkasten@google.com> Remove AudioFlinger dependencies on client

Change-Id: Ibb591e41a3ca5d7015e2b66b98b8fef5f415fb37
edia/AudioTrack.h
83d86538c4c479a9225c75ab27938e8f05abb9c8 17-Jan-2012 Glenn Kasten <gkasten@google.com> Make AudioTrack control block volume field private

This is part of the process of abstracting the control block
to make it easier to maintain.

Change-Id: Idb8f461e68dab3bcf268159cc0781651c6fb7094
rivate/media/AudioTrackShared.h
58f30210ea540b6ce5aa6a46330cd3499483cb97 12-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_format_t consistently, continued

Was int or uint32_t.

When AudioFlinger::format can't determine the correct format,
return INVALID rather than DEFAULT.

Init mFormat to INVALID rather than DEFAULT in the constructor.
Subclass constructors will set mFormat to the correct value.

Change-Id: I9b62640aa107d24d2d27925f5563d0d7407d1b73
edia/AudioRecord.h
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
31acba114c686e7364fd8875c89e48acb32f9733 20-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead file include/media/thread_init.h"
ea3cc3bca949139e401b77f2ac0cce7ac6e76f8f 20-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Remove dead setRingerMode(mode, mask)"
03e9231e4f29a332df13d06bd90dc1fe28eb36e3 19-Jan-2012 Glenn Kasten <gkasten@google.com> Remove dead file include/media/thread_init.h

Change-Id: I98688bb7109b5f82953988935c7c33fe3c7f4ec0
edia/thread_init.h
27a0d83f53ddbfd6449ab0e3c786742a2cd135a9 19-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Fix incorrect includes of AudioTrack.h"
a3f1fa308728976fc9ca1b4f37d26e633b32b9ac 18-Jan-2012 Glenn Kasten <gkasten@google.com> Fix incorrect includes of AudioTrack.h

Remove unnecessary includes of AudioTrack.h.
Use forward declaration of class names in preference to #include when possible.

Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
edia/AudioRecord.h
0b07b8085d7b837b4dd5f09e0c8c39408f6bdbf7 18-Jan-2012 Glenn Kasten <gkasten@google.com> Remove dead setRingerMode(mode, mask)

Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
edia/AudioSystem.h
edia/IAudioPolicyService.h
c813985abd8ba61e999b3505f6a332574f87a1be 18-Jan-2012 Andreas Huber <andih@google.com> Temporarily restore AudioSystem/AudioTrack APIs with their former signatures

until we get updated prebuilts from vendor.

Change-Id: I8aae81d2513edca0ab268053a11c8c4206879e61
edia/AudioSystem.h
edia/AudioTrack.h
04eaf3e5f20d7faa956c0d672024ffb5117f4c26 18-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Track volume cleanup"
63ad6aacc6ce6b729bf25f41376cfea731a2c1eb 18-Jan-2012 Eric Laurent <elaurent@google.com> Merge "audio framework: manage stream volume per device"
b1cf75c4935001f61057989ee3cf27bbf09ecd9c 17-Jan-2012 Glenn Kasten <gkasten@google.com> Track volume cleanup

Always read and write track volumes atomically. In most places this was
already being done, but there were a couple places where the left and
right channels were read independently.

Changed constant MAX_GAIN_INT to be a uint32_t instead of a float.
It is always used as a uint32_t in comparisons and assignments.
Use MAX_GAIN_INT in more places.

Now that volume is always accessed atomically, removed the union
and alias for uint16_t volume[2], and kept only volumeLR.

Removed volatile as it's meaningless.

In AudioFlinger, clamp the track volumes read from shared memory
before applying master and stream volume.

Change-Id: If65e2b27e5bc3db5bf75540479843041b58433f0
rivate/media/AudioTrackShared.h
83844cc2f95dc279015b47fd1e18c7cb4eabe9a1 19-Nov-2011 Eric Laurent <elaurent@google.com> audio framework: manage stream volume per device

Improve volume management by keeping track of volume for each type
of device independently.
Volume for each stream (MUSIC, RINGTONE, VOICE_CALL...) is now maintained
per device.

The main changes are:
- AudioService now keeps tracks of stream volumes per device:
volume indexes are kept in a HashMap < device , index>.
active device is queried from policy manager when a volume change request
is received
initalization, mute and unmute happen on all device simultaneously
- Settings: suffixes is added to volume keys to store each device
volume independently.
- AudioSystem/AudioPolicyService/AudioPolicyInterface: added a device argument
to setStreamVolumeIndex() and getStreamVolumeIndex() to address each
device independently.
- AudioPolicyManagerBase: keep track of stream volumes for each device
and apply volume according to current device selection.

Change-Id: I61ef1c45caadca04d16363bca4140e0f81901b3f
edia/AudioSystem.h
edia/IAudioPolicyService.h
0696400a6bb9abbed62b3b9c6aa105495dc600a2 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_mode_t consistently"
a9b21c5a7c24fe14d20372263c0bf5faf3d3e348 17-Jan-2012 Glenn Kasten <gkasten@google.com> Rename Visualizer::mLock

This avoids confusion with parent class AudioEffect's mLock which is
protected.

Change-Id: I2ae0b0869fe3c606f682252973795b34477951d0
edia/Visualizer.h
613882293184e575a44bff681a3decaefe889e69 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use size_t for frame size"
0107954f72153db747a3727dc1157e9236dfed90 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_stream_type_t consistently"
05632a5fa4b88ca474294887fc92a9fcdf0e2352 03-Jan-2012 Glenn Kasten <gkasten@google.com> AudioTrack and AudioFlinger send level cleanup

Add an API to control block for getting/setting send level.
This allow us to make the mSendLevel field private.

Document the lack of barriers.

Use 0.0f to initialize floating-point values (for doc only).

Change-Id: I59f83b00adeb89eeee227e7648625d9a835be7a4
rivate/media/AudioTrackShared.h
b9980659501d0428d65d8292f3c32da69d37fbd2 11-Jan-2012 Glenn Kasten <gkasten@google.com> Use size_t for frame size

except in the control block, where we don't have room.

In AudioFlinger::ThreadBase::TrackBase::getBuffer,
read the frame size from control block only once.

Change-Id: Id6c4bccd4ed3e07d91df6bbea43bae45524f9f4e
edia/AudioRecord.h
edia/AudioTrack.h
rivate/media/AudioTrackShared.h
fff6d715a8db0daf08a50634f242c40268de3d49 13-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_stream_type_t consistently

At native level it was a mixture of audio_stream_type_t, int, uint32_t,
and uint8_t. Java is still int. Also fixed a couple of hard-coded -1
instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0
instead of AUDIO_STREAM_VOICE_CALL.

Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
edia/AudioSystem.h
edia/AudioTrack.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/ToneGenerator.h
edia/mediaplayer.h
09192653e836b21689f004bf8dee375356641181 13-Jan-2012 James Dong <jdong@google.com> Merge "Separate sniffing from session initialization"
9d2f386dd2885eaffa11fd494ae258bb09fe6397 10-Jan-2012 James Dong <jdong@google.com> Separate sniffing from session initialization

This avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened

o The change is backward compatibile in that no update is required
for existing drm plug-ins if they do not plan to provide separate
sniffer/extractor

related-to-bug: 5725548

Change-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c
rm/DrmManagerClient.h
edia/stagefright/DataSource.h
edia/stagefright/FileSource.h
edia/stagefright/MediaExtractor.h
4cc55d53d542c4f4ed645738cebb65b9e7eb6c44 12-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_format_t consistently"
f78aee70d15daf4690de7e7b4983ee68b0d1381d 04-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_mode_t consistently

It was int or uint32_t.
Also make getMode() const.

Change-Id: Ibe45aadbf413b9158e4dd17f2b3bcc6355288d37
edia/AudioSystem.h
edia/IAudioFlinger.h
edia/IAudioPolicyService.h
544096247a907bc55688e5c03d5586ba5219d82a 11-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Fix bug in JetPlayer::loadFromFile"
0132e12ded92529b1520ad62f5134fa31361c90b 11-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Declare IAudioTrack methods in binder opcode order"
0049acfc8b1c33eb90afc925dacd08a487618e17 10-Jan-2012 Glenn Kasten <gkasten@google.com> Fix bug in JetPlayer::loadFromFile

A long pathname would corrupt the heap due to incorrect use of strncpy.

Also was using hard-coded constant 256 instead of PATH_MAX.

Change-Id: Iba382bbb38624fbc41fec91449f9814f77d4ac0d
edia/JetPlayer.h
1099586bd48a8a90bb1cc4e7c279703bc7259214 03-Jan-2012 Glenn Kasten <gkasten@google.com> Declare IAudioTrack methods in binder opcode order

This makes it easier to match up the declarations.

Change-Id: I0996c20b2903b778b356dfe52b07b0ec634855dd
edia/IAudioTrack.h
e1c3962e268ffc12bfd1bd9ea84da1f135f36960 04-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_format_t consistently

Was int, uint32_t, uint16_t, and uint8_t with 2-bit bitfield.
Also replace 0 by AUDIO_FORMAT_DEFAULT and replace 1 by
AUDIO_FORMAT_PCM_16_BIT.

Change-Id: Ia8804f53f1725669e368857d5bb2044917e17975
edia/AudioTrack.h
edia/IMediaPlayerService.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
9a2aaf927e56a4b4acab23ef16b3f133a9f48a63 03-Jan-2012 Glenn Kasten <gkasten@google.com> Clean up AudioTrack::mActive and stopped()

mActive is protected by mLock; volatile is meaningless on SMP.

Fixed a couple of places where mActive was accessed without a lock:
- stopped()
- processAudioBuffer()

Added stopped_l() for cases where we already hold the lock.

Made mActive a bool not int.

Moved down a lock in setPosition that was being acquired too early.

Change-Id: I73ff368e991c0db9f9472df0b3f96fd33fcc7311
edia/AudioTrack.h
362c4e697d8e9c034e964ac7b40227e054491547 14-Dec-2011 Glenn Kasten <gkasten@google.com> Audio C++ comments

Change-Id: I84906ebb9dfcfa5b96b287d18364b407f02a30c1
edia/AudioTrack.h
edia/IAudioTrack.h
rivate/media/AudioTrackShared.h
8afbf8e07fd1d75dfa0a517267beb6c1fa818027 30-Nov-2011 Andreas Huber <andih@google.com> am 52607c53: am d12dc284: Merge "If an error occurs that prevents us from reallocating buffers during a format change" into ics-mr1

* commit '52607c5364446df6ac5b2f55cb50e146e6023a4f':
If an error occurs that prevents us from reallocating buffers during a format change
c089d02cf2bddf1bba6eaa2b2fcce149dc44633e 30-Nov-2011 Andreas Huber <andih@google.com> am 074133b2: am 351143fb: Merge "Updated (internal) API for IStreamSource to signal discontinuities" into ics-mr1

* commit '074133b260f8d12e484e93b9aa5a33a4983b7349':
Updated (internal) API for IStreamSource to signal discontinuities
5274010d068b05333e3e5544d59ca284802b1a8e 29-Nov-2011 Andreas Huber <andih@google.com> Merge "If an error occurs that prevents us from reallocating buffers during a format change" into ics-mr1
bfcc8d8ab7c56bc013bd221a29e1ecf3a6390813 29-Nov-2011 Andreas Huber <andih@google.com> Updated (internal) API for IStreamSource to signal discontinuities

Change-Id: Idd4b9d8e7cec16b3e3c91c70e75144d42be30f96
related-to-bug: 5553055
edia/IStreamSource.h
404a123bed7f180724ead17f10e037b3eb347701 18-Nov-2011 Mathias Agopian <mathias@google.com> split ComposerService out of SurfaceComposerClient.h

Change-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6
rivate/gui/ComposerService.h
c9260c15c1e7e2743039c964b8769379a3fff332 28-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "Make AudioTrack a RefBase so wrappers not needed"
d3d822204249eaca4259bdf46f6f0357b96e8e21 28-Nov-2011 Andreas Huber <andih@google.com> If an error occurs that prevents us from reallocating buffers during a format change

we need to transition to executing state anyway to be able to properly flush/shutdown
in the future.

Change-Id: Ie48bc09ea31942009ae3a5a45aabc9ffad9fb91f
related-to-bug: 5655016
edia/stagefright/ACodec.h
a7e4865306b72e8eb97ee73719c897c432c53a0c 22-Nov-2011 Andreas Huber <andih@google.com> am 31626b30: am cb6fbc89: Merge "Report a runtime error instead of asserting on malformed avc configuration data." into ics-mr1

* commit '31626b3075335f4cf579342e99436bb45870cf55':
Report a runtime error instead of asserting on malformed avc configuration data.
e933cb5ae546d023ab756391a135c170874e7901 22-Nov-2011 Andreas Huber <andih@google.com> Merge "Report a runtime error instead of asserting on malformed avc configuration data." into ics-mr1
7c56bb3ac1fb758a222a0c23805704a2789657b6 22-Nov-2011 James Dong <jdong@google.com> am d0a25456: am 02740dc4: Merge "Fix log spamming during time lapse video recording" into ics-mr1

* commit 'd0a254566f5f0be5607b4d64839a575c888c94f6':
Fix log spamming during time lapse video recording
e8e5f86e9e310b065596c8cbbca1543eb833dee1 20-Nov-2011 James Dong <jdong@google.com> Fix log spamming during time lapse video recording

Change-Id: I4fc0809203684ebb02eaf217d7abad00aefc898f

related-to-bug: 5626569
edia/stagefright/CameraSource.h
edia/stagefright/CameraSourceTimeLapse.h
71b61a960ae30df990976ca5dbe780d85a15b0d1 18-Nov-2011 Andreas Huber <andih@google.com> Report a runtime error instead of asserting on malformed avc configuration data.

Change-Id: Ibcd9c3fb5b6532eba843ed80ecdcdacaf50d8845
related-to-bug: 5641069
edia/stagefright/OMXCodec.h
528312c36a3ded860ead1a512df51663d03767ff 17-Nov-2011 Glenn Kasten <gkasten@google.com> Merge "JetPlayer uses C++ Thread not createThreadEtc"
a23856c0ad1f49a6ebcb71d3f63f329edc999a72 24-Jun-2011 Glenn Kasten <gkasten@google.com> JetPlayer uses C++ Thread not createThreadEtc

This permits leveraging future improvements to Thread.

Change-Id: I60deed8565ed54f13d9f770c76504e411b154276
edia/JetPlayer.h
879135196fd1c97deefc538c888037c56c2879a7 23-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4903178 Restore priority and cgroup on stop

On AudioTrack and AudioRecord stop or failed start, restore the priority
and cgroup of the caller to their previous values, rather than forcing
to NORMAL. Dependent on new thread APIs.

Also fixes bug where priority was set to AUDIO but cgroup not set.

Change-Id: Ib83893918fb4fdf57c6b87884b51038997a631d8
edia/AudioRecord.h
edia/AudioTrack.h
b68a91a70bc8d0d18e7404e14443d4e4020b3635 15-Nov-2011 Glenn Kasten <gkasten@google.com> Make AudioTrack a RefBase so wrappers not needed

Change-Id: I2305abe586ac41251af04a194bc818c110a1b293
edia/AudioTrack.h
9621addc73c029e77fd3d50f38a34f8f264b6e38 15-Nov-2011 Hong Teng <hongteng@google.com> Merge "Fix for issue 5309336 -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage." into ics-mr1
3a9cefebd2c5d2157aefaed01c54f151dc64a5b3 10-Nov-2011 Hong Teng <hongteng@google.com> Fix for issue 5309336
-add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.

Change-Id: I41ffbc192fcce4c7635e5b0a1f2835852e5ee509
edia/MediaProfiles.h
4948818cb91176df74c972ac27b2f392b5d148bc 09-Nov-2011 James Dong <jdong@google.com> Add support for retrieving location information in mp4/3gpp files

Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687
related-to-bug: 5560253
edia/mediametadataretriever.h
edia/stagefright/MetaData.h
936a981ba15d528a023311aa32f46446813551d9 08-Nov-2011 Andreas Huber <andih@google.com> Merge "Remove surface legacy APIs and code." into ics-mr1
09ebde724b2cd224968d1fdba4f5afd81c998c6a 01-Nov-2011 Chih-Chung Chang <chihchung@google.com> am 4b6353ea: Merge "Update camera continuous autofocus javadoc." into ics-mr0

* commit '4b6353ea0265bfed52d0637abd1b17596ce25ff0':
Update camera continuous autofocus javadoc.
2cf981a8e3dcc815e422f21ae4f09e17934906e1 01-Nov-2011 Chih-Chung Chang <chihchung@google.com> Merge "Update camera continuous autofocus javadoc." into ics-mr0
3901e5d87573447db33fb9930871a1f5266a9b2c 25-Oct-2011 Andreas Huber <andih@google.com> Remove surface legacy APIs and code.

All surfaces are now supported through surface textures.

Change-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6
edia/IMediaPlayer.h
edia/MediaPlayerInterface.h
edia/mediaplayer.h
262620399c228b3b201c2c4b39c87508d3047d74 28-Oct-2011 Jamie Gennis <jgennis@google.com> am 08479cee: Merge "Stagefright: ANW::connect in MediaPlayerService" into ics-mr0

* commit '08479ceeba56c460fb52f60a24df27776f1936c3':
Stagefright: ANW::connect in MediaPlayerService
597f405273ce21b7e67984084c428d84c3365bd9 27-Oct-2011 Wu-cheng Li <wuchengli@google.com> Update camera continuous autofocus javadoc.

Suppose applications call autoFocus in CAF picture mode. If
CAF is in the middle of scanning, the picture is very likely to
be blurry. Change focus callback to return when the scanning
finishes.

bug:5514415
Change-Id: Ibcb8f92a5263d7dbd7cce54df3617fb21c6255d4
amera/CameraParameters.h
7dae00baa6e8957be15523c46bb948bd1dde64c3 27-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: ANW::connect in MediaPlayerService

This change moves the ANativeWindow connect and disconnect logic from
MediaPlayer to MediaPlayerService::Client.

Bug: 5502654
Change-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d
edia/mediaplayer.h
71adab54edf9d0e2c89473d3be12edb6b9dc4549 26-Oct-2011 Jamie Gennis <jgennis@google.com> am b7b4eaaa: Merge "Stagefright: push blank buffers when tearing down" into ics-mr0

* commit 'b7b4eaaa05284634d50d581d924a250f1194f66d':
Stagefright: push blank buffers when tearing down
1765d6e0c962d2b89897c0278f969084f632d181 25-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: push blank buffers when tearing down

This change makes OMXCodec push RGB 565 buffers filled with black to an
ANativeWindow when tearing down after decoding to protected gralloc
buffers. This allows the OMX tear down to zero out any protected
buffers that were used without the possibility that the buffer is still
being used by SurfaceFlinger or HWComposer.

Bug: 5483222
Change-Id: I8acedd81a7bb67dfdc2fd15733e3375b6ce8d560
edia/stagefright/OMXCodec.h
1d2acaffde56ad79e6e96f228d7857863462397c 20-Oct-2011 Dave Burke <daveburke@google.com> am 23d64420: Merge "Stagefright: idle OMX after ANW errors" into ics-mr0

* commit '23d644202a44383bf008ff86f6faa3ea7e447290':
Stagefright: idle OMX after ANW errors
b1d666f5cb555d135eb69e005e88a03330bbb54c 20-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: idle OMX after ANW errors

This change fixes an issue in Stagefright where the state of an OMXCodec
object can get out of sync with the state of the OMX component. In
particular, if one of the ANativeWindow functions failed and put the
OMXCodec into the ERROR state, this would cause Stagefright to skip
doing the Executing -> Idle transition. Without this transition the
freeBuffersOnPort call would never be made, and the MediaBuffers would
end up being leaked (which would also leak the Gralloc buffers they
reference).

Bug: 5333695
Change-Id: I85ea0cf92d18e7ef6d35c7d1e2a7b4e2c9745d34
edia/IOMX.h
f337772630b0a1b48d7828647d1079ebdc22919d 13-Oct-2011 Andreas Huber <andih@google.com> Merge "Support for an MPEG2 Program Stream extractor."
bbdb412041a1e593c95c29c84d5ddbb8906787e4 12-Oct-2011 Wu-cheng Li <wuchengli@google.com> Improve camera javadoc and fix some errors.

bug:5169599
Change-Id: Ic2205770753ff462135f884fee0a888ca8ec832d
amera/CameraParameters.h
7019d2247e644470a0e8eb99b02b8b2d656fd9fb 11-Oct-2011 Eino-Ville Talvala <etalvala@google.com> Add video stabilization control to Camera parameters.

Hardware video stabilization reduces camera shake in preview
and in recorded videos. It has no effect on still image capture.

Convenience accessor methods hidden for now.

Change-Id: Ie18450bff662b2ef98b85d19719beefc180975fc
amera/CameraParameters.h
d20bf0676d6db8f12edcd2307f82409c076c7015 30-Sep-2011 Lakshman Gowda <lakshman79@ti.com> Set crop params to ANative Window during Initialization.

The native_window_set_crop() is called when port reconfig event callback comes from decoder's and
crop parameters are changed from default getconfig() OMX_IndexConfigCommonOutputCrop values.
Since the default crop params are same as port reconfig crop params, the native_window_set_crop()
is not called, hence resulting in displaying the whole frame(paddedWidth x paddedHeight).
By calling native_window_set_crop() during initilaization of output port of decoder ensures
in setting up ANative window to crop region.

Change-Id: I68926464a1f5c7e6053804615c8b9bd32ea85688
Signed-off-by: Lakshman Gowda <lakshman79@ti.com>
edia/stagefright/OMXCodec.h
2944eca607304a095ea43ba2b8f0b9de61249f9f 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
edia/stagefright/MediaDefs.h
d3523f89a867afa111bb332887bf006ec3ae93e6 16-Sep-2011 Gilles-Arnaud Bleu-Laine <gilles@ti.com> Gracefuly return on detecting wrong AAC format from corrupted files

Return BAD_VALUE error upon detection of wrongly formatted files.
The client should abort the initialization upon error detection.

The current CHECK() interrupts the configurecodec() preventing a graceful
exit.

Change-Id: Ic79313fa76a63284897df5d91635de87d06f3100
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
edia/stagefright/OMXCodec.h
729de186450f78c099637e1fce743fe531862c52 28-Sep-2011 Andreas Huber <andih@google.com> Support AMR, G.711 and vorbis audio in ACodec and friends.

Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
edia/stagefright/ACodec.h
dc9bacd838442a524585887e6ea6696836be2eda 26-Sep-2011 Andreas Huber <andih@google.com> Propagate error signalled by the source all the way to the output EOS notification.

Change-Id: I30e959a6d669f09745c59fbdebee08f869511cf7
related-to-bug: 5372901
edia/stagefright/ACodec.h
ca1d5399c5d6d23d16554be7c702fdf5232e55bd 22-Sep-2011 Wu-cheng Li <wuchengli@google.com> Update camera javadoc about AE and AWB lock.

- Autofocus does not lock AE and AWB.
- stopPreview and takePicture do not clear AE and AWB locks.

bug:5356404

Change-Id: I55d9b35f4ff746ecd2bff112c2674f1aa2543aca
amera/CameraParameters.h
669012d77b00a2aacb6fd12837f2870f9ec17865 20-Sep-2011 James Dong <jdong@google.com> Add QVGA resolution to CamcorderProfile

Change-Id: Icebbafb68d8164370f98a2c36699845d10ef081b
related-to-bug: 5145483
edia/MediaProfiles.h
5dc2812abddde309234edc786a541d251c4f820a 15-Sep-2011 James Dong <jdong@google.com> Merge "Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications"
6de6b48237423a65ec041288c90e3f78fd3fce48 14-Sep-2011 Eric Laurent <elaurent@google.com> Merge "Issue 5298399: Lost speech after a crash in gTalk."
cfe2ba6b01a258e39f9c215ffc7b750e0b68f708 14-Sep-2011 Eric Laurent <elaurent@google.com> Issue 5298399: Lost speech after a crash in gTalk.

Fixed problem in AudioTrack::restoreTrack_l() causing a permanent
failure if the IAudioTrack interface to AudioFlinger could not be
restored at the first attempt.

Change-Id: I039d4fe2dca8d3baf71f1a6c51119f27a67b6611
edia/AudioTrack.h
9a5e04438df742c297c5dbcdb60e6fd4d8f8321d 13-Sep-2011 James Dong <jdong@google.com> Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications

Change-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb
related-to-bug: 5300618
edia/stagefright/OMXCodec.h
cc54fbaa69c0b69929467449d2c19192f15b5039 12-Sep-2011 Andreas Huber <andih@google.com> Turn an another assertion into a runtime error in ACodec's implementation

Change-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd
related-to-bug: 5284760
edia/stagefright/ACodec.h
fb6f03425a791dcc4188462c860becf6ca6be4ea 08-Sep-2011 Guang Zhu <guangzhu@google.com> Make MediaScanner skip certain directories

The list of directories to skip are configurable via setprop.
The main motivation is that some test data folder takes long time
to scan, and media scanner may compete for CPU time against perf
tests therefore skewing the results.

Bug: 5263115
Change-Id: I568213e2a4babf6033021c1d336ef0347c0e3315
edia/mediascanner.h
d681bbb1767bed09415e050ba78975df214bcd68 30-Aug-2011 Dave Burke <daveburke@google.com> Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
edia/IMediaPlayer.h
edia/IMediaPlayerService.h
edia/mediaplayer.h
a8e409f8f9b40737d0b03355894b5e141d0aff6b 30-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add video snapshot camera parameter.

The API is still hidden.

bug:5187868

Change-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb
amera/CameraParameters.h
77d2e08add3ba24fdc527809408028efe3e06b6b 01-Sep-2011 Pannag Sanketi <psanketi@google.com> Merge "Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource"
ed362eccc7eabc669f9f39169e26662a7215d198 30-Aug-2011 Pannag Sanketi <psanketi@google.com> Incr. MIN_UNDEQUEUED_BUFFERS in SurfaceMediaSource

The buffers in SurfaceMediaSource were 4 earlier, whereas
we need 5 for one of the devices.

Change-Id: I87bf5e28bbb0f7c9661dc01b040baa903d95d2c2
edia/stagefright/SurfaceMediaSource.h
af6764da53c022768290e735bbcc3088bec333d8 31-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix SurfaceMediaSource timestamp handling."
c3d8f74cda26197ec9066374fe31abe9ee77c1b1 31-Aug-2011 Mathias Agopian <mathias@google.com> Merge "fix Surface positions are not floats"
8343f2c317b48f9b9827781b16a5c9fd31743826 31-Aug-2011 Mathias Agopian <mathias@google.com> fix Surface positions are not floats

Added Surface.setPosition(float, float) which allows to set a surface's
position in float.

Bug: 5239859
Change-Id: I903aef4ad5b5999142202fb8ea30fe216d805711
rivate/surfaceflinger/LayerState.h
b76e90de3c64626fe07a68469d0a59a31c8efb6b 30-Aug-2011 Eric Laurent <elaurent@google.com> Merge "226483: A2DP connected, but music out to speaker"
df4a59c61103e7e0e9332e167a0be67da5d82ff3 30-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Fix SurfaceMediaSource timestamp handling.

Was not basing timestamps on startTimeUs.
Now synchronizes properly with audio.

Bug: 4510826
Change-Id: I613db0aa91e51fc75d120e65540e742d8ab2ae43
edia/stagefright/SurfaceMediaSource.h
9f6530f53ae9eda43f4e7c1cb30d2379db00aa00 30-Aug-2011 Eric Laurent <elaurent@google.com> 226483: A2DP connected, but music out to speaker

When the A2DP headset is connected, there is a possible
race condition when the audio tracks are moved from
the mixer thread attached to the speaker output to the thread
attached to A2DP output.
As the request to clear the stream type to output mapping cache in
the client process is asynchronous, it is possible that the flag
indicating to the client audio track to re-create the IAudioTrack
on the new thread is processed before the cache is invalidated.
In this case, the track will be attached to the old thread and
music will continue playing over the device speaker instead of being
redirected to A2DP headset.

Change-Id: Ib2ce1eb5320eaff83287b93779061bf4e7a330df
edia/AudioSystem.h
6004f2dc9af4088e34cc72b1ac3c4a3c5cd4ae14 27-Aug-2011 Pannag Sanketi <psanketi@google.com> Merge "Modify enum value of OMX_COLOR_FormatAndroidOpaque"
790332a3170f967d58cee5d89cc92be8205d9aa3 27-Aug-2011 Pannag Sanketi <psanketi@google.com> Modify enum value of OMX_COLOR_FormatAndroidOpaque

The enum value chosen earlier had a conflict with one of the vendors.

Change-Id: I47832dd1157447f89324d56e8ab146260cd7927c
edia/stagefright/openmax/OMX_IVCommon.h
d2824a9a392e02a09929a34f0a3dad41ac1faacf 26-Aug-2011 Andreas Huber <andih@google.com> Merge "Support for posting messages and synchronously waiting for a response."
cd07594333cbe8b2c86c6609cce01a74d6cc33f8 26-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 4364249 Play position is 0 after flushing AudioTrack

AudioTrack::stop() is not synchronous, so a stop() followed
by flush(), which is synchronous, will not always report
a playhead position of 0 after being called.
This CL adds a flag to mark a track as flushed, and report the
correct playhead position in this state.
Bug 5217011 has been created to address the real issue in the
future, where flush could be made synchronous, to properly
address bug 4364249.

Change-Id: Icf989d41a6bcd5985bb87764c287f3edb7e26d12
edia/AudioTrack.h
5df775d2f509c76e76a46615fca83dba95299f6e 26-Aug-2011 Andreas Huber <andih@google.com> Support for posting messages and synchronously waiting for a response.

Change-Id: Id6c7a08c34fd5cb6c4632f78ece9e7898b29e52c
edia/stagefright/foundation/ALooperRoster.h
edia/stagefright/foundation/AMessage.h
0c5c7d2b119d2350c186ae9902919bcf28c3e277 19-Aug-2011 Pannag Sanketi <psanketi@google.com> Testing the GL/ CPU encoding w/ Gralloc buffers

This is the test for Gralloc buffers based encoding.
contains a combination of two main changes:

1. GL based encoding tests added to SurfaceMediaSource_test

2. SurfaceMediaSource ::read() colorformat

The SurfaceMediaSource::getformat() sets it to OMX_COLOR_FormatAndroidOpaque.
The omx encoder needs to interpret that colorformat and reads the format
from the Gralloc buffers directly

Change-Id: Iee2fe8901384109a4952e1d6c528c59eb01eb5b1
edia/stagefright/SurfaceMediaSource.h
edia/stagefright/openmax/OMX_IVCommon.h
8f74b712fbf5c24de8bc799b7129dc802747a6f4 13-Aug-2011 Rajneesh Chowdury <rajneeshc@google.com> Fix for 4142219 Don't hard code platform-specific limitations (Jni/ Java)

Also fixes 5118207 add other video codec support for video editor export.

Change-Id: If72427173bd8ff684af07ba00f4425c1deef29c6
edia/MediaProfiles.h
a17b835f5b0bf42f4855fe57aef42799f28f3915 18-Aug-2011 Wu-cheng Li <wuchengli@google.com> Merge "Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE."
ab3f1388c71aed957f94ddab976faa77ab77e67f 16-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE.

The API is still hidden.

bug:5086125
Change-Id: I69268a95ad6aae249771d3a8dfb423ffe2d87081
amera/CameraParameters.h
c92fd24c10a6bf80b346d7e261325434d9c6964b 16-Aug-2011 Andreas Huber <andih@google.com> Error handling in ACodec and Nuplayer.

Codec errors (and codec not found errors) now trigger a controlled shutdown
of playback and signal errors to the MediaPlayer client.

Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
edia/stagefright/ACodec.h
db7c079f284f6e91266f6653ae0ec198b1c5006e 10-Aug-2011 Eric Laurent <elaurent@google.com> Audio effects: track CPU and memory use separately

Before this change, CPU and memory usage for an audio effect were
registered and checked against the limit by audio policy manager
upon effect instantiation. Even if an effect was not enabled
it would prevent another effect to be created if the CPU load budget
was exceeded, which was too restrictive.

This change adds a method to register/unregister CPU load only when
an effect is enabled or disabled.
It also adds a mechanism to place all effects on the global output mix
in suspend state (disabled) when an effect is enabled on a specific session.
This will allow applications using session effects to have the priority
over others using global effects.

Also fixes some issues with suspend/restore mechanism:
- avoid taking actions when an effect is disconnected and was not enabled.
- do not remove a session from the suspended sessions list when corresponding
effect chain is destroyed.

Change-Id: I5225278aba1ae13d0d0997bfe26a0c9fb46b17d3
edia/AudioSystem.h
edia/IAudioPolicyService.h
17741baf43818ca66c2a88db6b6e252d7abfff49 10-Aug-2011 Andreas Huber <andih@google.com> Revert "Notify the OMX component that it's going to be used in "secure" mode."

This reverts commit 7616178271e95f009452a21ea45e7225997dc27a.
edia/stagefright/HardwareAPI.h
edia/stagefright/OMXCodec.h
129a94a569c927d4c8906a12f3de74ca0585d3f2 10-Aug-2011 Mathias Agopian <mathias@google.com> Merge changes Ie06e73e5,I7ac6b5b0

* changes:
free all buffers when ANativeWindow::disconnect is called
return correct value from query after connecting a surface
3a34befc6fb04a4945a849e8bda8b84e4bf973fe 02-Aug-2011 Marco Nelissen <marcone@google.com> Keep effects sessions active when the caller dies.

Don't remove effects until the session they are in goes away or all
AudioEffects have been explicitly released. This allows the control
panel process to die without stopping the effects.

Change-Id: I4496e5df080230ca1af149dec95c1309ab8ea888
edia/AudioSystem.h
edia/IAudioFlinger.h
820a509687599edb8ff1a7577de8b9295f416263 09-Aug-2011 Mathias Agopian <mathias@google.com> return correct value from query after connecting a surface

the first time a surface was connected, the values returned
by query NATIVE_WINDOW_DEFAULT_{WIDTH|HEIGHT} and
NATIVE_WINDOW_TRANSFORM_HINT were wrong until a call
to queueBuffer was performed.

Bug: 5137366, 5121607
Change-Id: I7ac6b5b0daa876638f6bed7c20f286a6e6d984f6
edia/stagefright/SurfaceMediaSource.h
a1f10e8959cd4656aedb2613e855342102e59555 09-Aug-2011 Andreas Huber <andih@google.com> Notify the OMX component that it's going to be used in "secure" mode.

Change-Id: Id87c4b295eb38f7d24045918e73df298d7b842f9
related-to-bug: 5137212
edia/stagefright/HardwareAPI.h
edia/stagefright/OMXCodec.h
f89d780df70b7fbb8465bce4913c46cca019721f 05-Aug-2011 Andreas Huber <andih@google.com> Eliminate superfluous memcpys by wrapping an ABuffer in a MediaBuffer

Change-Id: I1313f117cd7cdfaf7d6ec25413a0b4b8ea495037
related-to-bug: 5122973
edia/stagefright/MediaBuffer.h
79e2ab42c38d1099bcd7c8840caa5a85c9fcb104 02-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add camera bayer image format.

The API are hidden.

bug:5086073

Change-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc
amera/CameraParameters.h
57c86189bc07d9ccb0fd044e66df736d0bf19639 29-Jul-2011 Wu-cheng Li <wuchengli@google.com> Pass camera frame metadata from camera service to Java.

bug:4460717
Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
amera/Camera.h
amera/ICameraClient.h
40cdc56efa47580d89a93750cefecb8ccbaf9a72 02-Aug-2011 Wu-cheng Li <wuchengli@google.com> Add camera recording hint parameter.

The API is still hidden.

bug:4266229
Change-Id: I5e4c24e9e2808582aecb55ac4f1d5be3ed7e36a2
amera/CameraParameters.h
cd25fed09742235fac10953b9d4b77268c695063 25-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 4599730 Get audio channel count on MediaPlayer

Related changes:
- Fix bug in get/setParameter* to recycle Parcels when done with them.

Change-Id: Iaff05e91bbd99a14fccb79d816dd873359b6ae65
edia/mediaplayer.h
7fc25dd82dec8474139315b8e905f103c13406f5 21-Jul-2011 Wu-cheng Li <wuchengli@google.com> Add camera face detection API.

API are still hidden.

bug:4460717
Change-Id: I1a515061f141a89bd61c875257712789fb15d2d4
amera/CameraParameters.h
b283ac1ac6758aba907bfe56713d279e8aafd38b 26-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Adding Metadata mode to SurfaceMediaSource"
6e6e8a6cc9ab99ab299929fa0246e6ced64f8ce3 25-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Added APIs for audio preprocessing"
57dae99c9fcd6becd2b5ed0c53f277ba4d7dbcfc 24-Jul-2011 Eric Laurent <elaurent@google.com> Added APIs for audio preprocessing

Added APIs to control pre processes applied on captured audio.
Those APIs are still hidden until reviewed by API council.

Three types of standard pre processes are supported:
- Automatic Gain Control (AGC) by AutomaticGainControl class
- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class
- Noise Suppression (NS) by NoiseSuppressor class

A method is added to AudioEffect class to query audio pre processings
applied by default by the platform on a given AudioRecord session ID.

Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
edia/AudioEffect.h
edia/IAudioPolicyService.h
a4635b0cde4a4b7bf0f9aed6aaade60d88eb2fe6 25-Jul-2011 James Dong <jdong@google.com> Merge "Do not support still image capture mode for timelapse video recording"
be1cc822304d3a29c106ad5b6f330aed3e8c5658 24-Jul-2011 James Dong <jdong@google.com> Merge "Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens"
726e4527b7a750e688fec4c1e7c5f7b9a33d1623 24-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "QueryCodecs() signature change"
3cecf640c4daf2df616b278bd9986018c8182908 30-Jun-2011 James Dong <jdong@google.com> Do not support still image capture mode for timelapse video recording

related-to-bug: 4973779

Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
edia/IMediaRecorder.h
edia/mediarecorder.h
edia/stagefright/CameraSourceTimeLapse.h
a361483bb5dbd3bbf132c5b99b2df7d197c3fc50 14-Jul-2011 Pannag Sanketi <psanketi@google.com> Adding Metadata mode to SurfaceMediaSource

SurfaceMediaSource operates in metadata mode only, i.e. just the
metadata is stored in videobuffers. SurfaceMediaSource passes the Gralloc
buffer handle along with a 4 byte 'type' (indicating that the metadata
is of type GrallocSource) to the encoder as opposed to the
GrallocBuffer itself.

Related to bug id: 4529323

Change-Id: I83aebc0dd10f317658cdf70be5802dfc35a1e72d
edia/stagefright/MetadataBufferType.h
edia/stagefright/SurfaceMediaSource.h
77882a8deb5167235ae591e49c9dcff9abb373c1 23-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Connect MediaRecorder Native to SurfaceMediaSource"
d35924d9928f29dcee6f5666b5bbd084640c7b34 22-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> QueryCodecs() signature change

Restore QueryCodecs() signature exactly as used by third-party libs.
Add an alternative function to select HW only codecs.

Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
edia/stagefright/OMXCodec.h
29a142c7237821b6dc7bd1e8b56bb1efdc56767b 19-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add the abandon method.

This change adds the 'abandon' method to the SurfaceTexture C++ class.
This method may be used to put the SurfaceTexture in an abandoned state,
causing all ISurfaceTexture methods to fail.

Change-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95
edia/stagefright/SurfaceMediaSource.h
b33f3407bab0970a7f9241680723a1140b177c50 02-Jul-2011 Pannag Sanketi <psanketi@google.com> Connect MediaRecorder Native to SurfaceMediaSource

Making a connection from MediaRecorder Native layer to the
SurfaceMediaSource for the purpose of encoding GL Frames. This will be
called from the java side inside the Mobile Filter Framework.

The mediarecorder native layer (client), when set the videosource to
option VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver
side to create a SurfaceMediaSource object and pass it back as a
sp<ISurfaceTexture> object. Using that, the client side will dequeue and
queue buffers. Connecting the GL Frames to the obtained
sp<ISurfaceTexture> is not part of this CL.

Related to bug id: 4529323

Change-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd
edia/IMediaRecorder.h
edia/MediaRecorderBase.h
edia/mediarecorder.h
edia/stagefright/SurfaceMediaSource.h
85eafc680a0bf5e0253cf611ac525769fc9bef3e 22-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceMediaSource: remove getAllocator method

This change removes the getAllocator method from SurfaceMediaSource
because that method is no longer a part of the ISurfaceTexture
interface.

Change-Id: I0e2f0bc3bc1c8cd3c1b4b14246f07b9b4e3066c3
edia/stagefright/SurfaceMediaSource.h
fe388eedca9f46ed3fee9579258acecd93e88641 22-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Renaming SurfaceEncoder to SurfaceMediaSource"
10b7197cf9016093bdff20b6f7768543fd1c5720 22-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Adding SurfaceEncoder for encoding FilterFrames"
0683eba6b35c396c21f10e926709f2f8fc05f090 18-Jul-2011 Andreas Huber <andih@google.com> Retry datasource fetches a few times before giving up (NuCachedSource2).

Change-Id: I147fc18ef55bc89d2e2fee69b7869c45abbfdd6b
related-to-bug: 3405354
edia/stagefright/DataSource.h
1a2fafbaa36390a06cc9a066fcbe147c8c47ea77 01-Jul-2011 Pannag Sanketi <psanketi@google.com> Renaming SurfaceEncoder to SurfaceMediaSource

Related to bug id: 4529323

Change-Id: Id820d45a536bd2c65e0a59def564eb5b3ea4a71c
edia/stagefright/SurfaceEncoder.h
edia/stagefright/SurfaceMediaSource.h
3399b7267185646c69b04352211fca4fad9d7547 11-Jun-2011 Pannag Sanketi <psanketi@google.com> Adding SurfaceEncoder for encoding FilterFrames

Adding SurfaceEncoder which can be used to encode
custom frame data. In a sense, it is reverse
of what SurfaceTexture does.

SurfaceEncoder takes in frames from a native window and
passes them to an encoder, thus acting like a MediaSource.
It uses GRAlloc buffers underneath for passing data.
The client side sets the geometry, format in the beginning,
which cannot be changed while the recording is going on.

Currently, there is no common pixel format that both
GRAlloc and HAL understand.
Also, the encoder cannot encode using the data from the GRAlloc
buffers.

The SurfaceEncoder_test examines mainly the buffer passage
since true encoding cannot be done at this point.
SimpleDummyRecorder 'reads' the frames in the same thread
as the start(), whereas DummyRecorder 'reads' in a separate
thread much like the MPEG4Writer. The test with DummyRecorder
is much closer to the real encoding implementation.

Related to bug id: 4529323

Change-Id: I58ec19a150f8fe4d6195196dc44f55002b46c7c8
edia/stagefright/HardwareAPI.h
edia/stagefright/MediaSource.h
edia/stagefright/SurfaceEncoder.h
59d49c0b3b56b24c5b6d98cdfdcd75c537322f2e 20-Jul-2011 Pannag Sanketi <psanketi@google.com> Adding AndoirdOpaque Colorformat to OMX

Adding an enum to indicate an android opaque OMX
colorformat. This will inform the encoder that
the actual colorformat will be relayed by the
Frames read from the GRAlloc Buffers

Related to bug id: 4529323

Change-Id: Iddc5bd1ce8ca2b2506a57aadf5fc91ff0c7b78ef
edia/stagefright/openmax/OMX_IVCommon.h
a1d92359056176b6f6646efc918e0587e3de2b6f 21-Jul-2011 Hong Teng <hongteng@google.com> Merge "fix for issue 4142219 Don't hard code platform-specific limitations-jni/java part"
3a1f8a404b38aaa82d57c77cb83e48665e66e553 21-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Untangle MediaScanner error handling. Bug: 5056917"
0cd7889d37cc60300dceaa975dab041fd35e34fd 21-Jul-2011 Eric Laurent <elaurent@google.com> Merge "Audio framework: support for audio pre processing"
7188e55f54a43c55fd6b96454720c447f1dc454e 21-Jul-2011 Jeff Brown <jeffbrown@google.com> Untangle MediaScanner error handling.
Bug: 5056917

Change-Id: I1a7a73579e3ba4e9709459329fc1901a28b0f4b1
edia/mediascanner.h