• Home
  • History
  • Annotate
  • only in /frameworks/av/include/media/
History log of /frameworks/av/include/media/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f370264dfa5237524a3535f5242a0c68cbbb13eb 06-May-2017 Andy Hung <hunga@google.com> VolumeShaper: Fixes for updated Cts test

1) Limit number of VolumeShapers that can be created.
a) 16 system VolumeShapers
b) 16 application/client VolumeShapers
2) Return proper volume before VolumeShaper is started.
3) Consistent xOffset definition used internally:
a) this is now always the position on the volumeshaper curve
which can go backwards if in REVERSE.
b) normalized time is always forward going and is scaled
to 0.f and 1.f depending on progress relative to
the curve's duration.
4) Fix replace method.
5) Add comments.

Test: Use updated CTS VolumeShaperTest
Bug: 37536598
Change-Id: I837ab2a481adc0abbd3f1338bfe2cb79831b11fa
nterpolator.h
olumeShaper.h
549bd02a8421b0b53a1b5e8961a41cf551fce72d 02-May-2017 Colin Cross <ccross@android.com> Fix -Wextra warnings in frameworks/av/include

hardware/qcom/display includes frameworks/av/include headers
while compiling with -Wextra. Fix warnings that were hidden
by -isystem.

Bug: 31751828
Test: lunch bullhead-userdebug && m -j checkbuild
Change-Id: Ib1ee7165882ff3cc1d85c123815604079483f725
nterpolator.h
olumeShaper.h
39399b6b08b4e9fd7eae50e58e93b07216ad697f 22-Apr-2017 Andy Hung <hunga@google.com> VolumeShaper: Improve restore

Consider whether VolumeShaper has been started or not when
restoring (position). If the VolumeShaper hasn't been started
we restore in that state. If it has been started already,
we advance to the end assuming the duration has been played out.

Test: CTS and headset / kill audioserver
Bug: 37536598
Change-Id: I4b55dca6f6a859563fd20bad4c8f67d2c92321c0
olumeShaper.h
94cfe137a105ec7db047e963e18483425e0d2272 25-Apr-2017 Andy Hung <hunga@google.com> Merge "VolumeShaper: Clean up constructors" into oc-dev
9706527f86fc9895ffd0bf288bab6a2b5749a822 25-Apr-2017 Andy Hung <hunga@google.com> Merge "VolumeShaper: improve logging and dumpsys" into oc-dev
7d712bb0916182cb73f05ec9144b39314ddd5eab 20-Apr-2017 Andy Hung <hunga@google.com> VolumeShaper: Clean up constructors

Explicit only for single argument constructors

Test: instrumented ducking, CTS
Bug: 37536598
Change-Id: I78776f500513a40c8daf7af78cbaec4b153e9ea2
olumeShaper.h
da540db0fc21bc9319d9602aefe1a109d00a7e6c 20-Apr-2017 Andy Hung <hunga@google.com> VolumeShaper: improve logging and dumpsys

Test: CTS and dumpsys
Bug: 37536598
Change-Id: I9a838a8605defde3aaf42a872e48f01425df0f0e
nterpolator.h
olumeShaper.h
22dc508717c7767927064ec7c152def99e54adcb 20-Apr-2017 Pawin Vongmasa <pawin@google.com> Make IGraphicBufferSource::setTimeLapseConfig take fps

Test: Manual use of Camera, Movies, Photos and YouTube apps.

Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'

Bug: 37302530
Change-Id: Id0d4f7fed57349a2f5484f6b6264981471e8f022
mx/1.0/WGraphicBufferSource.h
005f9e289f2db7fb2ce9a8a807d5a716917a722d 18-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix libmedia includes." into oc-dev
af4dd44c88067ae4720901730435698e670ff7a5 18-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add libeffects_headers." into oc-dev
a3b4ef8b5f99e3161684bb56b1e77f94903e194a 18-Apr-2017 Steven Moreland <smoreland@google.com> Add libeffects_headers.

Also had to fix the location and symlink of them.

Test: works with BOARD_VNDK_VERSION := current
Bug: 33241851
Change-Id: Idcfe1eaaf7be10a183b69bafa07f035ab9ca1e4e
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
8253f44c3d0d8a7003dd2e6f728f9e3d63927727 18-Apr-2017 Steven Moreland <smoreland@google.com> Fix libmedia includes.

Test: works with BOARD_VNDK_VERSION := current
Bug: 33241851
Change-Id: Idb6319563dfe83807d32ee54eb2fe66346c9f54a
/frameworks/av/media/libmedia/include/media/AVSyncSettings.h
/frameworks/av/media/libmedia/include/media/BufferProviders.h
/frameworks/av/media/libmedia/include/media/BufferingSettings.h
/frameworks/av/media/libmedia/include/media/CharacterEncodingDetector.h
/frameworks/av/media/libmedia/include/media/Crypto.h
/frameworks/av/media/libmedia/include/media/CryptoHal.h
/frameworks/av/media/libmedia/include/media/Drm.h
/frameworks/av/media/libmedia/include/media/DrmHal.h
/frameworks/av/media/libmedia/include/media/DrmPluginPath.h
/frameworks/av/media/libmedia/include/media/DrmSessionClientInterface.h
/frameworks/av/media/libmedia/include/media/DrmSessionManager.h
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libmedia/include/media/IDataSource.h
/frameworks/av/media/libmedia/include/media/IDrm.h
/frameworks/av/media/libmedia/include/media/IDrmClient.h
/frameworks/av/media/libmedia/include/media/IHDCP.h
/frameworks/av/media/libmedia/include/media/IMediaCodecList.h
/frameworks/av/media/libmedia/include/media/IMediaCodecService.h
/frameworks/av/media/libmedia/include/media/IMediaDeathNotifier.h
/frameworks/av/media/libmedia/include/media/IMediaDrmService.h
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
/frameworks/av/media/libmedia/include/media/IMediaExtractorService.h
/frameworks/av/media/libmedia/include/media/IMediaHTTPConnection.h
/frameworks/av/media/libmedia/include/media/IMediaHTTPService.h
/frameworks/av/media/libmedia/include/media/IMediaLogService.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorderClient.h
/frameworks/av/media/libmedia/include/media/IMediaSource.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplay.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplayClient.h
/frameworks/av/media/libmedia/include/media/IResourceManagerClient.h
/frameworks/av/media/libmedia/include/media/IResourceManagerService.h
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/LinearMap.h
/frameworks/av/media/libmedia/include/media/MediaCodecBuffer.h
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libmedia/include/media/MediaDefs.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/MediaResource.h
/frameworks/av/media/libmedia/include/media/MediaResourcePolicy.h
/frameworks/av/media/libmedia/include/media/MemoryLeakTrackUtil.h
/frameworks/av/media/libmedia/include/media/Metadata.h
/frameworks/av/media/libmedia/include/media/MidiDeviceInfo.h
/frameworks/av/media/libmedia/include/media/MidiIoWrapper.h
/frameworks/av/media/libmedia/include/media/Modulo.h
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
/frameworks/av/media/libmedia/include/media/OMXFenceParcelable.h
/frameworks/av/media/libmedia/include/media/PluginLoader.h
/frameworks/av/media/libmedia/include/media/RecordBufferConverter.h
/frameworks/av/media/libmedia/include/media/RingBuffer.h
/frameworks/av/media/libmedia/include/media/SharedLibrary.h
/frameworks/av/media/libmedia/include/media/SingleStateQueue.h
/frameworks/av/media/libmedia/include/media/StringArray.h
/frameworks/av/media/libmedia/include/media/TypeConverter.h
/frameworks/av/media/libmedia/include/media/Visualizer.h
/frameworks/av/media/libmedia/include/media/convert.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
25a9e5561a7f14e79b04f713a515a9464b9ea077 17-Apr-2017 Steven Moreland <smoreland@google.com> Add libaudioclient_headers

Test: works with BOARD_VNDK_VERSION := current
Bug: 33241851
Change-Id: I31cf7e7cd89fe6e71d4e52f7682990146a12b2fb
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioIoDescriptor.h
/frameworks/av/media/libaudioclient/include/media/AudioMixer.h
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libaudioclient/include/media/AudioPolicyHelper.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyServiceClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IEffect.h
/frameworks/av/media/libaudioclient/include/media/IEffectClient.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
9e7dd63dfff0cc967f025ea9e27a299aaa99fd69 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'api-review' into oc-dev

* changes:
MediaCas: combine openSession methods
MediaCas: changes to address API review comments
0de04e850beced076e4b1fcf0e513255f62a7d85 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove setQuirks() from IOMXNode and IOmxNode." into oc-dev
a78c1cc9773532b1f9d066ed8fa0d9414c1bb8bb 01-Apr-2017 Chong Zhang <chz@google.com> MediaCas: combine openSession methods

Combine the two openSession methods into one that doesn't take any
arguments. This gives the client more flexibility on creating
sessions efficiently. They can better decide whether to share one
session for multiple streams, or create one session per stream.

bug: 22804304

Change-Id: I9634f4dd4fc437229068103b54555cc28a818937
asImpl.h
ef0b6b64144b6e062bbb445a6df73c365b66646d 07-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaCas: fixes for playback tests" into oc-dev
6ed07dc02d4240f94e7fb0786fb263bdc7a610ba 05-Apr-2017 Pawin Vongmasa <pawin@google.com> Remove setQuirks() from IOMXNode and IOmxNode.

Test: Media post-submit tests on Pixel phone.
Test: Manual use of Camera, Photos, Play Movies and YouTube apps.
Bug: 36952714
Change-Id: I230df51c2d658e29cffec369ba622e336c3402d2
mx/1.0/WOmxNode.h
ndk/xmlparser/1.0/MediaCodecsXmlParser.h
b01fb48fcc755d6bfad9bc94d8c227349155e1b5 24-Mar-2017 Chong Zhang <chz@google.com> MediaCas: fixes for playback tests

- Set crypto mode to kMode_AES_CTR, since kMode_AES_CBC is not defined
on Java API, and is rejected when the sample is queued to MediaCodec.

- Wrap the plugin object in a RefBase, and hold a strong ref to it
when executing any API calls in CasImpl. This is needed because
CasImpl could be released by Java API, while MediaCodec native is
still trying to access it.

- Fix build warnings.

Tests: cts-tradefed run cts-dev --module CtsMediaTestCases --test android.media.cts.ClearKeySystemTest

It should not fail.

bug: 22804304
Change-Id: Id4ef037d57dd741d2bb22b1de3d04c8d078b69fb
asImpl.h
0f0c9b5007ff694d05a91c28359db0553e4dd061 05-Apr-2017 Ray Essick <essick@google.com> Move MediaMetrics into its own library

Changes for the new HAL structure have brought about a build time
circular dependency between libmedia and libmediadrm. This set of
changes the media metrics code into its own library and arranges
for the relevant consumers of the media metrics code to link
to this new library (where they had previously picked it up by
including libmedia).

Bug: 36990807
Test: build, boot.
Change-Id: I81768eecca88d5e59e6e6e547f29308a94e30c7b
/frameworks/av/media/libmediametrics/include/IMediaAnalyticsService.h
/frameworks/av/media/libmediametrics/include/MediaAnalyticsItem.h
e9fec5451704893412c8e707940483a6bdb5f238 14-Mar-2017 John W. Bruce <juce@google.com> Add Flag for Enabling 64-bit Media DRM Server

We are ready for devices to begin migrating to a 64-bit Media DRM
Server. However, not all devices are ready to make this jump yet. A
device needs to have all of its DRM Plugins ready to run as 64-bit
before it can do this. This includes having 64-bit hardware
integrations.

So that devices can turn on 64-bit support as they get ready, I am
adding flags that can be set in a device's device.mk file. There are two
parts:

* ENABLE_MEDIADRM_64 enables building the mediadrmserver as 64-bit.

* Setting drm.64bit.enabled=true in PRODUCT_PROPERTY_OVERRIDES switches
mediadrmserver to searching for DRM Plugins in the 64-bit directory.

Test: Validated that turning on these flags enables a 64-bit
mediadrmserver that loads 64-bit DRM Plugins from the lib64
directory (after setting DISABLE_TREBLE_DRM to true to load this
code as opposed to the Legacy DRM Plugin HAL)
Bug: 36076017
Change-Id: I141cfd57ff75b40c8b0cb40a5bf1439a1ab5b766
/frameworks/av/media/libmedia/include/media/DrmPluginPath.h
04563aafa0debc95d50951ca944abf37ef2777ce 09-Mar-2017 Pawin Vongmasa <pawin@google.com> Move hybrid interface from libbinder to libhidl/transport.

Also, merge android.hardware.media.omx@1.0-impl into libstagefright_omx.

Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Manual use of Camera, Photos, Play Movies and YouTube apps.
Test: Manual use of screen mirroring.

Bug: 33854657
Change-Id: Ie927bcafd86dc7e9509bb8b76bb3b51f9a423cc7
mx/1.0/Conversion.h
mx/1.0/WOmx.h
mx/1.0/WOmxBufferProducer.h
mx/1.0/WOmxNode.h
mx/1.0/WOmxProducerListener.h
0e4b8e9cb1b422195c49be49b48d039aa0814acf 11-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'fix omxnode fd leak'

* changes:
Fix Omx emptyBuffer fd leak in GraphicBufferSource
Revert "Revert "Refactor GraphicBufferSource wrappers for OMX HAL""
d095e65c8c125c555046c60539a0f7abf0ccf271 11-Mar-2017 Robert Shih <robertshih@google.com> Revert "Revert "Refactor GraphicBufferSource wrappers for OMX HAL""

This reverts commit a6331ba30928fac713f9d6ce94e1d5f0d008b501.

Bug: 36110748
Change-Id: I56260ae0cc13c17b0edb31c39d22f3fbd6708d34
mx/1.0/Conversion.h
mx/1.0/WGraphicBufferSource.h
mx/1.0/WOmx.h
3ecd658d0e403726cc8e03a4b4a4fdc81a0ec5d3 11-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Refactor GraphicBufferSource wrappers for OMX HAL""
a6331ba30928fac713f9d6ce94e1d5f0d008b501 10-Mar-2017 Rachad Alao <rachad@google.com> Revert "Refactor GraphicBufferSource wrappers for OMX HAL"

This reverts commit 3d32c95e94f2672d23b58196beafddacba07c5e8.

Bug: 36110748

Change-Id: I6d0cd5924b3e1e00cdcf844c638bb0acf4fae2ac
mx/1.0/Conversion.h
mx/1.0/WGraphicBufferSource.h
mx/1.0/WOmx.h
89e5a2b102b484fe19dbda2a0b118edfefc70241 09-Mar-2017 Nicolas Roulet <nicoroulet@google.com> Merge "NBLog periodic merging thread"
dcdfaecc1fa630a799e1fdb508a9b92da55abc36 14-Feb-2017 Nicolas Roulet <nicoroulet@google.com> NBLog periodic merging thread

Bug: 35468674
Test: no change in functionality, everything works as before
Change-Id: Id2cea243bc15767ca6803c9505bf23a18411500e
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libmedia/include/media/IMediaLogService.h
22fd9de35b387f1ed808f4fe6e0b87eac3e82690 08-Mar-2017 Eric Laurent <elaurent@google.com> Merge "audioflinger: add standby() method to MmapStreamInterface"
18b570146c971fe729c391bfbb869391084e623d 14-Feb-2017 Eric Laurent <elaurent@google.com> audioflinger: add standby() method to MmapStreamInterface

Bug: 33398120
Test: open/start/stop/close MMAP no IRQ stream for capture and playback

Change-Id: I48ec202a71565f759c441c2a835d8c8190e76334
mapStreamInterface.h
3d32c95e94f2672d23b58196beafddacba07c5e8 23-Feb-2017 Robert Shih <robertshih@google.com> Refactor GraphicBufferSource wrappers for OMX HAL

Bug: 35449087
Test: Manual
Change-Id: I0cf70526d820999902707af466ebb4e8a2c932ab
mx/1.0/Conversion.h
mx/1.0/WGraphicBufferSource.h
mx/1.0/WOmx.h
ac7d4125516299b8a3e6f2b25822a692bdd96311 01-Mar-2017 Pawin Vongmasa <pawin@google.com> Use tokens for IOmxNode.

Test: Mirroring, Camera, Photos, YouTube and Play Movies apps.
Bug: 35442034
Change-Id: I0e43ec57d0f37c71d41652fd9883b72650433e20
mx/1.0/Conversion.h
mx/1.0/WGraphicBufferSource.h
mx/1.0/WOmx.h
mx/1.0/WOmxBufferProducer.h
mx/1.0/WOmxBufferSource.h
mx/1.0/WOmxNode.h
mx/1.0/WOmxObserver.h
mx/1.0/WOmxProducerListener.h
4ef88d7106c01f81109ee163cb6789073d80c6ae 22-Feb-2017 Andy Hung <hunga@google.com> VolumeShaper: Add AudioTrack restore

MediaPlayer VolumeShaper can now be set before start().

Test: CTS and Ducking
Bug: 31015569
Change-Id: Idf63c167e164161b200e2467fbeb9409b3097dbe
olumeShaper.h
10cbff139360f3f642e0e3b3ccf2d463dbed22cf 22-Feb-2017 Andy Hung <hunga@google.com> VolumeShaper: Enable for offload and direct tracks

Test: Play Music in offload mode
Bug: 31015569
Change-Id: I00bb59e3e6809d4682f42057b1cc083f4fa9b9d1
olumeShaper.h
e2b43843fd12783188edd2c54188ea8d26864788 02-Feb-2017 Vijay Venkatraman <vijaykv@google.com> Moved headers from include/ to appropriate libs

include/camera -> camera/include/camera
include/media/audiohal -> media/libaudiohal/include
include/media/AudioResampler*.h -> media/libaudioprocessing/include
include/media/Audio*.h,IAudio*.h,IEffect*.h,ToneGenerator.h -> media/libaudioclient/include
include/media/EffectsFactoryApi.h -> media/libeffects/include
include/media/stagefright -> media/libstagefright/include
include/media/nbaio -> media/libnbaio/include
include/media/<rest of files> -> media/libmedia/include
include/cpustats -> media/libcpustats/include/cpustats

Added symlinks from old location to new ones

Bug: 33241851

Test: VNDK linked modules will need to add explicit lib dep.
All other modules should compile the same

Change-Id: I0ecf754a2132640ae781a3cc31428fb8c0bd1669
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioIoDescriptor.h
/frameworks/av/media/libaudioclient/include/media/AudioMixer.h
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libaudioclient/include/media/AudioPolicyHelper.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyServiceClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IEffect.h
/frameworks/av/media/libaudioclient/include/media/IEffectClient.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libaudiohal/include
/frameworks/av/media/libaudiohal/include/DeviceHalInterface.h
/frameworks/av/media/libaudiohal/include/DevicesFactoryHalInterface.h
/frameworks/av/media/libaudiohal/include/EffectBufferHalInterface.h
/frameworks/av/media/libaudiohal/include/EffectHalInterface.h
/frameworks/av/media/libaudiohal/include/EffectsFactoryHalInterface.h
/frameworks/av/media/libaudiohal/include/StreamHalInterface.h
/frameworks/av/media/libaudiohal/include/hidl/HalDeathHandler.h
/frameworks/av/media/libaudioprocessing/include/AudioResampler.h
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
/frameworks/av/media/libmedia/include/media/AVSyncSettings.h
/frameworks/av/media/libmedia/include/media/BufferProviders.h
/frameworks/av/media/libmedia/include/media/BufferingSettings.h
/frameworks/av/media/libmedia/include/media/CharacterEncodingDetector.h
/frameworks/av/media/libmedia/include/media/Crypto.h
/frameworks/av/media/libmedia/include/media/CryptoHal.h
/frameworks/av/media/libmedia/include/media/Drm.h
/frameworks/av/media/libmedia/include/media/DrmHal.h
/frameworks/av/media/libmedia/include/media/DrmSessionClientInterface.h
/frameworks/av/media/libmedia/include/media/DrmSessionManager.h
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libmedia/include/media/IDataSource.h
/frameworks/av/media/libmedia/include/media/IDrm.h
/frameworks/av/media/libmedia/include/media/IDrmClient.h
/frameworks/av/media/libmedia/include/media/IHDCP.h
/frameworks/av/media/libmedia/include/media/IMediaCodecList.h
/frameworks/av/media/libmedia/include/media/IMediaCodecService.h
/frameworks/av/media/libmedia/include/media/IMediaDeathNotifier.h
/frameworks/av/media/libmedia/include/media/IMediaDrmService.h
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
/frameworks/av/media/libmedia/include/media/IMediaExtractorService.h
/frameworks/av/media/libmedia/include/media/IMediaHTTPConnection.h
/frameworks/av/media/libmedia/include/media/IMediaHTTPService.h
/frameworks/av/media/libmedia/include/media/IMediaLogService.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorderClient.h
/frameworks/av/media/libmedia/include/media/IMediaSource.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplay.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplayClient.h
/frameworks/av/media/libmedia/include/media/IResourceManagerClient.h
/frameworks/av/media/libmedia/include/media/IResourceManagerService.h
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/LinearMap.h
/frameworks/av/media/libmedia/include/media/MediaCodecBuffer.h
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libmedia/include/media/MediaDefs.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/MediaResource.h
/frameworks/av/media/libmedia/include/media/MediaResourcePolicy.h
/frameworks/av/media/libmedia/include/media/MemoryLeakTrackUtil.h
/frameworks/av/media/libmedia/include/media/Metadata.h
/frameworks/av/media/libmedia/include/media/MidiDeviceInfo.h
/frameworks/av/media/libmedia/include/media/MidiIoWrapper.h
/frameworks/av/media/libmedia/include/media/Modulo.h
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
/frameworks/av/media/libmedia/include/media/OMXFenceParcelable.h
/frameworks/av/media/libmedia/include/media/PluginLoader.h
/frameworks/av/media/libmedia/include/media/RecordBufferConverter.h
/frameworks/av/media/libmedia/include/media/RingBuffer.h
/frameworks/av/media/libmedia/include/media/SharedLibrary.h
/frameworks/av/media/libmedia/include/media/SingleStateQueue.h
/frameworks/av/media/libmedia/include/media/StringArray.h
/frameworks/av/media/libmedia/include/media/TypeConverter.h
/frameworks/av/media/libmedia/include/media/Visualizer.h
/frameworks/av/media/libmedia/include/media/convert.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
/frameworks/av/media/libmediametrics/include/IMediaAnalyticsService.h
/frameworks/av/media/libmediametrics/include/MediaAnalyticsItem.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libnbaio/include
/frameworks/av/media/libnbaio/include/AudioBufferProviderSource.h
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
/frameworks/av/media/libnbaio/include/LibsndfileSink.h
/frameworks/av/media/libnbaio/include/LibsndfileSource.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/MonoPipeReader.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/NBLog.h
/frameworks/av/media/libnbaio/include/Pipe.h
/frameworks/av/media/libnbaio/include/PipeReader.h
/frameworks/av/media/libnbaio/include/SourceAudioBufferProvider.h
/frameworks/av/media/libstagefright/include
/frameworks/av/media/libstagefright/include/AACWriter.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/BufferProducerWrapper.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/ColorConverter.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/DataURISource.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/FrameRenderTracker.h
/frameworks/av/media/libstagefright/include/JPEGSource.h
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaAdapter.h
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaBufferGroup.h
/frameworks/av/media/libstagefright/include/MediaClock.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/MediaErrors.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
/frameworks/av/media/libstagefright/include/MediaHTTP.h
/frameworks/av/media/libstagefright/include/MediaMuxer.h
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/MediaSync.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
/frameworks/av/media/libstagefright/include/OMXClient.h
/frameworks/av/media/libstagefright/include/PersistentSurface.h
/frameworks/av/media/libstagefright/include/ProcessInfo.h
/frameworks/av/media/libstagefright/include/ProcessInfoInterface.h
/frameworks/av/media/libstagefright/include/RenderScriptWrapper.h
/frameworks/av/media/libstagefright/include/SimpleDecodingSource.h
/frameworks/av/media/libstagefright/include/SkipCutBuffer.h
/frameworks/av/media/libstagefright/include/StagefrightMediaScanner.h
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
/frameworks/av/media/libstagefright/include/SurfaceUtils.h
/frameworks/av/media/libstagefright/include/Utils.h
/frameworks/av/media/libstagefright/include/VideoFrameScheduler.h
/frameworks/av/media/libstagefright/include/YUVCanvas.h
/frameworks/av/media/libstagefright/include/YUVImage.h
/frameworks/av/media/libstagefright/include/foundation/AAtomizer.h
/frameworks/av/media/libstagefright/include/foundation/ABase.h
/frameworks/av/media/libstagefright/include/foundation/ABitReader.h
/frameworks/av/media/libstagefright/include/foundation/ABuffer.h
/frameworks/av/media/libstagefright/include/foundation/AData.h
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
/frameworks/av/media/libstagefright/include/foundation/AHandler.h
/frameworks/av/media/libstagefright/include/foundation/AHandlerReflector.h
/frameworks/av/media/libstagefright/include/foundation/AHierarchicalStateMachine.h
/frameworks/av/media/libstagefright/include/foundation/ALookup.h
/frameworks/av/media/libstagefright/include/foundation/ALooper.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
/frameworks/av/media/libstagefright/include/foundation/ANetworkSession.h
/frameworks/av/media/libstagefright/include/foundation/AString.h
/frameworks/av/media/libstagefright/include/foundation/AStringUtils.h
/frameworks/av/media/libstagefright/include/foundation/AUtils.h
/frameworks/av/media/libstagefright/include/foundation/AWakeLock.h
/frameworks/av/media/libstagefright/include/foundation/ColorUtils.h
/frameworks/av/media/libstagefright/include/foundation/Flagged.h
/frameworks/av/media/libstagefright/include/foundation/MediaBufferBase.h
/frameworks/av/media/libstagefright/include/foundation/Mutexed.h
/frameworks/av/media/libstagefright/include/foundation/ParsedMessage.h
/frameworks/av/media/libstagefright/include/foundation/TypeTraits.h
/frameworks/av/media/libstagefright/include/foundation/base64.h
/frameworks/av/media/libstagefright/include/foundation/hexdump.h
9dbe9a57bf0ae2494ec312d6c1b06feec20e9ec9 03-Jan-2017 Chong Zhang <chz@google.com> MediaCas: add MediaCasService

This CL adds API only without implementation.

bug: 22804304
Change-Id: Ibb5a29cc616ec0af81957b2bfe1419c482591753
asImpl.h
escramblerImpl.h
ediaCasDefs.h
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
/frameworks/av/media/libmedia/include/media/MediaDefs.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
cd01db5572f07e30c8b0b08e8b50b89c69ae14c1 18-Feb-2017 Jeff Tinker <jtinker@google.com> Merge "Support multiple codecs per crypto instance"
ea42da480ddd116cb70f2c8a7642df7c12b996af 17-Feb-2017 Ray Essick <essick@google.com> Merge "Media metrics for android.media.MediaRecorder"
c0a3f679109769d8fb43b66fccbe47f8c505d12e 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use hidl.allocator for IAllocator."
0e701fd27a2daad2eadf83f904c68a418f93cf92 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "fallout of splitting rect.h out of libandroid."
c01ea695f5e55137834b5217c30ff71dccfcc989 17-Feb-2017 Nicolas Roulet <nicoroulet@google.com> Merge "Implement entry iterators"
3cb5316c442d182ada75a1394e1505a017400526 16-Feb-2017 Jeff Tinker <jtinker@google.com> Support multiple codecs per crypto instance

The initial drm hidl hal implementation assumed one
codec per crypto instance, but in fact there can be
multiple codecs per crypto instance. This change
extends the drm hal to allow multiple memory heaps
per crypto plugin. It fixes the issue of mapping
memory frequently during playback.

bug:35275191

Test: manual verification with Play Movies on angler
in passthrough mode and on marlin in binderized mode.

Change-Id: Icada005f515483d7bc214b08caf6eea46ca354a7
/frameworks/av/media/libmedia/include/media/CryptoHal.h
bc1713d3b85d7ce656e032da6e4b6b342f14db03 14-Feb-2017 Mathias Agopian <mathias@google.com> fallout of splitting rect.h out of libandroid.

A lot of media makefiles didn’t specify libui or
libgui but included headers from these libraries
directly.

It works because these headers are on the global
include path. With this change, though, rect.h
is not anymore (albeit exported from libui).

Test: built and booted device
Bug: 35164655
Change-Id: I72e8f0b7bd25c6a67eedc17afe52c4c484a147fe
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
13a926879249276771b0097538459c7550e2f5ce 17-Feb-2017 Steven Moreland <smoreland@google.com> Use hidl.allocator for IAllocator.

android.hidl.memory is being split into android.hidl.memory and
android.hidl.allocator since the former is a passthrough hal and the
latter is a binderized service.

Bug: 35327976
Test: hidl_test, lshal, youtube/camera works
Change-Id: I7a2e72dcd3721d2689eb7ef95f5b140ecc1c446f
/frameworks/av/media/libstagefright/include/ACodec.h
87251eee475a53599b980334df777326fa8e1527 17-Feb-2017 Nicolas Roulet <nicoroulet@google.com> Merge "Implement log merging."
8dc323ef737babc1b1c0b0347b4b895969aee77b 17-Feb-2017 Nicolas Roulet <nicoroulet@google.com> Merge "Added process name to PID log"
cd5dd016657b351d9c74dcdff87547a781108ccb 13-Feb-2017 Nicolas Roulet <nicoroulet@google.com> Implement entry iterators

Some code refactoring

Bug: 35329553
Test: manual
Change-Id: I06e4ac1207b5c707d663ab2f141bb08d80272642
/frameworks/av/media/libnbaio/include/NBLog.h
181fd9b5b64bab24bb49a34208f60a16e98488c5 17-Feb-2017 Chong Zhang <chz@google.com> stagefright: verbose logging for media connect/disconnect

bug: 35364355

Change-Id: I7b5f0aecf98733255cc27b091fea78298fa7e602
/frameworks/av/media/libstagefright/include/SurfaceUtils.h
40a4498b967d000c93e8561db5fdd0488cc1d824 03-Feb-2017 Nicolas Roulet <nicoroulet@google.com> Implement log merging.

Still missing:
* Put in separate periodical thread

Bug: 35329293
Test: manual
Change-Id: Ie8802fb7972e20d8dec493376ea253bb782f3a46
/frameworks/av/media/libnbaio/include/NBLog.h
42a5de6da0084fd430c70d58671559f71c738cf0 17-Feb-2017 Hangyu Kuang <hkuang@google.com> Merge "media: Support accurate pause/resume/stop in GraphicBufferSource."
764d945bfdb9dec60f2b482fbf6c5e83824ed950 13-Dec-2016 Hangyu Kuang <hkuang@google.com> media: Support accurate pause/resume/stop in GraphicBufferSource.

Process all buffers that have been queued to the encoder on
StagefrightRecorder::pause()/stop(). Furthermore, add timestamp support for
pause/stop. Buffers willi keep getting encoded until 1) a buffer with a higher
timestamp is queued, or 2) the bufferqueue is abandoned by the producer.

Test: Recording with hacking GoogleCamera timestamp. And Mediarecorder CTS test.
Bug:32765698
Change-Id: I9ec33d635aef269836d7a5d9f4b906cb41b46a0d
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
c20cb50c1c14cd765874511872f087c875f43ed9 01-Feb-2017 Nicolas Roulet <nicoroulet@google.com> Added process name to PID log

Bug: 35357686
Test: included in CL
Change-Id: Ie4d3cb66a2c766ce87ebabcc9c0d3aa988702e09
/frameworks/av/media/libnbaio/include/NBLog.h
9c47c97ecac581d66b6febafd156618247e86742 08-Feb-2017 Pawin Vongmasa <pawin@google.com> Enable full migration of OMX to Treble.

1. Toggling between Treble and non-Treble OMX will now be controlled by
two properties: "persist.hal.binderization" and
"persist.media.treble_omx". (Before this CL, this was controlled by
"debug.treble_omx".)
- If persist.media.treble_omx is not set, it will assume a default value
of -1.
- If persist.media.treble_omx is -1, persist.hal.binderization will be
used to determine whether OMX will be created as a Treble or non-Treble
service.
- If persist.media.treble_omx is 1, OMX will be created as a Treble
service.
- If persist.media.treble_omx has any other value, OMX will be created
as a non-Treble service.
- persist.media.treble_omx can be changed without rebooting, but it will
only take effect after media.codec and mediaserver processes are killed.

2. Remove all dependencies on non-Treble service. This was not done for
MediaCodec, MediaPlayerService::Client, MediaRecorderClient, stagefright
command, and omx_tests command. OMXClient and media.codec process will
now pick the right version of OMX based on properties mentioned above.
Before this CL, media.codec would always present the non-Treble version
of OMX regardless of the flag.

3. Provide workarounds for some HIDL issues.
- A sequence of nested binder and hwbinder calls require many threads to
handle. (b/35283480) The workaround is to increase the number of threads
in the thread pool of media.codec process.
- android.hidl.base@1.0::IBase::unlinkToDeath takes a strong pointer
instead of a weak pointer. (b/35233970) This causes an infinite
recursion in the destructor of ServiceDeathNotifier in
MediaPlayerService::Client and MediaRecorderClient. The workaround moves
calls to unlinkToDeath() outside of the destructor.

Test: Recorded and played videos with Camera app. Ran stagefright and
omx_tests commands.
Bug: 31399200

Change-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/OMXClient.h
cefac14261a32fb856b0d1ab31541787112e306e 07-Feb-2017 Hassan Shojania <shojania@google.com> Modular DRM for MediaPlayer

Bug: 34559906
Test: Manual through the test app

Change-Id: I286f9ff199c34563b7b8643de725f8d1534ea06c
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
ac4e4189db77dc0af7671b162d11be5ccec69339 13-Feb-2017 Ray Essick <essick@google.com> Media metrics for android.media.MediaRecorder

underlying collection of MediaRecorder metrics for getMetrics() API
and for media metrics cloud analysis.

Bug: 35150984
Test: hacked CTS, observation of 'dumpsys media.metrics'
Change-Id: Ife2ab06158b0015549ed17d52d7f4c35781f5e0f
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
30d48d9542fb3f85889108c1ee2daff98a4860e7 14-Feb-2017 Andy Hung <hunga@google.com> Merge "VolumeShaper: Initial implementation"
9fc8b5cd4a64ef07e84c69112461324d5c13a0b0 24-Jan-2017 Andy Hung <hunga@google.com> VolumeShaper: Initial implementation

The VolumeShaper is used to apply a volume
envelope to an AudioTrack or a MediaPlayer.

Test: CTS
Bug: 30920125
Bug: 31015569
Change-Id: I42e2f13bd6879299dc780e60d143c2d465483a44
nterpolator.h
olumeShaper.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
7863c791dba8c4e5e9591b6837d410e580be0a25 10-Feb-2017 Eric Laurent <elaurent@google.com> Merge changes from topic 'mmap_no_irq'

* changes:
Add support for mmap stream
audioflinger: define MMAP HAL Stream control interface
551061ab211e1da0f060d7c895617814618da5c2 07-Feb-2017 Kevin Rocard <krocard@google.com> audiopolicy: Two clients can not offload concurrently

If two application are playing a compatible offload stream at the same
time.
Eg: two games playing MP3. At least one not taking the audio
focus.

The audio policy was offloading both stream resulting in audio glitches
and one stream being dropped.

Concurrent offload streams is intended to be a transitioning state when
an application wants back to back playbacks.

It should not be allowed for two different applications to stream at the
same time.

Test: Play mp3 while mp3 is already offloaded.
Bug: 34012147

Change-Id: I98a8913d6faf5092a1e43a0bdd0f1ce1482221a9
Signed-off-by: Kevin Rocard <krocard@google.com>
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
ba13b7bc3d46d958bc4a395f2c162cb112ec1f3a 07-Feb-2017 Ray Essick <essick@google.com> connect APIs to mediaextractor getMetrics()

plumbing so that user level android.media.MediaExtractor.getMetrics()
will get down to where we keep the metrics and then haul them back
to the application. Includes the right hooks so that per-container-type
metrics will also be managed.

Bug: 35094936
Test: monitor dumpsys output, augmented CTS examination
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
8eacd8090e16c022dcbb11850cff83f984fe2357 03-Feb-2017 Nicolas Roulet <nicoroulet@google.com> Merge "Implemented typed, thread-specific logging system. Currently supported types are: * Strings * Integers * Floats * Timestamps * Process IDs"
fe1e1449cadff4f946c33403aecc73b4b4a11e56 30-Jan-2017 Nicolas Roulet <nicoroulet@google.com> Implemented typed, thread-specific logging system. Currently supported types are:
* Strings
* Integers
* Floats
* Timestamps
* Process IDs

Added printf-like formatted logging using mentioned types.

Test: included in this CL
Bug: 29421410
Change-Id: Ie07b78d8d39c32fcc8a122ffa9b1b7082800b990
/frameworks/av/media/libnbaio/include/NBLog.h
8dc4ee85f02e7a40b93280fb1394c729c315e462 02-Feb-2017 Hangyu Kuang <hkuang@google.com> Merge "media: Add 3gp output format to MediaMuxer."
8a21c0191f974a0b9cbd5818052e2655e0aaa306 26-Dec-2016 Pawin Vongmasa <pawin@google.com> Modify ACodec to allow using Treble.

ACodec will connect to the Treble version of Omx if the property
"debug.treble_omx" is set to true ("1", "y", "yes", "true" or "on").

Also, fix some bugs found so far.

Test: Compiles
Bug: 31399200
Change-Id: I52b27b5f99bc1d6797d3b83b8be794ed2de9956a
/frameworks/av/media/libstagefright/include/ACodec.h
c5516dcd272bda8ef4fab9999b7035f13eb2cbd8 01-Feb-2017 Pawin Vongmasa <pawin@google.com> Merge "Add an option to connect OMXClient to a Treble service."
68b3d9f49e68a11af5225175dc9e60ce88819e84 07-Jan-2017 Edwin Wong <edwinwong@google.com> Pass application packagename to drm plugin.

Pass application package name to createPlugin and createDrmPlugin.
The application packagename will be used as part of a unique
identifier for drm plugin.

Test: Play Movies.

Test: ANDROID_BUILD_TOP= ./android-gts/tools/gts-tradefed run gts -m
GtsMediaTestCases --test
com.google.android.media.gts.WidevineH264PlaybackTests#testL1With480P60

Verify the application's packagename is reachable in the drm plugin's
debug log.

bug: 27101531

Change-Id: I84fb09b591a7af63f6e20004e910112a4ce6ebac
/frameworks/av/media/libmedia/include/media/Drm.h
/frameworks/av/media/libmedia/include/media/DrmHal.h
/frameworks/av/media/libmedia/include/media/IDrm.h
49dcfd2089f667f18859654d7c256974aae4e857 30-Jan-2017 Hangyu Kuang <hkuang@google.com> media: Add 3gp output format to MediaMuxer.

Test: CTS test.
Bug: 34281643
Change-Id: I9f716aba6f2bcbbcdcd65959307a5013a5751f51
/frameworks/av/media/libstagefright/include/MediaMuxer.h
94e36c5607ec15e4c9a1dff56ca23d4001b932b3 26-Dec-2016 Pawin Vongmasa <pawin@google.com> Add an option to connect OMXClient to a Treble service.

Test: Compiles
Bug: 31399200
Change-Id: I063a8eead79da2704ba25a864f3d2c2627341c51
/frameworks/av/media/libstagefright/include/OMXClient.h
1784ec91786ed3a9e1fffcaa20fec8c33830b1ad 27-Jan-2017 Hassan Shojania <shojania@google.com> Merge "Modular DRM for MediaPlayer"
3a0a8b4cc0632a09fa9c669edf9c6a27be5d37d9 27-Jan-2017 Ray Essick <essick@google.com> Merge "Media Metrics for NuPlayer, Codec, Extractor"
45cc284af254a71ae9294585448419f91ae27ee4 27-Jan-2017 Ray Essick <essick@google.com> Merge "Provide access for metrics->Java Bundle conversion"
2b118b8f939c0cf1b287b1641d17b057a8e25ce7 27-Jan-2017 Pawin Vongmasa <pawin@google.com> Merge changes from topic 'OMX Treble 2'

* changes:
Split Treble conversion module into two sides: impl and utils.
Use HIDL's memory in CodecBuffer and add wrapper classes for IOmxBufferProducer and IOmxProducerListener.
e08ab77d276e83388da1f811c556d105a38a81d3 26-Jan-2017 Ray Essick <essick@google.com> Provide access for metrics->Java Bundle conversion

provide 'friend' access for the class that converts Media Metrics
properties into a Java Bundle to be handed to users through local APIs.
Actual code to do conversion is in frameworks/base/

Bug: 34716157
Test: compilation passes
/frameworks/av/media/libmediametrics/include/MediaAnalyticsItem.h
db1221479a7ffe7094c51c463bbd36522ed106ab 26-Jan-2017 Ray Essick <essick@google.com> Media Metrics for NuPlayer, Codec, Extractor

Collect metrics for nuplayer/mediaplayer, codec, extractor.
publishes them to media.metrics service
provides hooks that local APIs use to connect to retrieve metrics
from the above when running on their behalf.

Separate set of changes does the final hop to the local APIs.

Bug: 34715803
Test: build & run, observed code/extractor/player metrics in logs
Change-Id: Ic5a0a7b3b93a5a41af93d81050ba038f0f7a4329
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
eeac97b18ca5c939bf2ac59334d36d54f705af3d 18-Jan-2017 Pawin Vongmasa <pawin@google.com> Split Treble conversion module into two sides: impl and utils.

impl is on the HAL side. utils is on the framework side.

Test: Compiles
Bug: 31399200
Change-Id: Ib88a80f406fa2b897aa7c65f5faba6cdd9d6a700
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
/frameworks/av/media/libmedia/include/media/OMXFenceParcelable.h
f62ea8018813951e8f6a182880cadb3217e4ce37 19-Dec-2016 Pawin Vongmasa <pawin@google.com> Use HIDL's memory in CodecBuffer and add wrapper classes for
IOmxBufferProducer and IOmxProducerListener.

Test: Compiles
Bug: 31399200
Change-Id: Ia09973ee7b25120bc35cff02b1409f33b28a4b4e
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
29bcb38457deb3c69e0b5d2e8658446e969bd380 26-Jan-2017 Jeff Tinker <jtinker@google.com> Merge "Implement client code to use Drm and Crypto HALs"
a53d6553fce1818bdf87833f93633c93ad1b5915 20-Jan-2017 Jeff Tinker <jtinker@google.com> Implement client code to use Drm and Crypto HALs

This change adds DrmHal & CryptoHal classes that connect to the Treble
HAL interfaces for drm. These classes mirror the existing Drm and
Crypto classes that connect to the DrmPlugin and CryptoPlugin
interfaces. Having both allows mediadrmserver to run in either mode
while the HAL is stabilized.

The shared memory interfaces between mediaserver's ACodecBufferChannel
and ICrypto had to be reworked to use the Treble HALs. Specifically,
the shared memory path for returning decrypted buffers in the
non-secure case had to become separate instead of piggy-backing on the
source shared memory buffer. A separate shared memory destination
buffer is now allocated on the buffer channel. An abstraction for a
decrypt destination buffer was also introduced to clarify ICrypto's
decrypt method.

Tests: Playback using Play Movies and ExoPlayer works on angler
with and without the treble hal enabled.

bug: 32815560
Change-Id: I5a3dc84f99902eb8cf8eabab9ad074d307744950
/frameworks/av/media/libmedia/include/media/Crypto.h
/frameworks/av/media/libmedia/include/media/CryptoHal.h
/frameworks/av/media/libmedia/include/media/DrmHal.h
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libmedia/include/media/PluginLoader.h
071437a2005e39969983ec619a4c7bc54c2dc5a9 23-Jan-2017 Hassan Shojania <shojania@google.com> Modular DRM for MediaPlayer

Bug: 34559906
Test: Manual through the test app
Change-Id: I752c3e2bbc2fac9c75f7ddc986014c4b8ce75d84
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
c0461f5b18eb6d5516804810f315e6c23879a09d 25-Jan-2017 Mikhail Naganov <mnaganov@google.com> Merge "audio hal: Fix multichannel playback"
66916c26a7055c9e10471720502a29f759609819 25-Jan-2017 Mikhail Naganov <mnaganov@google.com> audio hal: Fix multichannel playback

Correctly operate on input and output buffers in DownmixerBufferProvider

Note that playback is a bit choppy, need to investigate further.

Change-Id: I350175dcc9cc7142a1935585a8bd5e9abb1b8eb6
Test: play back a 5.1 file
/frameworks/av/media/libaudiohal/include/EffectBufferHalInterface.h
/frameworks/av/media/libmedia/include/media/BufferProviders.h
d38e174ddbde8e7419ba01deaded4ff0ead1caaa 24-Jan-2017 Ray Essick <essick@google.com> Change from mediaanalytics to mediametrics

reflect the change from "media.analytics" to "media.metrics" in
what service names we use; bring the metrics service main code into the
service directory (vs an additional shared library).
Removed references to tentative binder functions that the service
won't be offering, at least not in the near future.

Bug: 34615027
Test: build, boot, new services run, clients talking to said services.
Change-Id: If17772a8f03c05b142e8d5779830d198710210c1
/frameworks/av/media/libmediametrics/include/IMediaAnalyticsService.h
d112296453154c6974433d860f270e9d8bc7d0d0 19-Jan-2017 Wei Jia <wjia@google.com> Merge "mediaplayer: add getBufferingSettings."
ed32086f6a93a9a22f3877c54030af5c2567939a 18-Jan-2017 Wei Jia <wjia@google.com> mediaplayer: add getBufferingSettings.

Test: compiles
Bug: 32524218
Change-Id: Ifd6243d524d1554dfbbfc1381414100cfafdc02d
/frameworks/av/media/libmedia/include/media/mediaplayer.h
e482d3a819edb60038ba5c4ca7f33935b27dd35f 19-Jan-2017 Hangyu Kuang <hkuang@google.com> Merge "media: Support recording exceeds filesize limit by splitting files."
cac8d4ea54ece7aeb4b2ffa7aafd06fbec731a62 18-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "audio policy: allows dumping Audio Policy Mix"
1acece4c23ba36e71bc42d8b44b8b62bd4423620 18-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Monitor crashes of audio hal service via linkToDeath"
d621ac82e648c8ef395068edb1af2747f49b700a 13-Jan-2017 Mikhail Naganov <mnaganov@google.com> Monitor crashes of audio hal service via linkToDeath

Hwbinder 'linkToDeath' mechanism is used to track abrupt
disappearance of server hal objects due to hal server crash.

Upon hal server crash, notifications can be sent to binder
clients if needed, then the audioserver crashes itself as the
current audio HAL design does not provide an easy way to restore
all the transient objects (devices, streams, effects) in their
pre-crash state.

Bug: 34158778
Test: In binderized mode, kill audio hal server
Change-Id: If9265711edc445984601fcb5c29d2c173a370762
/frameworks/av/media/libaudiohal/include/hidl/HalDeathHandler.h
dc6f340e537ce511ea1d2f8ce7dc1c4ed231f6a6 10-Jan-2017 Wei Jia <wjia@google.com> mediaplayer: add buffering settings API

Test: compiles, checked that params is passed all the way to source.
Bug:32524218
Change-Id: I637d1ab09f94a3830a33a39e7e9f1b3efb22357f
/frameworks/av/media/libmedia/include/media/BufferingSettings.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
c62b65fd690a585c674caa6e79559bb847e5b3bd 16-Jan-2017 Marco Nelissen <marcone@google.com> Merge "Remove DRMExtractor"
2872c7ab71fb554ee14d4e8b65677f9c7a97f966 14-Jan-2017 Wei Jia <wjia@google.com> Merge "BufferingSettings: hook up internal BufferingSettings API."
fe44e4f74fe2582cbf012687059278dbcbdaa6f7 04-Jan-2017 Hangyu Kuang <hkuang@google.com> media: Support recording exceeds filesize limit by splitting files.

Test: Hacking camera app to record file larger than size limit.
Bug:28150626
Change-Id: I500913ec96d8ef49a78989d3f973bc7e8d923cb7
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
4453f452577064b4907a941225f7fc6e87800e37 13-Jan-2017 Marco Nelissen <marcone@google.com> Remove DRMExtractor

It was not used, untested and untestable.

Bug: 33354165
Test: ran forward lock and media playback CTS tests, manual playback.
Change-Id: I4dd3f07ca5b019a5fed0c860aa573fc993464712
/frameworks/av/media/libstagefright/include/MediaExtractor.h
35f537fc5aa479caa6fd9055cdc63989d029e8a3 13-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: add rangeOffset to OMXBuffer"
8c48184651df8edb5b9490fe616844dbcfbbb0a4 13-Jan-2017 Andy Hung <hunga@google.com> Merge "AudioFlinger: Move RecordBufferConverter to libaudioprocessing"
49b2b4d30a0f74314630a5ea5f0e59697d90443e 12-Jan-2017 Chong Zhang <chz@google.com> stagefright: add rangeOffset to OMXBuffer

bug: 31399200
bug: 22804304

Change-Id: I0ac9a7ee684067d40a26135ab26ebd3de3a2f06d
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
44344b05261cb9ad46a43e635f637b89aecc7afe 13-Dec-2016 Mikhail Naganov <mnaganov@google.com> audio policy: allows dumping Audio Policy Mix

This patch adds the dump of AudioPolicyMix if registered.
It also adds the required conversion map to human readable strings
of the types involved in Mixes.

Adapted for the development branch from the AOSP patch:
https://android-review.googlesource.com/#/c/309127/

Change-Id: I91cf7afe6de5ff837970d9063ca437d4f6201e89
Test: build, dumpsys media.audio_policy
/frameworks/av/media/libmedia/include/media/TypeConverter.h
b04aa125744b7e1d5c56a4c2151eaaa890d68e4c 12-Jan-2017 Jeff Tinker <jtinker@google.com> Merge "Fix plugin loading"
bdbe7ca3586ec2d4d32793fff9b3d858ad1c1dff 12-Jan-2017 Jeff Tinker <jtinker@google.com> Fix plugin loading

Change-Id: I3572f8bc1c90c5f0697054497bde52e4cbc4e71e
related-to-bug:32815560
/frameworks/av/media/libmedia/include/media/PluginLoader.h
8981605d43e24c46d395acb5f145b99589d45917 12-Jan-2017 Andy Hung <hunga@google.com> AudioFlinger: Move RecordBufferConverter to libaudioprocessing

Test: Recording loopback
Bug: 31015569
Change-Id: I7897d959f36ac7424544e35f47576c99a442dd54
/frameworks/av/media/libmedia/include/media/BufferProviders.h
/frameworks/av/media/libmedia/include/media/RecordBufferConverter.h
fc23520d9c3f15e28baa81de5f7dfa6c1b0af426 21-Dec-2016 Eric Laurent <elaurent@google.com> audioflinger: define MMAP HAL Stream control interface

Added definition of MmapStreamInterface used by Oboe service
to open, configure and control MMAP streams at the audio HAl.

This interface is implemented by audioflinger and abstracts the details
of interacting with audio policy manager and audio HAL from Oboe service.

A callback interface MmapStreamCallback is also defiend to communicate
volume and routing changes back to Oboe service.

Bug: 33398120
Test: build
Change-Id: If953d44903aaa4eb17ff16f1922ca16e5e0e0a87
mapStreamCallback.h
mapStreamInterface.h
068561c8e84569d51df2adbbb53b56fdfd09c06b 04-Jan-2017 Andy Hung <hunga@google.com> AudioFlinger: Split off audio processing library

Test: native AudioResampler test, general playback test
Bug: 31015569
Change-Id: Ifb248f4402a583438d756c014dcd7a4577aef713
/frameworks/av/media/libaudioclient/include/media/AudioMixer.h
/frameworks/av/media/libaudioprocessing/include/AudioResampler.h
/frameworks/av/media/libmedia/include/media/BufferProviders.h
/frameworks/av/media/libmedia/include/media/LinearMap.h
ee454fcb25bff0f9c5d3455775a4cb66429e875e 11-Jan-2017 Mikhail Naganov <mnaganov@google.com> Merge "Re-implement HIDL effect processing using FMQ and IMemory"
022b9953153bdb1984f0abb17d21ef8c1826ad49 05-Jan-2017 Mikhail Naganov <mnaganov@google.com> Re-implement HIDL effect processing using FMQ and IMemory

Result: no hwbinder calls due music processing.

Test: make, use Play Music with effects, check traces
Bug: 30222631
Change-Id: I06d0e94e603688874b31824427f3b0878b5f7c8e
/frameworks/av/media/libaudiohal/include/EffectBufferHalInterface.h
/frameworks/av/media/libaudiohal/include/EffectHalInterface.h
f44271816fcdc38eee139df872d57fd513347325 10-Jan-2017 Wonsik Kim <wonsik@google.com> Merge changes from topic 'mediacodec_2b'

* changes:
stagefright: fix premature change of buffer ownership
Revert "Revert "MediaCodec refactoring part 2-b: introduce BufferChannel""
5e3030fd4ef828cc7254e96030f38ad64f162151 07-Jan-2017 Glenn Kasten <gkasten@google.com> Merge "media.log: re-implement NBLog using audio_utils_fifo"
dff26e5f53b248fd8cc6605850240c7e7c5438dc 01-Dec-2016 Wonsik Kim <wonsik@google.com> Revert "Revert "MediaCodec refactoring part 2-b: introduce BufferChannel""

- MediaCodec stops tracking the whole buffer array from OMX.
- BufferChannel handles array management instead, if necessary.
- MediaCodec delegates secure buffer management to BufferChannel.
- Remove sf2.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Test: Mirror the screen via Cast.
Change-Id: I1ca705687956ad972e31257853c54e29cbd7181a
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
186673877157260cbfb05c5be51e9ac6e6a4d8bc 06-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "MediaCodec refactoring part 2-b: introduce BufferChannel""
fad01bc45bd47b8f12c89857fee20b7e37310125 06-Jan-2017 Wonsik Kim <wonsik@google.com> Revert "MediaCodec refactoring part 2-b: introduce BufferChannel"

Bug: 34059849

This reverts commit 11b72100e02e02b6cd8a6b14cd2068c96dc49b7d.

Change-Id: I0ab93a617477861a4e6f43152e6b03d5c88783ab
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
e1c4b5d7a94c21b8ce0c5707b4af84de596fbb79 22-Dec-2016 Mikhail Naganov <mnaganov@google.com> Re-implement HIDL stream read and write using FMQ

Result: no hwbinder calls due read / write session.

Test: make, perform Loopback RTT, check traces
Bug: 30222631

Change-Id: I4a8792525ec374111302cfd5c0a2e41f9f4cc418
/frameworks/av/media/libaudiohal/include/StreamHalInterface.h
856132debf024e0bb02f1bbc86caec89c57f1fc2 03-Jan-2017 Jeff Tinker <jtinker@google.com> Merge "Remove superfluous type parameter to PluginLoader"
36867767ba86244b0d942255b9d241b092151309 29-Dec-2016 Jean-Michel Trivi <jmtrivi@google.com> USAGE_ASSISTANT/ACCESSIBILITY in audio policy manager

Add support for USAGE_ASSISTANT.
Fix stream type for USAGE_ACCESSIBILITY.

Test: enable Talkback, check volume; make
Bug: 30947943

Change-Id: Ie35adf0115dce1fac6d3deddc1e57e36b36913f6
/frameworks/av/media/libaudioclient/include/media/AudioPolicyHelper.h
535e161e2e404dffb8389dd331be0132704b6d82 05-Dec-2016 Glenn Kasten <gkasten@google.com> media.log: re-implement NBLog using audio_utils_fifo

NBLog previously has its own shared memory circular buffer code.
Now NBLog operates on top of the circular buffer code in audio_utils.

Test: media.log still works
Change-Id: Ib3026d2a96e6c0b433603e8baf19164ad97a1e1f
/frameworks/av/media/libnbaio/include/NBLog.h
af86dcee9d97e02e9069548684ef8c9db5190ff9 29-Dec-2016 Glenn Kasten <gkasten@google.com> Merge "NBAIO: re-implement NBAIO Pipe and MonoPipe using fifo"
35dfca88f18a105dad2c4d6f718c6c4bc89498e7 29-Dec-2016 Jeff Tinker <jtinker@google.com> Remove superfluous type parameter to PluginLoader

bug:32815560
Change-Id: I70ca8c30a3e7c96671c8781ece3a45f71caceee8
/frameworks/av/media/libmedia/include/media/PluginLoader.h
5fd7ccaeba88da7e170f067bfd754b3f64ff5566 29-Dec-2016 Pavlin Radoslavov <pavlin@google.com> Merge "Add a mechanism for handling audio device configuration change" am: 549e431947 am: a1b496ac35 am: fcc1132010
am: c6fe843463

Change-Id: I7812e3e4426e526b886c1a414ac8ddec7649291e
c6fe843463abc965f3082738c8812506cf5ba232 29-Dec-2016 Pavlin Radoslavov <pavlin@google.com> Merge "Add a mechanism for handling audio device configuration change" am: 549e431947 am: a1b496ac35
am: fcc1132010

Change-Id: I4c25c229b0bb8a385a231c7a9f444b923bb46456
f862bc6a7a35054e38cb50fa16ae7a07f683ee01 27-Dec-2016 Pavlin Radoslavov <pavlin@google.com> Add a mechanism for handling audio device configuration change

* Added new call handleDeviceConfigChange() to the Media Framework.
That call can be used when there are device configuration changes
(e.g., Bluetooth A2DP codec configuration has changed).
* Added new method AudioPolicyManager::handleDeviceConfigChange().
That method toggles the UNAVAILABLE/AVAILABLE connection state of the
device, so it can be reconfigured as appropriate - e.g., the audio
feeding parameters can be updated.
* Fix ALOGVV compilation errors when extra logging is enabled.

Test: A2DP streaming to headsets
Bug: 30958229
Change-Id: I388abbbb3ec4d1a003b441cb0c77e00d80cad668
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
704f71980464987a352a16ac95ffe1f9e24aa10b 22-Dec-2016 Jeff Tinker <jtinker@google.com> Merge "Added a plugin loader class for drm+crypto HALs"
1de11dc03234dabb5faffe74c72f17da0c1c6992 20-Dec-2016 Jeff Tinker <jtinker@google.com> Added a plugin loader class for drm+crypto HALs

bug:32815560
Change-Id: Iccd9451ff09e037db25eea672327912dd41c140f
/frameworks/av/media/libmedia/include/media/PluginLoader.h
da913494a93667a037e7923258b46d0d1dd2bf50 22-Dec-2016 Ray Essick <essick@google.com> Merge "Refine MediaAnalytics framework"
48fa06d1e80a872c7495804979256e021e566ae0 21-Dec-2016 Wei Jia <wjia@google.com> BufferingSettings: hook up internal BufferingSettings API.

Test: compiles
Bug: 32524218

Change-Id: I4b3f1689681560f0c1af3bfc62adee1ce630e218
/frameworks/av/media/libmedia/include/media/BufferingSettings.h
/frameworks/av/media/libstagefright/include/Utils.h
834b8b37f1aed1a49c21a407959845af18b9a4b7 21-Dec-2016 Eric Laurent <elaurent@google.com> Merge "audio HAL: implement mmap stream functions"
b5fac8ef36b302c12f897d06c7e097981843f3a0 12-Dec-2016 Ray Essick <essick@google.com> Refine MediaAnalytics framework

Rework some interfaces to avoid unnecessary sp<> mechanisms;
document which side of caller/callee owns pointers afterwards.
Rework internal attribute representation, add support routines.

Bug: 33547720
Test: Boot, ran subset of CTS media tests
Change-Id: Id0d65bd6a847704dc98d38be9aa5e1ce63c20e1c
/frameworks/av/media/libmediametrics/include/IMediaAnalyticsService.h
/frameworks/av/media/libmediametrics/include/MediaAnalyticsItem.h
af35aadb7ab558035b6cf45bd3930ecaa3a3b330 15-Dec-2016 Eric Laurent <elaurent@google.com> audio HAL: implement mmap stream functions

Bug: 33398120
Test: make marlin-eng with ENABLE_TREBLE true

Change-Id: I10df5440b9946398a73a7ee309eca860eae0bfcd
/frameworks/av/media/libaudiohal/include/StreamHalInterface.h
aadfdb27bb6afab4fd5d07616fb5e53e0b2122e8 20-Dec-2016 Pawin Vongmasa <pawin@google.com> Merge "Add conversion functions."
517b0e090680e378f056677201426ed9dc325c65 02-Dec-2016 Pawin Vongmasa <pawin@google.com> Add conversion functions.

There are 5 pairs of wrapper classes for the 5 HIDL interfaces: IOmx,
IOmxNode, IOmxObserver, IOmxBufferSource and IGraphicBufferSource.
Some additional functions of OMXBuffer and OMXFenceParcelable are needed
in the implementation of these wrapper classes, so they are added in
this CL as well.

Auto-generated files that correspond to interfaces without queryable
instances are removed.

Test: Compiles.

Bug: 31399200
Change-Id: Iaec9c0e0afee6fc847f324c3eb3c105d6342a1fe
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
/frameworks/av/media/libmedia/include/media/OMXFenceParcelable.h
ed99c2b5a99a8bfc163a6ffa0b767c82032b09b5 12-Dec-2016 Glenn Kasten <gkasten@google.com> NBAIO: re-implement NBAIO Pipe and MonoPipe using fifo

Also removed const from NBAIO_Sink::availableToWrite() because
at least one implementation can no longer implement the const-ness.

Test: normal mixer, tee sink, and remote submix still work
Change-Id: I8461177efdf53bba8295b147e97835b018804903
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
/frameworks/av/media/libnbaio/include/LibsndfileSink.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/MonoPipeReader.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/Pipe.h
/frameworks/av/media/libnbaio/include/PipeReader.h
6a308b02f138e358fb239ee2df5d54dd988f34fd 16-Dec-2016 Eric Laurent <elaurent@google.com> Merge "Add unique audio port IDs to AudioTrack and AudioRecord"
c7e4f8e44f40e43c884b87f7ed7a8c0caa365352 15-Dec-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix unused-parameter warnings" am: f7f08afc8b am: d276716104
am: 8f9439a358

Change-Id: Iba2e7dfbbb30cdb7d95badee8ff42ee6c355bfa2
e0df74555db49c7402113992eea3309a3d5cba51 15-Dec-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix mismatched-tags error" am: 604224ed40 am: 004ac55aef
am: 9d64132b04

Change-Id: I37563d77d2eaf6db5d1c5b579ad1f930f2d8f1e1
f7f08afc8be3160299a3afc2fa96d7ed7d6dbf8d 15-Dec-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Fix unused-parameter warnings"
7e7a469129e03c98ad4fda43b759cf1eb72d4ca7 14-Dec-2016 Dan Willemsen <dwillemsen@google.com> Fix unused-parameter warnings

These are exposed when frameworks/av/include is moved from being a
system include directory to a normal include directory.

Test: m -j checkbuild
Change-Id: I0e3787fbee70339f7dcbc979f448800ecfff0f17
Merged-In: I0e3787fbee70339f7dcbc979f448800ecfff0f17
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
81974909fc06ca0d83586a628a48e50bb46e04a1 14-Dec-2016 Dan Willemsen <dwillemsen@google.com> Fix mismatched-tags error

These are exposed when frameworks/av/include is moved from being a
system include directory to a normal include directory.

Test: m -j checkbuild
Change-Id: Iaa8f3808d578ebedc75e863b9818cfbbec9080b2
Merged-In: Iaa8f3808d578ebedc75e863b9818cfbbec9080b2
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/FrameRenderTracker.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
516f071d63671ad4708f30c2d13bf2e0be9cc8e3 15-Dec-2016 Dan Willemsen <dwillemsen@google.com> Merge "Fix unused-parameter warnings"
b5fc9e5454e606df9bed9ca81c1ab7f9317f8b54 14-Dec-2016 Dan Willemsen <dwillemsen@google.com> Fix unused-parameter warnings

These are exposed when frameworks/av/include is moved from being a
system include directory to a normal include directory.

Test: m -j checkbuild
Change-Id: I0e3787fbee70339f7dcbc979f448800ecfff0f17
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
61c2351da89cb281b2dfd56c6c6779ccb4bc1172 14-Dec-2016 Dan Willemsen <dwillemsen@google.com> Fix mismatched-tags error

These are exposed when frameworks/av/include is moved from being a
system include directory to a normal include directory.

Test: m -j checkbuild
Change-Id: Iaa8f3808d578ebedc75e863b9818cfbbec9080b2
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/FrameRenderTracker.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
4278ba02628d915b52d59dcf5477880cf99f39cd 20-Oct-2016 Marco Nelissen <marcone@google.com> SimpleDecodingSource: fix handling of Vorbis buffers

The Vorbis decoder needs the number of samples in a page added to
the end of the encoded data, which SimpleDecodingSource wasn't doing.
This affected Vorbis decoding using OpenSL ES.

Bug: 32258336
Test: ran CTS and OpenSLES tests
Change-Id: I436e4a1ee998ce4581eb540bea8b66154960a4e7
/frameworks/av/media/libstagefright/include/SimpleDecodingSource.h
20b9ef0b55c9150ae11057ab997ae61be2d496ef 05-Dec-2016 Eric Laurent <elaurent@google.com> Add unique audio port IDs to AudioTrack and AudioRecord

This will allow to track activity at the track level instead of
at audio session level as only possible with current implementation.

AudioTracks and AudioRecords will receive a unique audio port ID the
first time they register to audio policy with
getOutputForAttr()/getInputForAttr() and keep this ID for their
lifetime.

This CL is the first partial change and just updates the
audio policy and audio flinger APIs used at track creation time.

Test: basic regression test of audio playback and capture use cases

Change-Id: I8d612e67738e120494f61e3f7c60bfd0b2c6a329
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
5249a5583df9a17dc3899100ea642f29eb86a23e 05-Dec-2016 Marco Nelissen <marcone@google.com> Clean up DRM handling

Avoid calling SniffDrm twice, and remove [gs]etDrmFlag methods
since they serve no purpose anymore.

Test: ran forward lock CTS test, and played protected content in Play Movies

Change-Id: I8313d2dae459151bf965a76ac1125d36ce8176e6
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
b643627a557e44b9ab5879cf71e162af2d514ce3 08-Dec-2016 Eric Laurent <elaurent@google.com> fix client pid for effects applied by audio policy

Test: Hangouts call, Play Music with and w/o effects

Change-Id: Ia9b20f94be667dd92e0497f8ef9c0dc0e95afe28
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
56da4ce4783301fe11554289562b68a00654287e 08-Dec-2016 Hangyu Kuang <hkuang@google.com> Merge "media: Support muxing multiple video and audio tracks."
9b46a8f9ebcca3b86662e7ea998a2afea0153478 07-Dec-2016 Wonsik Kim <wonsik@google.com> Merge "MediaCodec refactoring part 2-b: introduce BufferChannel"
0567940b9eca82b99dbe631b020873b85059cc19 06-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: don't update meta for the same buffer"
1b35986c5045a97dbe852ab93046ab29bcb6a2de 06-Dec-2016 Chong Zhang <chz@google.com> stagefright: don't update meta for the same buffer

Even in dynamic ANW buffer mode, if the graphic buffer
is not changing, send sPreset instead of the same graphic
buffer, so that OMX server side doesn't update the meta.

In theory it should make no difference, however when the
same buffer is parcelled again, a new handle could be
created on server side, and some decoder doesn't recognize
the handle even if it's the same buffer.

bug: 33186735
Change-Id: Iff9e2958b90778ac37f93e74cb9cec1b89a9b5b8
/frameworks/av/media/libstagefright/include/ACodec.h
bda0543787ac57cf984381c34b6acbad0339d6c0 10-Nov-2016 Hangyu Kuang <hkuang@google.com> media: Support muxing multiple video and audio tracks.

Test: CTS test.

Bug:32781701
Change-Id: I0b92601ce0cd8668e3b141d18dac393e0da789e4
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
11b72100e02e02b6cd8a6b14cd2068c96dc49b7d 01-Dec-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 2-b: introduce BufferChannel

- MediaCodec stops tracking the whole buffer array from OMX.
- BufferChannel handles array management instead, if necessary.
- MediaCodec delegates secure buffer management to BufferChannel.
- Remove sf2.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Test: Mirror the screen via Cast.
Change-Id: Idc9fdee42ea0cdd3b5f15ba5c51647c3e16504a1
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
f967d6ab32360cab729a103ccf2a6b6c6da53f34 06-Dec-2016 Robert Shih <robertshih@google.com> Merge "MPEG2TSExtractor: get duration by seeking to end"
65abff18873fab87305049418c9b7c24fc0a2ef4 03-Dec-2016 Ray Essick <essick@google.com> Merge "initial mediasanalytics framework"
3938dc6363949ef126bb6188d26b5bef6db8be4d 01-Nov-2016 Ray Essick <essick@google.com> initial mediasanalytics framework

This encompasses the basic framework files for mediaanalytics. This
includes the library code to run in clients, the interface definitions
to get to the service, and the mediaanalytics service.

This version of the patchset also incorporates a wholesale change from
"Media Statistics" to "Media Analytics" -- which involved both textual
changes and file renaming

This does not include the changes to other entities that will be sending
data. We'll do those under separate per-entity commits.

Bug: 30267133
Test: run through cts' media stress tests
Change-Id: Iee7e722d10fd57c5d6b14e2947117ed0d3af4f2a
/frameworks/av/media/libmediametrics/include/IMediaAnalyticsService.h
/frameworks/av/media/libmediametrics/include/MediaAnalyticsItem.h
2c192ad2ef8474bf752a638e7adb49ef2011f548 02-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright/foundation: add AUnion and AData templates"
f558e0218d2677a813c9c600886f673894eec927 15-Nov-2016 Mikhail Naganov <mnaganov@google.com> libaudiohal: Implement simple HIDL client

This client requires both HIDL client and server to be of the same
ABI version (e.g. 32-bit).

EffectHalHidl::process and EffectHalHidl::processReverse are stubs.

Some extra warnings are logged due to unimplemented functions
in the legacy HAL.

Bug: 30222631
Change-Id: Id074131dec6d6c4f1031695abcf3ea066e92a5af
Test: Play Music (play / EQ), YouTube, Loopback RTLT, Ok Google on N5X
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
/frameworks/av/media/libaudiohal/include/DevicesFactoryHalInterface.h
82e147049625a4cfdcb228a1de7efda594d446c9 17-Nov-2016 Robert Shih <robertshih@google.com> MPEG2TSExtractor: get duration by seeking to end

Prerequisites for this implementation (included in this commit):
* DataSources:
+ add kIsLocalFileSource flag
* AnotherPacketSource:
+ implement getEstimatedBufferDurationUs
* ATSParser:
+ expose Event SourceType
+ expose first pts

Test: adb shell am start -a android.intent.action.VIEW -n <video player activity> -d <local ts file>
Bug: 31964524
Change-Id: Ifcb6b3246cfa3748ee4d87ed09dbdf62e963a6e5
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
d71f16268227c15a0ac2043e15900db5df2c417d 29-Nov-2016 Wonsik Kim <wonsik@google.com> Merge "MediaCodec refactoring part 2-a: introduce callback"
e322cc51459b3fac11e7a080c3eb8ee1bfb36fc8 16-Nov-2016 Lajos Molnar <lajos@google.com> stagefright/foundation: add AUnion and AData templates

Bug: 32885576
Change-Id: I33e09f3b91ea8e680779c0e0f77d1de9660c02d9
/frameworks/av/media/libstagefright/include/foundation/AData.h
/frameworks/av/media/libstagefright/include/foundation/TypeTraits.h
1f28e57bba33aca40775ae0e62cd28dbc22e834f 28-Nov-2016 Marco Nelissen <marcone@google.com> Merge "Move 'sniff' functionality from DataSource to MediaExtractor"
92d57f926eb39d72e8fd8f3b3c9e40d25f77ad47 22-Nov-2016 Marco Nelissen <marcone@google.com> Move 'sniff' functionality from DataSource to MediaExtractor

and don't register the sniffers in every process that plays media,
but only in the extractor process.

Bug: 33166870

Change-Id: Id269d1eab8be1549542adad3037729a63b5ebaef
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
b54cab90d4bf84745a57232080d72a50c3b731da 24-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "BufferingSettings: define internal BufferingSettings API."
d399e7e6065aa310e025ab633f633d5b4831a358 27-Oct-2016 Wei Jia <wjia@google.com> BufferingSettings: define internal BufferingSettings API.

Test: compiles
Bug: 32524218
Change-Id: I9a95b2fdfa497179305e031aac69e5a987614dbb
/frameworks/av/media/libmedia/include/media/BufferingSettings.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
fc88363032d90492845ad5b917496589ca225f63 21-Nov-2016 Jeff Tinker <jtinker@google.com> Merge "Removing widevine classic"
79054b1f53b448511f1edb6e0dcab1d7b6f39964 14-Nov-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 2-a: introduce callback

CodecBase instances do not post reply messages back to MediaCodec
explicitly --- Callback does the job instead.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Change-Id: I210993a3bbc306f970b8e9395a91e8697cfa832e
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/FrameRenderTracker.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
44a580a5262ba19c275aac3537b9306679819f94 19-Nov-2016 Wei Jia <wjia@google.com> Merge "mediaplayer: support same seek mode as MediaMetadataRetriever."
c5de09127e9e0d5df7aa587be317e1487d793245 18-Nov-2016 Wei Jia <wjia@google.com> mediaplayer: support same seek mode as MediaMetadataRetriever.

Test: manually force 4 seek modes in mediaplayer.
Bug: 32557491
Change-Id: Iea4f6dbfc224fc6da39624300c6d872b79142f07
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
0736a5eeb6a5f4139352ea033c0628cfa85b6b42 18-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: fix potential codec leaks in async stop/reset"
349b8b4c47817a565ded94ff351caf48782f1252 18-Nov-2016 Chong Zhang <chz@google.com> stagefright: fix potential codec leaks in async stop/reset

Currently if stop is followed by a reset from another thread,
we unblock the stop first (to avoid ANR) without waiting for
kWhatShutdownCompleted, and proceed with the reset request.
But this could cause release to return too early when the
kWhatShutdownCompleted for the stop is received. When this
happens, the reset() will unregister ACodec's handlers before
the real shutdown with deallocation is processed, causing
a codec node instance to be leaked.

To solve this problem, separate kWhatShutdownCompleted into
two messages kWhatStopCompleted and kWhatReleaseCompleted.
Release should only return upon kWhatReleaseCompleted.

Also initializing the fence fd in the metadata buffer (even
though it's not used) to avoid warning in freeBuffer.

bug: 32750454
bug: 32971559

Change-Id: If218c853955729a2a2f2e8356908115a79c442e3
/frameworks/av/media/libstagefright/include/CodecBase.h
fba972f9d7f87c47ac0820b7f99420acc7e5dc36 15-Nov-2016 Lajos Molnar <lajos@google.com> stagefright/foundation: add TypeTraits.h and Flagged.h

TypeTraits.h includes some additional type utility templates not
covered by <type_traits>.

Flagged.h is a template that allows adding flags to an arbitrary
type, and combine additional flags into that.

Bug: 32885576
Change-Id: I13faa6d265cc06df76609b255704d0cf22e2d904
/frameworks/av/media/libstagefright/include/foundation/Flagged.h
/frameworks/av/media/libstagefright/include/foundation/TypeTraits.h
29b7dcf6d3cdb97103467dc8106151c6260c239a 24-Oct-2016 Jeff Tinker <jtinker@google.com> Removing widevine classic

bug:30505334
Change-Id: I40ac8020b5442857936037a15847b0271359e624
/frameworks/av/media/libmedia/include/media/MediaDefs.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
aad28fc2465edadca45b2953c92186cb26f5ef51 14-Nov-2016 Mikhail Naganov <mnaganov@google.com> AudioParameter: add functions for working with parameter keys

Added functions that are helpful for building parameter query
strings to be used with HAL's 'get_parameter' methods.

Test: make
Change-Id: I66a4e94d65660b04ded4abb59a89d8288056a920
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
4c1d94395a64f4c3acd8f9e0d378a778e438221d 14-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "IOMX: add API for setPortMode"
d02c08671d666e12a94bcadd943787a9ab2ceea8 13-Oct-2016 Chong Zhang <chz@google.com> IOMX: add API for setPortMode

- Add setPortMode to centralize port mode configuration

- Remove storeMetaDataInBuffers and enableNativeBuffers. These are
no longer exposed to the client. Metadata mode and native/secure
buffer mode will be enabled by OMX as needed by the port mode.

- Move handling of legacy adpative experiment (legacy metadata mode)
to OMX side. Legacy mode will now appear the same as non-metadata
mode to client.

bug: 31399200

Change-Id: Iaf33bd7c30fab4acbc19e9fb8c19e322f9b4a0a0
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
/frameworks/av/media/libstagefright/include/ACodec.h
59d49567c207c104c1f242f55e2ce5b9e5b2b3f6 11-Nov-2016 Wonsik Kim <wonsik@google.com> Merge "stagefright: reuse buffers instead of cloning"
ad60a0f6cd9012507f8086fe741236d12d280ef3 10-Nov-2016 Wonsik Kim <wonsik@google.com> stagefright: reuse buffers instead of cloning

In buffer array mode, the buffer reference is kept in clients of
MediaCodec, so allocating new buffer for new input/output does not
work in that case.

Bug: 32577275
Bug: 32579231
Test: use screenrecord and investigate the output file.
Test: cts-tradefed run cts-dev -m CtsMediaTestCases -t android.media.cts.EncodeDecodeTest
Change-Id: I26d89f6b5735094062b8a2027bcab4754576d574
/frameworks/av/media/libmedia/include/media/MediaCodecBuffer.h
77109420fe285b4e9618bd5f0cd12e0fcef6eced 10-Nov-2016 Andy Hung <hunga@google.com> Merge "Audio: Use uid_t for uids"
49778b36d39a86caeff6069cb8ccefc177135ab0 09-Nov-2016 Hangyu Kuang <hkuang@google.com> Merge changes from topic 'metadata-support'

* changes:
media: Limit the maximum size of per-frame metadata.
media: Add metadata track support to MPEG4Writer.
1f12a8ad958344c50733b948628ffa06db9c5bc6 08-Nov-2016 Andy Hung <hunga@google.com> Audio: Use uid_t for uids

Test: Power manager shows correct uids for audio
Bug: 32713790
Change-Id: If5337e17283268f74dc0f00cc66ece9153d680ef
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
a36591ba9ce6258c3b2f9477761add084ac4ec47 08-Nov-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: hook up seekTo for precise seeking."
913d06c099bd689375483a839e11057ccf284d1c 01-Nov-2016 Mikhail Naganov <mnaganov@google.com> Move TypeConverter into a shared library

This will be needed for the default implementation of the audio HAL
in TREBLE for parsing supported formats etc. provided by HAL in
a form of string literals.

As a bonus, remove some hand-written type conversions in AudioFlinger
used in dumps.

Example changes in the dump output:

HAL format: 0x1 (pcm16) ==> HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
Processing format: 0x5 (pcmfloat) ==> Processing format: 0x5 (AUDIO_FORMAT_PCM_FLOAT)
Output device: 0x2 (SPEAKER) ==> Output device: 0x2 (AUDIO_DEVICE_OUT_SPEAKER)
Input device: 0 (NONE) ==> Input device: 0 (AUDIO_DEVICE_NONE)
AudioStreamOut: 0x... flags 0x6 (PRIMARY|FAST) ==>
AudioStreamOut: 0x... flags 0x6 (AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST)

Test: make & run
Change-Id: I9cde640e6827b7aa6d62e9caade9e738227e299f
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
/frameworks/av/media/libmedia/include/media/TypeConverter.h
/frameworks/av/media/libmedia/include/media/convert.h
b03b155f66553a097c732b0728564dbca0886d0d 04-Nov-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE SimpleDecodingSource: fix handling of Vorbis buffers
am: 2817be0fad

Change-Id: Iff73c1d4e7efdfae56c281aa105ae186d26fc11e
144868295f75a650a0b487c60f6983a0790fe39a 03-Nov-2016 Wei Jia <wjia@google.com> NuPlayer: hook up seekTo for precise seeking.

Test: compiles
Bug: 32557491
Change-Id: Idda3c87658f43101b9fd0fe22d2399710fb80211
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
d592974f4e1d8afc753ada8c10d2b252d8f852af 02-Nov-2016 Wei Jia <wjia@google.com> Merge "mediaplayer: add precise argument to seek function"
25adc33c1ba77b95162ebce8a4c2a7a07baeb98f 21-Oct-2016 Hangyu Kuang <hkuang@google.com> media: Add metadata track support to MPEG4Writer.

1. Remove the restriction that MPEG4Writer could only write at most one video
track and one audio track.
2. Allow muxing mutiple metadata tracks into the file. Did not put a limit on
each sample's metadata size now.
3. metadata mime format must start from prefix "application/".
4. metadata's format/layout is defined by the application.
5. Generated MP4 file use TextMetaDataSampleEntry defined in section 12.3.3.2
of the ISOBMFF to signal the metadata's mime format.

Test: Manual test.

Bug: 28536560
Change-Id: I97829e235e598e35fcad31f948eea5943f8c4fd5
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
67b6dccfd7b59efa772a3c2c553e7382c8f9f24c 01-Nov-2016 Wei Jia <wjia@google.com> mediaplayer: add precise argument to seek function

Test: compiles
Bug: 32557491
Change-Id: Id8c3a938edd5a0b34a9b33e86a4dbff32cf10c98
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
fd27cc04a3eafab479d635ef058756c56bfbad5f 31-Oct-2016 Hangyu Kuang <hkuang@google.com> Merge "media: Use audio timestamp for recording."
d72ffc4416959d2c94838888c781468b2351716d 28-Oct-2016 Wei Jia <wjia@google.com> Merge "BatteryNotifier: attribute battery usage of video to correct uid."
4f998cdef97b9c027f145b2da5c48278e19c3d33 27-Oct-2016 Hangyu Kuang <hkuang@google.com> media: Use audio timestamp for recording.

Test: Manual test.

Bug: 32243250
Change-Id: Iac9009acf1c86388e835975f83f91d40cbffb22f
/frameworks/av/media/libstagefright/include/AudioSource.h
f2ae3e19080938db8cbf29a963fd744a3964fcc2 28-Oct-2016 Wei Jia <wjia@google.com> BatteryNotifier: attribute battery usage of video to correct uid.

Test: manual check batterystats
Bug: 32361950
Change-Id: Id052220e87f6667ca908d5bf6be6164dc8c14c53
/frameworks/av/media/libstagefright/include/MediaCodec.h
d4370268adbbb95eca7a518a55abe42678df93ef 27-Oct-2016 Chong Zhang <chz@google.com> Merge "IOMX: consolidate buffer passing on IOMX"
2817be0fad2330cb040aef33ceb309ce273863c5 20-Oct-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE SimpleDecodingSource: fix handling of Vorbis buffers

The Vorbis decoder needs the number of samples in a page added to
the end of the encoded data, which SimpleDecodingSource wasn't doing.
This affected Vorbis decoding using OpenSL ES.

Bug: 32258336
Test: ran CTS and OpenSLES tests
Change-Id: I436e4a1ee998ce4581eb540bea8b66154960a4e7
/frameworks/av/media/libstagefright/include/SimpleDecodingSource.h
3fd200feb657c157125e45e30c2a7262e3c0244d 08-Oct-2016 Chong Zhang <chz@google.com> IOMX: consolidate buffer passing on IOMX

- Use OMXBuffer to parcel different buffer types.

- Only leave one useBuffer, emptyBuffer and fillBuffer.

- Remove the update metadata calls.

bug: 31399200
Change-Id: I307e59415c3c5be61772210431bd8225ce6b75a3
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/OMXBuffer.h
/frameworks/av/media/libstagefright/include/ACodec.h
3311417b219e5baa6a05e46637e553061fcd7268 27-Oct-2016 Hangyu Kuang <hkuang@google.com> media: Adjust the first video/audio sample time in slow motion.
am: 000d415617

Change-Id: Ie3f0d36dbbce0c50df62acb2a5ce021fdc37f434
5737a69a910de65b67d2703bcb18d6d8058ebe48 27-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "media: Adjust the first video/audio sample time in slow motion."
000d4156172b2595a47a6005f64af71055e128d7 26-Oct-2016 Hangyu Kuang <hkuang@google.com> media: Adjust the first video/audio sample time in slow motion.

Test: Manual test.

Bug: 32243250
Change-Id: I9469d6f9929ca67f2f12e658382bc76e7236b256
/frameworks/av/media/libstagefright/include/AudioSource.h
6f6555a169316f1b9e2acda2b8e7042e285de310 27-Oct-2016 Wonsik Kim <wonsik@google.com> Merge "MediaCodec refactoring part 1-c: buffer ownership"
bd83e4b3e77b31e089832bcfbebde086392216c9 26-Oct-2016 Hangyu Kuang <hkuang@google.com> media: Adjust the first video/audio sample time in slow motion.

Test: Manual test.

Bug: 32243250
Change-Id: I9469d6f9929ca67f2f12e658382bc76e7236b256
/frameworks/av/media/libstagefright/include/AudioSource.h
fd44d8e2f2d37184f7add67125657f3fbfb5a085 20-Oct-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 1-c: buffer ownership

- Buffers are (roughly) owned by themselves.
- As a corollary, remove output format change related events
and replace by inspecting formats associated with each buffers.

Bug: 32133435
Test: gts-tradefed run gts -m GtsExoPlayerTestCases
Test: (manual) Run Play Movies app to play a secure content.
Change-Id: I6b57da61c2d71acd0d5be4281de823ba1c95b72f
/frameworks/av/media/libmedia/include/media/MediaCodecBuffer.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
bf2e61f54c7dcc37c97b4908c9ed6871cf3d2b49 24-Oct-2016 Glenn Kasten <gkasten@google.com> Merge "Use audio_patch_handle_t in startAudioSource() and stopAudioSource()"
3604cb1a5548694393c7b7a87191eb517bebaa47 10-Oct-2016 Chong Zhang <chz@google.com> IOMX: move max pts gap handling to OMX

bug: 31399200

Change-Id: I52177d6826caeedf670ecf3e6d0ff85d0e3bf1df
/frameworks/av/media/libmedia/include/media/IOMX.h
559d439c6fe8679e3c52f1cf265d46d7d2e65b68 29-Mar-2016 Glenn Kasten <gkasten@google.com> Use audio_patch_handle_t in startAudioSource() and stopAudioSource()

Bug: 27903060
Change-Id: Iafc2095f484b74978c6f080c54f548e293bf945e
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
9ee0540d3a61bff03d561ca431a371c3d9335d2b 14-Oct-2016 Mikhail Naganov <mnaganov@google.com> Remove last references to hardware/audio.h

DeviceHalInterface transitioned to "capabilities" model
(similar to the one already used by streams, e.g. 'supportsDrain').
No direct checking of the HAL version is needed.

AudioPolicy uses its own version read from the configuration,
and these values never checked against the actual HAL version,
thus it does not need versions and macroses from hardware/*.

Test: make & run on N6P
Change-Id: Ic4a56bfa19a9a61edac2b9f9a163fd8f63a0ff87
/frameworks/av/media/libaudiohal/include/DeviceHalInterface.h
65fb65678345f03f38771523b7020f6777eff5c4 18-Oct-2016 Mikhail Naganov <mnaganov@google.com> Merge "Brush up audio parameters usage"
388360c786cdcbec650b79db65c734b8952dfec0 18-Oct-2016 Mikhail Naganov <mnaganov@google.com> Brush up audio parameters usage

It is preferred to use the constants from AudioParameter
(which can now serve as an abstraction layer similar to libaudiohal).

Grepped for usages of defines and just string values
and replaced with references to AudioParameter.

Since the parameter definitions are being moved to system/audio.h,
update includes in AudioParemeter and stagefright Utils.

Change-Id: I2addb983707d866b16f39d45d0e14b802595e292
Test: make
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
5bc1a9aa19fbf9c952cc9ccb212ff1aa8c2386c3 18-Oct-2016 Mikhail Naganov <mnaganov@google.com> Merge "Split audio effects headers"
0a2e01a3881ade646870373e1d544bea9cc3e721 15-Oct-2016 Andy Hung <hunga@google.com> Merge "AudioTrack: Add hasStarted method"
9fe94012187a29eeeca2c74e75f121192560fba0 14-Oct-2016 Mikhail Naganov <mnaganov@google.com> Split audio effects headers

There can be different use cases with the code that imports
headers from audio_effects (each subsequent case is a more
specialized version of the previous one):

1. The code only needs access to general structures
like effect_descriptor_t:
==> include system/audio_effect.h
Example: AudioSystem in libmedia

2. The code that needs access to effect UUID and parameter
enums:
==> include system/audio_effects/effect_foo.h
Examples: media framework effects interfaces, libwilhelm

3. The code that needs to call into HAL:
==> include hardware/audio_effect.h
Examples: libaudiohal (implementation part) and libeffects

4. The code that implements a particular effect:
==> include audio_effects/effect_foo.h
Examples: cts/.../CTSTestEffect.cpp
stuff in hardware/, vendor/

Note that AudioPolicy still deals with the effects HAL directly,
this needs to be fixed.

Change-Id: I963335ede6a196f9225caf21e1a01d03635e363c
Test: make
/frameworks/av/media/libmedia/include/media/Visualizer.h
65ffdfc7e92f9900d72bf6dc0b7f4e1231d4da03 11-Oct-2016 Andy Hung <hunga@google.com> AudioTrack: Add hasStarted method

Best guess determination whether the AudioTrack
has started playing.

Test: Photos app with pause and play.
Bug: 30502030
Change-Id: I03c0ae78037ec05f3025ed009ef67bd376b176ba
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
61a4fac2e3ec271241e3a4f405d7357b7f6ca4c2 13-Oct-2016 Mikhail Naganov <mnaganov@google.com> Remove dependencies on hardware/audio_policy.h

Most of the time it's not needed, may be needed when
USE_LEGACY_AUDIO_POLICY is enabled.

Test: make

Change-Id: Id25eafc05352f07614965913d367d484f2673fbd
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
61787b26691da285d8ab79795237006ceb018c4d 14-Oct-2016 Mikhail Naganov <mnaganov@google.com> Merge "Remove dependencies on hardware/audio_effects.h and EffectsFactoryApi.h"
7b01847d0e7211989e8b452976258356afcd45d4 14-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaCodec refactoring part 1-b: secure buffers"
4811923e80a8abefa278307ebf8cc9b0294ba67f 13-Oct-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 1-b: secure buffers

- Define SecureBuffer to encapsulate secure buffers containing
decrypted data.
- ACodec and MediaCodec use SecureBuffer to communicate between
themselves.

Bug: 32133435
Test: Play an encrypted content in Play Movies
Change-Id: Ic70f7f78aad15bd91ab8ccd31c340bc7964ab1b3
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
00260b5e6996b0a4b12f71c5b84e44adea040534 13-Oct-2016 Mikhail Naganov <mnaganov@google.com> Remove dependencies on hardware/audio_effects.h and EffectsFactoryApi.h

Also remove some outstanding dependencies on hardware/audio.h.

Most of the time, only constants and structs from audio_effects.h
are used, and no actual calls into HAL are made. Move these
definitions into system/audio_effect.h, and generate constants
from TREBLE HAL definition.

For parameters, always use values from AudioParameter class.

There are still some outstanding includes of hardware/audio.h
in code that directly deals with audio modules. Need to extend
libaudiohal interfaces to support required functionality.

Test: make

Change-Id: I0bcdf8ae199485d4d65f3eeb7e7a3b9b5cdb6ab6
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudiohal/include/EffectHalInterface.h
/frameworks/av/media/libaudiohal/include/EffectsFactoryHalInterface.h
f9125c36b47a3bb510b8317e64d70f01fd65b28f 13-Oct-2016 Andy Hung <hunga@google.com> Merge "AudioTrack: Fix timestamp restore"
f20a4e9f84bbb8748f28ca326caeba7a9947a369 16-Aug-2016 Andy Hung <hunga@google.com> AudioTrack: Fix timestamp restore

Test: Photos with BT on and off.
Bug: 29946998
Change-Id: I729590451126e180ee85e1ab3dee2a0b24f0572d
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
116974f01ad54d88a24f8e7af5334aff18fa199e 13-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "IOMX: consolidate createInputSurface APIs"
addf2cbb120346ae42e78fa739245a353db5edad 29-Sep-2016 Chong Zhang <chz@google.com> IOMX: consolidate createInputSurface APIs

- Create GraphicBufferSource in IOMX regardless of persistency.

- Remove createInputSurface on IOMXNode, only keep setInputSurface
which accepts either a persistent or non-persistent surface.

- Instead of holding a IGraphicBufferConsumer, hold
IGraphicBufferSource across session as the persistent surface.

- Fix up GraphicBufferSource to allow usage across sessions.
GraphicBufferSource itself becomes agnostic to persistency.

- Remove max encoder input buffers profiling code.

bug: 31399200
Change-Id: I15ed52cc64509fd87736372a580abf7b51bf4de7
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/PersistentSurface.h
cbc8f617c1aebef5d041fa40dcd38a5466690b99 12-Oct-2016 Mikhail Naganov <mnaganov@google.com> Eliminate dependencies on hardware/audio.h (trivial cases)

frameworks/av must not depend on hardware/ (except for the code
from libaudiohal that actually calls into HAL).

This CL deals with simple cases where depending on system/audio.h
is enough.

Change-Id: Ia2cb66cc8c92316ce5ab884a008d5e531263c2e4
Test: make
/frameworks/av/media/libaudiohal/include/DeviceHalInterface.h
/frameworks/av/media/libaudiohal/include/StreamHalInterface.h
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
21b46588d022d0c22d7c7c08e919d7a9c5cd76e3 04-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove allocateBufferWithBackup

Only keep useBuffer. Pass in quirks requirement for now, once
we have access to MediaCodecList XML info in OMX, we can remove
the quirks from IOMX.

Also remove a few unused variables on BufferMeta.

bug: 31399200
Change-Id: I93bef964ce034d4aeb1f5d13a75f130108e4e648
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
72e8bfdde091d78796c297ff708febf2a2cbbf6c 06-Oct-2016 Chong Zhang <chz@google.com> Merge "IOMX: remove nodeBinder from allocateNode"
1d2e9cfbe3f2db16ecafd2adafb4c60d7235a2ce 06-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove nodeBinder from allocateNode

This is no longer needed, the IOMXNode is already a binder,
we can just link to that.

bug: 31399200

Change-Id: Ic5dd5330dab448ae126aaec694f71f22857b3169
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
bdaffdd96d0a1537d083591f93aa6d1c9cbf89ac 05-Oct-2016 Hall Liu <hallliu@google.com> Rename UK tones to GB tones am: a97494e3ae am: 09374e278c
am: 4ec5187576

Change-Id: Ibc515d554dadf59f39db9a1fdd11ca96e67c7930
4ec5187576dbe802585b60f8e38720c9da4b269b 05-Oct-2016 Hall Liu <hallliu@google.com> Rename UK tones to GB tones am: a97494e3ae
am: 09374e278c

Change-Id: Ibec2de3319b6b51b26adf2c09f0e62a97619a119
95890237a25cb40f138d300cefd82764c76ca556 05-Oct-2016 Chong Zhang <chz@google.com> Merge "IOMX: remove getState() and livesLocally()"
7dcc5f394b17238f2ae1a9c59f34664d3ad085e7 05-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove getState() and livesLocally()

These are no longer used.

bug: 31399200

Change-Id: Ic61e8c7fa016ccd038e2b2427ccb08b78af34245
/frameworks/av/media/libmedia/include/media/IOMX.h
b578ed0b08c005641763f8f57413d6e859b52c86 04-Oct-2016 Colin Cross <ccross@android.com> Merge "Fix struct vs. class mismatch in forward definitions" am: 76e37adc30 am: f4d7441eab
am: c7a047a59e

Change-Id: Id3ddac509c25c48a718fe9915f917e0cd0324135
a97494e3aedc0be9362c13fad1fd83ac814b76d0 04-Oct-2016 Hall Liu <hallliu@google.com> Rename UK tones to GB tones

Previous CL which introduced UK tones was incorrect since "uk" is not a
valid ISO country code. This change checks for the "gb" country code
instead.

Change-Id: I1f99a7ec5dd24a112b2b1b486fe613f965fba7ff
Fix: 31003209
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
17c9fb736bcc45dfe4db526d12f6396ac0939f20 01-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "IOMX: separate node interface from IOMX"
a8435856fc919f540987cb1001b31e308ad48a5a 01-Oct-2016 Mikhail Naganov <mnaganov@google.com> Merge "Fix non-blocking playback threads creation"
c7a047a59e4165341fc4496e57892b7408485f84 01-Oct-2016 Colin Cross <ccross@android.com> Merge "Fix struct vs. class mismatch in forward definitions" am: 76e37adc30
am: f4d7441eab

Change-Id: Ic484da88aba1e0e494e444515467570c22117a0e
15897e459c5086058e73b3e91690320a7bb46d4a 01-Oct-2016 Mikhail Naganov <mnaganov@google.com> Fix non-blocking playback threads creation

Because PlaybackThread calls StreamOutHal::setCallback inside
the constructor, onFirstRef gets called while the vtable pointer
is set to PlaybackThread's vtable, not to its subclass vtable.
onFirstRef launches a thread which starts calling methods
that are abstract in PlaybackThread.

Fixed by changing the type of StreamOutHal::setCallback argument
from "sp" to "wp", as creating a weak pointer does not increase
strong refs count and thus doesn't call onFirstRef.

Bug: 31856492
Change-Id: I0d51bc73ca88b4b235260ed773870ecb7dac55d0
Test: added logging to verify the order of calls
/frameworks/av/media/libaudiohal/include/StreamHalInterface.h
00c553db3e9c486b016fa030be00f5b53c6b0b8e 01-Oct-2016 Colin Cross <ccross@android.com> Merge "Fix struct vs. class mismatch in forward definitions"
d59b97223424a3974d2ac31cff998d02eecf2eed 21-Sep-2016 Chong Zhang <chz@google.com> IOMX: separate node interface from IOMX

- Separate node interface from IOMX. Client allocates the
node through IOMX, and once it has the node interface,
it can interact with the node directly. There is no need
to go through IOMX and refer to the node by id.

- Simplify OMX, remove id-to-instance mapping on server
side, and move the callback dispatch into node instance
(as dispatcher is per-node).

- Keep track of node generation on client side to ensure
that message handling ignores messages directed at an
expired node.

- Remove MuxOMX, always use IOMX from media.codec.

- Minor whitespace reformatting.

bug: 31399200

Change-Id: I8aef6ec1fa5aba861da7d121960ed2974a963d81
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/OMXClient.h
7e34bf5af26f8752d4786d3098740cdf51e2438f 22-Aug-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 1-a: buffers become separate class

MediaCodecBuffer is meant to replace ABuffer and MediaBuffer in
communication between framework components. As the first step, replace
use of ABuffer in MediaCodec with MediaCodecBuffer, and adjust related
classes accordingly.

MediaCodec.getBuffer() and related APIs now returns MediaCodecBuffers;
thus change MediaCodec clients to use MediaCodecBuffer accordingly.

Test: manually tested for key use cases (Camera, YouTube and Play Movies)
Change-Id: Iba7ce131645e75ce5ddbf497fb793ab38b7f245b
/frameworks/av/media/libmedia/include/media/MediaCodecBuffer.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
/frameworks/av/media/libstagefright/include/SkipCutBuffer.h
be8f14c64b3af442dc1341ea9bf1ca68e56dd824 28-Sep-2016 Colin Cross <ccross@android.com> Fix struct vs. class mismatch in forward definitions

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I0eea5b59e7bd696d9aff44c8680361c99474e634
/frameworks/av/media/libstagefright/include/MediaCodec.h
0c02eed93cd238542061fd31e48c7bb66a9902be 28-Sep-2016 Colin Cross <ccross@android.com> Fix struct vs. class mismatch in forward definitions

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I0eea5b59e7bd696d9aff44c8680361c99474e634
/frameworks/av/media/libstagefright/include/MediaCodec.h
a0c91339814f37ea78365afb436c9f3d1f0a0090 19-Sep-2016 Mikhail Naganov <mnaganov@google.com> Update NBAIO to use the new audio HAL abstraction layer

Moved the HAL access abstraction layer to a separate library so it
can be used both by audioflinger and libnbaio.

Bug: 30222631
Test: manual with Loopback app, Hangouts, YouTube

Change-Id: Id622c2f1aa8f55a775d34f369a596c2c4d29d5be
/frameworks/av/media/libaudiohal/include/DeviceHalInterface.h
/frameworks/av/media/libaudiohal/include/DevicesFactoryHalInterface.h
/frameworks/av/media/libaudiohal/include/EffectHalInterface.h
/frameworks/av/media/libaudiohal/include/EffectsFactoryHalInterface.h
/frameworks/av/media/libaudiohal/include/StreamHalInterface.h
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
6d332d2cdf6e62c2c20ebff220868fe9e3ed7f44 07-Sep-2016 Chong Zhang <chz@google.com> stagefright: abstract GraphicBufferSource to interfaces

Create two interfaces from GraphicBufferSource:

a) IGraphicBufferSource for client (ACodec) to configure the graphic
buffer source. IOMX no longer routes these messages and OMX internal
options are removed.

b) IOMXBufferSource for IOMX to send OMX specific callbacks.

Added an |origTimestamp| argument to emptyGraphicBuffer, and restore
the original PTS inside OMX to avoid going back to GraphicBufferSource
to patch the output PTS. In the longer term, we should consider moving
the max PTS gap entirely into OMX (probably as an extension index).

Define newly introduced interfaces using AIDL to facilitate code
development.

bug: 31399200

Change-Id: Ibaf6ca1a0737ba6ba9f83bedc3b06ef358db36cb
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/OMXFenceParcelable.h
/frameworks/av/media/libstagefright/include/ACodec.h
d840ca71bd9eb41c777c6022ecda81b575874f31 23-Sep-2016 Dan Liang <dan.liang@intel.com> Merge "IMediaSource: Pack alignment of ReadOption struct" am: 7449b5e025 am: 0ff8666bee am: 99f553fab5
am: 162c17fad1

Change-Id: If23ca07c28b3f6f4b3881d7a0dc29c0870160047
162c17fad1ffa1db1588f82773933e8984661089 23-Sep-2016 Dan Liang <dan.liang@intel.com> Merge "IMediaSource: Pack alignment of ReadOption struct" am: 7449b5e025 am: 0ff8666bee
am: 99f553fab5

Change-Id: Ia3aa9ec9a9cb3ddb25de0ab8ad079eaeb7b8134f
99f553fab5fa815c11b4fdf5b6d1c33309b0f029 22-Sep-2016 Dan Liang <dan.liang@intel.com> Merge "IMediaSource: Pack alignment of ReadOption struct" am: 7449b5e025
am: 0ff8666bee

Change-Id: Iaafa2bed6399cc00b233b78d5d05d69d39ad2b0f
565de71d94463f3d78a5df24e916ca0ec96a6bcd 15-Sep-2016 Dan Liang <dan.liang@intel.com> IMediaSource: Pack alignment of ReadOption struct

int64_t aligns differently in x86 vs x64, which presents
problems when communicating across Binder.
Use packed struct to avoid problems.

Bug: 30472583
Change-Id: Iacdad792e19c19899cde5289238b5aa8981a9a7a
/frameworks/av/media/libmedia/include/media/IMediaSource.h
f28256f3113212db62aa8527b9ceae4caa414be3 02-Sep-2016 Mikhail Naganov <mnaganov@google.com> Make MidiDeviceInfo accessible to native code

Add a native class that supports serialization via Parcel.

Bug: 25945784
Test: using a PoC app
Change-Id: I10ff8dec38e5584a8e5a4c96b1f6978f708c305e
/frameworks/av/media/libmedia/include/media/MidiDeviceInfo.h
d5d60f642d1d2620b120ca46b1d409007f494321 19-Sep-2016 Lajos Molnar <lajos@google.com> fix build

Revert incorrectly merged f8a4cb410115045278f534e54b41ac78d6bf6c07.
Merge 7c3c2fa3e233c656fc8c2fc2a6634b3ecf8a23e8 instead.

Keep fixes to these that were merged in since then.
/frameworks/av/media/libmedia/include/media/IOMX.h
0f9516b8e4b7d22815d31ae461268aaf9ac752fd 17-Sep-2016 Colin Cross <ccross@android.com> Merge "Remove incorrect forward declaration" am: 50d06c8849 am: 156c5f3fe0 am: 705b64ab84
am: 2cd94964c8

Change-Id: I122b7b63843f3acc878858731df30a1ada02fdb7
2cd94964c87ca46427819664a618d722a30aee7d 17-Sep-2016 Colin Cross <ccross@android.com> Merge "Remove incorrect forward declaration" am: 50d06c8849 am: 156c5f3fe0
am: 705b64ab84

Change-Id: I93eebb25cb3e5e7336d336dc4e8a690b34173a73
705b64ab843bd0a305587b557c57bda5b062ebcc 17-Sep-2016 Colin Cross <ccross@android.com> Merge "Remove incorrect forward declaration" am: 50d06c8849
am: 156c5f3fe0

Change-Id: Ib66a96d28efe52b776a4a69989d379f91609a58a
ae4aba1969098ea645326e9844652793057bcb6b 16-Sep-2016 Colin Cross <ccross@android.com> Remove incorrect forward declaration

ANativeWindow is a struct, not a class, and the incorrect forward
declaration causes a warning when -isystem is removed from
system/core/include.

Test: m -j native
Bug: 31492149
Change-Id: I3516aa98defe1944a9776c07f52f4ee580366988
/frameworks/av/media/libmedia/include/media/mediaplayer.h
69d7857f1d4f55fec6f8f5c7750193d9e031757d 16-Sep-2016 ganxiaolin <ganxiaolin@xiaomi.com> Remove force argument to ensure mCaptureThread exit within Visualizer destructor am: 2e5b5704b0 am: 524354319a
am: 071a1d2752

Change-Id: I0be5c03861d06ae036898f1eac34c057ebaf2b54
071a1d2752101140d921d8c20b3c76cebd990228 16-Sep-2016 ganxiaolin <ganxiaolin@xiaomi.com> Remove force argument to ensure mCaptureThread exit within Visualizer destructor am: 2e5b5704b0
am: 524354319a

Change-Id: Ie415398b2a6b603c8ada1e89fafe865cddfe2ac9
1658f22ef0f4e4ae5640d2474fc138dab4a84844 02-Aug-2016 Lajos Molnar <lajos@google.com> IOMX: work against metadata buffer spoofing

- Prohibit direct set/getParam/Settings for extensions meant for
OMXNodeInstance alone. This disallows enabling metadata mode
without the knowledge of OMXNodeInstance.
- Do not share metadata mode buffers cross process.
- Disallow setting up metadata mode/tunneling/input surface
after first sendCommand.
- Disallow store-meta for input cross process.
- Disallow emptyBuffer for surface input (via IOMX).
- Fix checking for input surface.

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
/frameworks/av/media/libmedia/include/media/IOMX.h
2e5b5704b0028d8cf9467789dd0c01709644a523 29-Jan-2016 ganxiaolin <ganxiaolin@xiaomi.com> Remove force argument to ensure mCaptureThread exit within Visualizer destructor

Updated logic for exit request when effect is disabled.
This CL includes some original changes suggested by:
ganxiaolin <ganxiaolin@xiaomi.com>

Bug: 30684284

Change-Id: I77768e8204e712f3fd9d0a9bf768de3cb578d6ce
/frameworks/av/media/libmedia/include/media/Visualizer.h
1b291841a58ce6b2b291232dfdd56134b2185c48 18-Jul-2016 Glenn Kasten <gkasten@google.com> Fix RecordThread running too often if fast capture is active

Bug: 30159297
Change-Id: Ieca804450168391c162fc4862398586fcc5d7e4e
/frameworks/av/media/libnbaio/include/NBAIO.h
09fcc862f226df509cde12923d92cf6db53c4108 09-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: remove OMXNodeInstance usage from GraphicBufferSource"
6cf9a1238986880536de705255f7c2c91c1ba719 09-Sep-2016 Chong Zhang <chz@google.com> stagefright: remove OMXNodeInstance usage from GraphicBufferSource

This is a preliminary to separate GraphicBufferSource from IOMX.

- Use IOMX instead of internal OMXNodeInstance.

- Keep track of codec buffers by buffer_id, do not write to the
OMX buffer headers directly

- Upon data space change, notify IOMX to handle it

bug: 31399200

Change-Id: I86534d7602294f70da582457b5af2eb9b6a58eda
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/foundation/ColorUtils.h
5f7114f27c3ee61d5ccd866c99f3775136b1ab75 09-Sep-2016 Andy Hung <hunga@google.com> Improve MediaBuffer robustness for remote clients am: 9bd3c9b0e8 am: e2538f2f9b
am: ff97bcaf88

Change-Id: I97a2b06342b90949b489f72b9165fe618479fd82
ff97bcaf881576703e6a9af014f87529b3af774e 09-Sep-2016 Andy Hung <hunga@google.com> Improve MediaBuffer robustness for remote clients am: 9bd3c9b0e8
am: e2538f2f9b

Change-Id: I8d378f6c64bfe9a97941cddafe6c3163abc7a050
e2538f2f9b5d81ce53dc13bbf87b2f36f6c45eb5 09-Sep-2016 Andy Hung <hunga@google.com> Improve MediaBuffer robustness for remote clients
am: 9bd3c9b0e8

Change-Id: I3abb06e498b8951e5e934d0127e12b9adb65707c
9bbafdb5b4266d51d868844c624a33035a2abea1 09-Sep-2016 Andy Hung <hunga@google.com> Merge "Improve MediaBuffer robustness for remote clients" into nyc-mr1-dev
9bd3c9b0e894c9f6c48a2cfa7c5f21d384b1c596 07-Sep-2016 Andy Hung <hunga@google.com> Improve MediaBuffer robustness for remote clients

Allow remote process to die or behave incorrectly.

Bug: 31060086
Change-Id: I01bc8984287fed61a46083ec090b7773e49158a9
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaBufferGroup.h
86f051e812b896e527d890a6da11db8f8909fb1c 02-Sep-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource. am: 61fcfd1b0b am: 5ed707356a
am: 3dfe842f35

Change-Id: I677321476164b9a1b22c556bd2e5df0d5cea472e
3dfe842f35e2ee752f5b5b860d63b00863ad6179 02-Sep-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource. am: 61fcfd1b0b
am: 5ed707356a

Change-Id: I9e779e5de2d108a5b0c66c80d0613a3bdaf7fa6e
61fcfd1b0b58dff9284ede8dc49749ca7395856d 30-Aug-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource.

Bug:30919939
Change-Id: I7c1b626eee8512dac691b03309f724b3351e6e2f
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
5f50cdfb0cc40bd00d02a9b3519ef0d881b2b67e 19-Aug-2016 Wonsik Kim <wonsik@google.com> mediarecorder: fix timestamp adjustment for early pause/resume am: a5aeb87eab am: 5fe669bafa
am: f5a40c6895

Change-Id: Ic5f48984d0b3652b1b4d58bb53d5292ce51d6b79
f5a40c689555e845dd79184810355e5307f23e01 19-Aug-2016 Wonsik Kim <wonsik@google.com> mediarecorder: fix timestamp adjustment for early pause/resume am: a5aeb87eab
am: 5fe669bafa

Change-Id: I974f0099a03d7a783aeebbb514b7936f11caa463
5fe669bafa0b553003880a8c786eadd7d5f00b4a 19-Aug-2016 Wonsik Kim <wonsik@google.com> mediarecorder: fix timestamp adjustment for early pause/resume
am: a5aeb87eab

Change-Id: I622904e99552d9451f272abd201c38d1046a3604
991d3c37237922a96af883ca056c4393c4654523 19-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes Iafb91645,I56a0ec7b into nyc-mr1-dev

* changes:
mediarecorder: fix timestamp adjustment for early pause/resume
Revert "media: Mediarecorder drops the mediabuffer with negative adjusted timestamp."
b29385110c3f6a52e209c0e1cf70e9cf2eed5e89 18-Aug-2016 Eric Laurent <elaurent@google.com> Merge "Fix for tone glitch produced in ToneGenerator" am: 46f1c24c5a am: 84183ba496 am: 09b0b40fb4
am: 67b5bb745b

Bug: 29922404

Change-Id: Ie5185fda8ad4043ec199e9ebe74e67974ce7e44f
(cherry picked from commit 7f68f0f06504664b8b328f8b99ab5479f9dbd1a8)
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
7f68f0f06504664b8b328f8b99ab5479f9dbd1a8 18-Aug-2016 Eric Laurent <elaurent@google.com> Merge "Fix for tone glitch produced in ToneGenerator" am: 46f1c24c5a am: 84183ba496 am: 09b0b40fb4
am: 67b5bb745b

Change-Id: Ie5185fda8ad4043ec199e9ebe74e67974ce7e44f
67b5bb745b1eb502cf6cfcd4fc8f7b2e4dccff59 18-Aug-2016 Eric Laurent <elaurent@google.com> Merge "Fix for tone glitch produced in ToneGenerator" am: 46f1c24c5a am: 84183ba496
am: 09b0b40fb4

Change-Id: I0b2765bba69b2de8ec6a5d6cdc894c03e587ce2a
09b0b40fb4668726622891d40f16984c29ff05ba 18-Aug-2016 Eric Laurent <elaurent@google.com> Merge "Fix for tone glitch produced in ToneGenerator" am: 46f1c24c5a
am: 84183ba496

Change-Id: Iae5baa5892962245143dfecf4bac156dfe5a7912
84183ba49683678a3420c4c1108be7c1be69443c 18-Aug-2016 Eric Laurent <elaurent@google.com> Merge "Fix for tone glitch produced in ToneGenerator"
am: 46f1c24c5a

Change-Id: If7da9dbfe106fdda640fc817a4fffe05b2ed5dff
46f1c24c5ac7711702147c4db20e791827a88371 18-Aug-2016 Eric Laurent <elaurent@google.com> Merge "Fix for tone glitch produced in ToneGenerator"
a5aeb87eabfda3cb385eed405b843bdcb64252be 29-Jul-2016 Wonsik Kim <wonsik@google.com> mediarecorder: fix timestamp adjustment for early pause/resume

Bug: 30549032
Change-Id: Iafb916454499e9fac3af3b8a6abe06c652f84564
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
149df9f07107e249acec848c5a53d7b4c0d16a16 18-Aug-2016 Andy Hung <hunga@google.com> MediaBuffer: Only use shared memory for processes that export MediaBuffers am: cfa86b5efa
am: fde5258be5

Change-Id: I63edca0af5b025d650e9409045aa3b691555a21e
cfa86b5efa029391df04182dedfabd72b49a32f5 30-Jul-2016 Andy Hung <hunga@google.com> MediaBuffer: Only use shared memory for processes that export MediaBuffers

Reduces excess file descriptors and shared memory creation and releases.

Bug: 28930897
Bug: 30341084
Change-Id: I8190e22dd800f25be79ec33cb02613d15482e1d4
/frameworks/av/media/libstagefright/include/MediaBuffer.h
7d64d30d0dcdb97be921790e2702e5adfe751d92 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master am: 32d6e5f0eb
am: a944197b97

Change-Id: I03472be260cbfdaf436514d319e91063c738b82c
a944197b97b4e64ffb3abe91218d1db06ea9d7de 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master
am: 32d6e5f0eb

Change-Id: I200068e27004c5f3c9508a4f46747e0459b31ba8
32d6e5f0ebe9e00f80401e5f4fd6e285a474590d 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master

Change-Id: Iabb5d9b93b98e428c53f0504fbfe832ed24d988d
6ae8c7bc1fd68dc810155df7021fde26a2b2414c 12-Aug-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix clang-tidy warnings in stagefright."
e002c39c12c8371fcec57d31ad5d02ccdd82765a 12-Aug-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix clang-tidy warnings in stagefright."
16a811140d8591eb33a3d50b1542461fef3a06ff 11-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Remove RefBase base class from FrameRenderTracker" am: e4e2a8fc35 am: 89155dfeef am: 1f1fa8ba37
am: 335e29064d

Change-Id: Ifb638e8954f11840a70e4647494a97a7ed06a02d
335e29064de8f6cfe69ea3bb9fe6fc6c383380e1 11-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Remove RefBase base class from FrameRenderTracker" am: e4e2a8fc35 am: 89155dfeef
am: 1f1fa8ba37

Change-Id: I5a56c7580ef4e087686e1615262174150894fdc8
1f1fa8ba374b83eadeab27c98309a54e1e827394 11-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Remove RefBase base class from FrameRenderTracker" am: e4e2a8fc35
am: 89155dfeef

Change-Id: Ia30908472b9f1dad6307622914c3fd698d5fccde
89155dfeef87e07c36a6cf1dc839e881e8838e57 11-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Remove RefBase base class from FrameRenderTracker"
am: e4e2a8fc35

Change-Id: Ibf36079f9b9474988e7aed4d15964d89e2a0da49
e4e2a8fc35b1287968793a19c41c7ce29b18484c 11-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Remove RefBase base class from FrameRenderTracker"
5ca8f32280377dd923e72c3c6bd3994217461b8b 11-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of fd923e7 to stage-aosp-master am: df5d9246f9
am: 63ef5a38f8

Change-Id: I516a43c5e56323e99ad7a8ca2e4811b77c9704f4
63ef5a38f82d22c1f97922fe490a1fd336566d5c 11-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of fd923e7 to stage-aosp-master
am: df5d9246f9

Change-Id: I20767244fef48ad42334c5131e2d402f75bb7327
df5d9246f9607b1c2f8b134c46a05af06e206da3 11-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of fd923e7 to stage-aosp-master

Change-Id: I75b44b89bae41197a1fd68362d20b8ba2b4dd192
e964d4e421e2d1ca937227a580c0c837091a11e3 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in audio and playerservice.

* Add explicit keyword to conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
Test: build with WITH_TIDY=1

Change-Id: I265f3b094e08d5705b506b3fbba51439c134af84
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libmedia/include/media/RingBuffer.h
/frameworks/av/media/libmedia/include/media/SharedLibrary.h
36d0ca16024820df9a12903d2ac443fabcc180bc 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in audio and playerservice.

* Add explicit keyword to conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
Test: build with WITH_TIDY=1

Change-Id: I265f3b094e08d5705b506b3fbba51439c134af84
Merged-In: I265f3b094e08d5705b506b3fbba51439c134af84
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libmedia/include/media/RingBuffer.h
0d1ed381fde5dac12dd84fcf3da66dac46699378 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

* Add explicit keyword to conversion constructors.
* Or add NOLINT to implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
Merged-In: I7a15ac1e37973fe2c661f577a6106b913653de40
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/Utils.h
/frameworks/av/media/libstagefright/include/foundation/ABuffer.h
/frameworks/av/media/libstagefright/include/foundation/AHandler.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
/frameworks/av/media/libstagefright/include/foundation/AString.h
/frameworks/av/media/libstagefright/include/foundation/AWakeLock.h
40d8899f60c5212af9d727ba0ffaaecf676ebd1d 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

* Add explicit keyword to conversion constructors.
* Or add NOLINT to implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/Utils.h
/frameworks/av/media/libstagefright/include/foundation/ABuffer.h
/frameworks/av/media/libstagefright/include/foundation/AHandler.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
/frameworks/av/media/libstagefright/include/foundation/AString.h
/frameworks/av/media/libstagefright/include/foundation/AWakeLock.h
b3005317b85e96a89745ba7cdd12c8386b54abb1 10-Aug-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix clang-tidy warnings in drm." am: e055519839 am: aee0669a7b am: adc67b2078
am: 08b045338b

Change-Id: Ie87f1cf64a99434142e1a1be4e21773631c11bb0
08b045338bb42fa5caefab3fa9ea553c0c52f544 10-Aug-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix clang-tidy warnings in drm." am: e055519839 am: aee0669a7b
am: adc67b2078

Change-Id: I4ceab5f584e4a002372a2f84106b9d2476a08584
adc67b2078c7d4d52bb1deea21ba151f64f7cd13 10-Aug-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix clang-tidy warnings in drm." am: e055519839
am: aee0669a7b

Change-Id: Id1ad8443f50518c9fff322624db0bda23a0bcf62
aee0669a7bdc1502a5e3d0752aaf84b0354a005e 10-Aug-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix clang-tidy warnings in drm."
am: e055519839

Change-Id: I99159fb0391af796445ea24265d088d20d178077
29ac8d5c17fa8d75253e2a4baa70a30075f670af 05-Aug-2016 Andy Hung <hunga@google.com> Merge "MediaBuffer: Only use shared memory for processes that export MediaBuffers"
ed98d6cbf43b0e4640386f9a2603daae12e5adc3 03-Aug-2016 Hans Boehm <hboehm@google.com> Remove RefBase base class from FrameRenderTracker

FrameRenderTracker is never s standalone object, so it's unnecessary.
This avoids allocating a few extra heap objects. More importantly
it no longer interferes with my attempts to understand RefBase
objects that are deallocated without acquiring a strong reference.

Change-Id: I008b04b085fbab1efa4e8948efdcca14b26c247f
/frameworks/av/media/libstagefright/include/FrameRenderTracker.h
f8a6fff499b7defd9ea709118b979cd1035f6e61 02-Aug-2016 Tyler Gunn <tgunn@google.com> Add Australia specific supervisory tones. am: 50029b6d73 am: 0edaaefadd
am: d393216f27

Change-Id: If6659753f7a8b5d3f29b133ab136a7e3d9d96dea
d393216f2744b2f7359814c595e4e384e0b776f3 02-Aug-2016 Tyler Gunn <tgunn@google.com> Add Australia specific supervisory tones. am: 50029b6d73
am: 0edaaefadd

Change-Id: I9a46fafda33e1fa710c130ca09dde878f293eac4
4c3d1ee7415116f43c71e33ce1b2b2d72a311922 30-Jul-2016 Andy Hung <hunga@google.com> MediaBuffer: Only use shared memory for processes that export MediaBuffers

Reduces excess file descriptors and shared memory creation and releases.

Bug: 28930897
Bug: 30341084
Change-Id: I8190e22dd800f25be79ec33cb02613d15482e1d4
/frameworks/av/media/libstagefright/include/MediaBuffer.h
50029b6d7333197cc3d48e5d7e3bfd6ac3a288f0 02-Aug-2016 Tyler Gunn <tgunn@google.com> Add Australia specific supervisory tones.

Source: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf

Bug: 30492475
Change-Id: I39bab77ec4db8c81aa0e9f6c509c67970a76ab81
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
ad6d52d38917069e3d8e68cec1625855b9d96200 18-Jul-2016 Andy Hung <hunga@google.com> Flush FastCapture PipeReader when starting after stop

Discards stale frames.

Bug: 30199985
Change-Id: Ie93a3784bf052aba6989d2ff1be92b1980b0c207
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/PipeReader.h
a7edc529e64934aeb2044a6e6e69056f4ccbfea0 15-Jul-2016 Andy Hung <hunga@google.com> Merge \\"GenericSource: Allow multiple buffer reads for video\\" into nyc-mr1-dev am: e98f14ff19
am: 888de371da

Change-Id: I0cb63a7e930acc92408a94fbf2b381f6f1fe2d60
888de371da1b821975506c6013e2013ed6024e02 15-Jul-2016 Andy Hung <hunga@google.com> Merge \"GenericSource: Allow multiple buffer reads for video\" into nyc-mr1-dev
am: e98f14ff19

Change-Id: I8348ecb645e1aef74064bacdbacd8de6c20e4d94
7c8d572e1a5c6646b336a423febb8ebd1d6c15e9 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: advertise final VPX temporal layering in output format am: 9bbbdd3cab
am: e3caed1db3

Change-Id: I090a25fc01224dc80e7a4c80fa293bf028e8bd87
e98f14ff194bd00ed71574cff19340c1090c78dd 15-Jul-2016 Andy Hung <hunga@google.com> Merge "GenericSource: Allow multiple buffer reads for video" into nyc-mr1-dev
e3caed1db3de38d1e60403101390392e77adf815 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: advertise final VPX temporal layering in output format
am: 9bbbdd3cab

Change-Id: I5f52ab2f083a266f515e2182058fb6bd58d63b7a
9bbbdd3cab5c6b93649cbf31ba3097218944b06a 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: advertise final VPX temporal layering in output format

Bug: 30150921
Change-Id: Ic5207c5ce602f5ed8da4cb54de3e3fe692e98492
/frameworks/av/media/libstagefright/include/ACodec.h
dcf42c4a561352626c2b0671f79c70aead2f097e 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \\"stagefright: support floating point i-frame-intervals\\" into nyc-mr1-dev am: 210c67fe66
am: bb88069079

Change-Id: I38052fb4b996c509a92fa05eb50258febe84ec40
277d08aa27cad359fc8484f4234ae812795acc8d 15-Jul-2016 Andy Hung <hunga@google.com> resolve merge conflicts of e8d9d6d to master

Change-Id: I85bc31cb4eab680aee2ba409dddd975e0696b37e
bb88069079c3e406d4a72646fc9d65d2e802df90 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: support floating point i-frame-intervals\" into nyc-mr1-dev
am: 210c67fe66

Change-Id: Ie22063c391da1c84c9188207dccf8d2d62001102
210c67fe664fbe1b2aba4d3980912243b7ca99d3 15-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: support floating point i-frame-intervals" into nyc-mr1-dev
e8d9d6d8ff2c229313ab7f079ae52445e8ee6b5a 15-Jul-2016 Andy Hung <hunga@google.com> Merge \"IMediaSource: Improve shared memory buffer transfer\" into nyc-mr1-dev
am: 83efe020b9

Change-Id: I20c727525eb2aa9d9858ee59d699c5ae8b81ef1f
83efe020b94d29132bd4d5cbe049a15abad0095a 15-Jul-2016 Andy Hung <hunga@google.com> Merge "IMediaSource: Improve shared memory buffer transfer" into nyc-mr1-dev
63a4d50f472ca67b3174ae51911091e44db6956e 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: support floating point i-frame-intervals

Bug: 30096321
Change-Id: I181db0e03a47de1599c606ce6996e1d16acecda7
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
665d431f02054dfbcae1875499d6456b80a069c7 14-Jul-2016 Lajos Molnar <lajos@google.com> Merge \\"stagefright: ACodec: Enable temporal layered encoding for AVC/HEVC\\" into nyc-mr1-dev am: caeb609354
am: 8d1631c1fc

Change-Id: I1d64569ebe285cc93e49ac6889a5796ae4a2e231
8d1631c1fcbced8c81db8a3f5d86877be7da888d 14-Jul-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: ACodec: Enable temporal layered encoding for AVC/HEVC\" into nyc-mr1-dev
am: caeb609354

Change-Id: I4da3b8ab4d0b9bd180f51bbb7071859dde7ed980
2d46f5972c0f7583a36e9df0c9622e91d6a1a5fd 14-Jul-2016 Wei Jia <wjia@google.com> MediaExtractor: add DrmInitialization in IDataSource.
am: 9a1a953745

Change-Id: Ib5a5b4c2989fb9688e53ad4251892b8a6b863f2b
0f7442ddb82d5ceba2e0c081dc3d62996f1570a0 07-Apr-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: Enable temporal layered encoding for AVC/HEVC

Bug: 27596987
Change-Id: Ic81f305aaaa2da6b0084bf59d499fde2e4b43d54
/frameworks/av/media/libstagefright/include/ACodec.h
9a1a9537456e41cb8450f84a735c3d005a22ffe2 07-Jul-2016 Wei Jia <wjia@google.com> MediaExtractor: add DrmInitialization in IDataSource.

Bug: 28901867
Change-Id: Ic33dc8dc2f5f36239e057d2f2aceeb7738eef968
(cherry picked from commit 2a5e49c984befa066e966cd9af2303a54976f163)
/frameworks/av/media/libmedia/include/media/IDataSource.h
cdeb6603d862cec4adac7c39f3b8b240f2b645dc 29-Jun-2016 Andy Hung <hunga@google.com> GenericSource: Allow multiple buffer reads for video

Bug: 29125703
Change-Id: I23490a65ad3968d7be561805c9fa742320b5c78a
/frameworks/av/media/libmedia/include/media/IMediaSource.h
/frameworks/av/media/libstagefright/include/MediaBufferGroup.h
f59c0bafebcd795b20141bf928a5cab8ac46e882 16-Jun-2016 Andy Hung <hunga@google.com> IMediaSource: Improve shared memory buffer transfer

Bug: 29125703
Change-Id: Icf1180dee65f6504e6c10dd4d5b28a8e441f67d1
/frameworks/av/media/libmedia/include/media/IMediaSource.h
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaBufferGroup.h
f9eb4d2ca8eee725a33618da104f843acd3b6ff5 13-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \\"media: Optimize thumbnail extraction.\\" into nyc-mr1-dev am: 88bd73d9ac
am: 5691e5400a

Change-Id: I8326ab8c0da3ea670f059ed251e794a696e93e23
5691e5400a9cf7aee4c76ded5db7eed53bfb9c8d 13-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \"media: Optimize thumbnail extraction.\" into nyc-mr1-dev
am: 88bd73d9ac

Change-Id: I775751f4ceec359cee8edce04d71482f0cfa6ae0
88bd73d9acf5011ef40122fa9a1b43195facbe07 13-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge "media: Optimize thumbnail extraction." into nyc-mr1-dev
b23a8a8d5d56dc308438d523a66554a3a59227cf 13-Jul-2016 Wei Jia <wjia@google.com> Merge \\"MediaExtractor: add DrmInitialization in IDataSource.\\" into nyc-mr1-dev am: 489eb9bfaa
am: 464578df77

Change-Id: I2470062d2da23bd18e647ace03911722f6af6ff9
464578df7725dc452b35466e469b35e6f39d8e8f 13-Jul-2016 Wei Jia <wjia@google.com> Merge \"MediaExtractor: add DrmInitialization in IDataSource.\" into nyc-mr1-dev
am: 489eb9bfaa

Change-Id: I91208fea89388be02550c6c8b7a728dd9dd1ee31
a6bfb5060824f01041f956c733fec141504c280b 09-Jul-2016 Hangyu Kuang <hkuang@google.com> media: Optimize thumbnail extraction.

When extracting thumbnail image from a video, try to allocate single buffer
in both input and output ports.

Bug:29197670
Change-Id: I7c0722e7fe6f1ecd5f0b8addedeeda8d3b03249f
/frameworks/av/media/libstagefright/include/ACodec.h
2a5e49c984befa066e966cd9af2303a54976f163 07-Jul-2016 Wei Jia <wjia@google.com> MediaExtractor: add DrmInitialization in IDataSource.

Bug: 28901867
Change-Id: Ic33dc8dc2f5f36239e057d2f2aceeb7738eef968
/frameworks/av/media/libmedia/include/media/IDataSource.h
771955c39a67e0598648f3f416e4209003bb6b14 12-Jul-2016 Wei Jia <wjia@google.com> Merge \\"MPEG4Writer: Handle writing multiple NAL units in a video sample\\" into nyc-mr1-dev am: af0c7dfd57
am: ab99bf8a01

Change-Id: I19460fdda40a859a3fbc6d235c2d72302b8fe757
ab99bf8a017616c73193357c7815f60712570573 12-Jul-2016 Praveen Chavan <pchavan@codeaurora.org> Merge \"MPEG4Writer: Handle writing multiple NAL units in a video sample\" into nyc-mr1-dev
am: af0c7dfd57

Change-Id: I560d5f23bb9385194f506264bd08666bead463da
af0c7dfd5744b7c9e67e9afd26af417aadc6dc20 12-Jul-2016 Wei Jia <wjia@google.com> Merge "MPEG4Writer: Handle writing multiple NAL units in a video sample" into nyc-mr1-dev
0275063d397cfef5808f38ca96a3323ee490ef29 12-Jul-2016 Wei Jia <wjia@google.com> Merge \\"stagefright: Enhance MPEG4 writer/extractor to store/retrieve layer info\\" into nyc-mr1-dev am: 0093efba5a
am: 44fece2cf3

Change-Id: Iee233ea36d574f37fc9ddb4f4eb530c7c7a3dd57
44fece2cf363911efede91f81c7e57236d81f755 12-Jul-2016 Praveen Chavan <pchavan@codeaurora.org> Merge \"stagefright: Enhance MPEG4 writer/extractor to store/retrieve layer info\" into nyc-mr1-dev
am: 0093efba5a

Change-Id: Ia1a316c8dfd13bf146e94037a3743cdab88acdfe
0093efba5a3afae93dcd2664a8a54a8306cb538b 12-Jul-2016 Wei Jia <wjia@google.com> Merge "stagefright: Enhance MPEG4 writer/extractor to store/retrieve layer info" into nyc-mr1-dev
4dbff11975e737482537e1636051690188f3fbc4 08-Apr-2016 Praveen Chavan <pchavan@codeaurora.org> stagefright: Enhance MPEG4 writer/extractor to store/retrieve layer info

Store temporal layer-count in MP4 meta-keys.
Enhance MPEG4Extractor to parse layer-count and make it available in
file-meta.
For AVC, parse SVC-extension NALs (if available), to extract
the layer-id and make it avialble in buffer-meta.

Bug: 27596987
Change-Id: I84a8914b470a0aadec0e02692296b1915a6c776e
(cherry picked from commit 09c8bb3d3b01d213fb845cd9c24c5e18443d7626)
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
80f78b773f92048944a850efb7b60629643370cd 06-Apr-2016 Praveen Chavan <pchavan@codeaurora.org> MPEG4Writer: Handle writing multiple NAL units in a video sample

Encoder may prepend extension NALs (eg: AVC SVC extension NAL
for temporal layer info) to the VCL NAL.
Look out for non-VCL NALUs preceeding the slice NALs and write
them out separately.
Search for a limited size since such NALs are of small size.

Bug: 27596987
Change-Id: I434c5252098faca99c0ee18e6bc5f43a67718eba
(cherry picked from commit 7941196cf2f21c1a59c5cb2e8b93bbb6f7ff463c)
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
635127bc945ae3d9eddf8732a50f7ec2eddaa38c 08-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \\"media: Use libyuv for color conversion.\\" into nyc-mr1-dev am: ed61dd8752
am: a5cb3f08d5

Change-Id: Ib2bddfe8e0e7187e7b01515e8ab24b3ae62427db
a5cb3f08d5f14991f05749898d9a73e0666707b4 08-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \"media: Use libyuv for color conversion.\" into nyc-mr1-dev
am: ed61dd8752

Change-Id: Ibc87a02b1cb5481c9e73ce6ffba6a740db2c4b45
ed61dd87524387e9121bbf9633674ebd155ba85f 08-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge "media: Use libyuv for color conversion." into nyc-mr1-dev
d36af484a8dd3bbaf7ed7de31852c9f802243392 07-Jul-2016 Hangyu Kuang <hkuang@google.com> media: Use libyuv for color conversion.

Only use libyuv for converting yuv420p to rgb565 now.

Bug:29870647
Change-Id: Ic9f51de78bb1cc9f13ae229b30af66db46ec9b42
related-to-bug:29197670
/frameworks/av/media/libstagefright/include/ColorConverter.h
efcafd9117a923d8321d4395b08e69e01d33bb8c 29-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode am: 098446ae41 am: c58f76670d
am: 027a6a344f

Change-Id: I9a8cbeb9388c7e3fe6523fd06c2bed795806a457
027a6a344f9fde1d74e9b422e9793927a4f866f4 29-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode am: 098446ae41
am: c58f76670d

Change-Id: Ice7e7d10d47e591b626a9ec5a0c15dc31433f7f3
fd75b28a114aeb5f4c02a3c5c8f41fc80051b354 29-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode
am: 098446ae41

Change-Id: Ifd107e3eee5d0e38f1e4db75637ae25e78e07e76
c58f76670d68e57ff036cda3b4293a58b210a278 29-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode
am: 098446ae41

Change-Id: I09ea4d3c1a245656dedea581328e5b73d18f18cf
1ad5b240bfd49aa918092dbdc18c1a24c5e6c3a4 04-Mar-2016 Wonsik Kim <wonsik@google.com> stagefright: move several static methods out of ACodec

Bug: 24761407
Change-Id: Ica1d0286b1e800f5d4d0f120c043c0a556dab4c2
/frameworks/av/media/libstagefright/include/ACodec.h
ce4df5e534eb86748fe80c84efb6b7fc0b6b5b46 04-Mar-2016 Wonsik Kim <wonsik@google.com> stagefright: move MedaDefs from libstagefright to libmedia

Bug: 24761407
Change-Id: If4914340a645c6f3c14eea0c873c162926d72ca2
/frameworks/av/media/libmedia/include/media/MediaDefs.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
098446ae4100dfd989c452bb67133559aa892cd3 28-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode

BufferQueue now needs reconnect to allow dequeuing all buffers from
a BufferQueue.
Use getConsumerName instead of connect failure to detect that we
are connecting to the same surface.

Bug: 29422927
Change-Id: I4fc4d1ec9fd452ec027cab60b06e4af88d53d830
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/SurfaceUtils.h
3cb0ba5bb5042275372c899e4b3aa745a3d465df 23-Jun-2016 Glenn Kasten <gkasten@google.com> Merge \\"Revert \\"Restore old signature for acquire/release session\\"\\" into nyc-dev am: 6e70614750
am: 6a725defdf

Change-Id: I8591cfa0ac94a3dd13c97a596e48f7647adda69f
793caf8a76375aff3c22af4db7489859408f9b10 23-Jun-2016 Glenn Kasten <gkasten@google.com> Merge \"Revert \"Restore old signature for acquire/release session\"\" into nyc-dev
am: 6e70614750

Change-Id: Icbbcfdbbfce7ce8f00e40e58c9a13d1a1a245f37
6a725defdfeac9ba1d608504a87ea9095c73db55 23-Jun-2016 Glenn Kasten <gkasten@google.com> Merge \"Revert \"Restore old signature for acquire/release session\"\" into nyc-dev
am: 6e70614750

Change-Id: Ia4d3883803cdf91f0459e8549523cadb64afba51
fc5c22b0c574f97fbf5c87f9a01b4d60e27e6b37 23-Jun-2016 Glenn Kasten <gkasten@google.com> Revert "Restore old signature for acquire/release session"

This reverts commit 2d51b7c18ad0ffd142d7ba94203f52ba3f735530.

Change-Id: I8e17813b9639d8e928bcfa348d21c45fb8b5f846
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
c3b8968cb434fcdf270bb9eaaa96f859c4c14f58 23-Jun-2016 Glenn Kasten <gkasten@google.com> Merge \\"Restore old signature for acquire/release session\\" into nyc-dev am: ef9cab1d86
am: 20ca8a71cb

Change-Id: Iafa989fcaab7678cfc5b4d6305322591e717caa3
dc43ff40e32db2ce14d21ce25ce8a0f887cf9aa9 23-Jun-2016 Glenn Kasten <gkasten@google.com> Merge \"Restore old signature for acquire/release session\" into nyc-dev
am: ef9cab1d86

Change-Id: I2de74604cdf21c4535904f9c913392952943d3b5
20ca8a71cbb39cac7eeb0c17bb2df3e0f941ee6d 23-Jun-2016 Glenn Kasten <gkasten@google.com> Merge \"Restore old signature for acquire/release session\" into nyc-dev
am: ef9cab1d86

Change-Id: Ie5af8a39ffc8709b0d804927b2db5d13871492e0
2d51b7c18ad0ffd142d7ba94203f52ba3f735530 23-Jun-2016 Glenn Kasten <gkasten@google.com> Restore old signature for acquire/release session

Bug: 29490416
Change-Id: Iaf6be0666937c6fa625f936839f5a04d58350640
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
ba505c621b565e815739180ee8e779077a85b3c1 14-Jun-2016 Wei Jia <wjia@google.com> Merge \"IMediaSource: add supportReadMultiple().\" into nyc-mr1-dev
am: 5a71f1a211

Change-Id: I41bdcc6f58ef96718acddd19c169b6e54fcc26a9
d3f4e14d4c6ea02c49a50ad7c5fd08dd13b518e1 13-Jun-2016 Wei Jia <wjia@google.com> IMediaSource: add supportReadMultiple().

Bug: 29331573
Change-Id: I7cdff44878bd93671e98fe11c99d17e82410cdcb
/frameworks/av/media/libmedia/include/media/IMediaSource.h
bd9895f125e17a2463b4f9cf99c0f227a76aa1e7 10-Jun-2016 Marco Nelissen <marcone@google.com> Merge \\"Don\\'t use sp<>&\\" into nyc-dev am: 09b5fd9cbf
am: 88b6c4d3d8

Change-Id: I736f8066a2c2ee6ae63f3d6f66b485d3c2cbcb71
88b6c4d3d87cb9c2fd8fc3d9761975b097302eaf 10-Jun-2016 Marco Nelissen <marcone@google.com> Merge \"Don\'t use sp<>&\" into nyc-dev
am: 09b5fd9cbf

Change-Id: Id2e6fc9f6a85ff1d17fd6225291858b5012dda32
504e6adea003bc26688f0e84e58eb91feaa439ef 10-Jun-2016 Marco Nelissen <marcone@google.com> Merge \"Don\'t use sp<>&\" into nyc-dev
am: 09b5fd9cbf

Change-Id: I45e45e8f550922ef86daee7febf0ee6e4f427e95
fc908d010b32bbb850a6306893ce7db166a932f6 07-Jun-2016 Marco Nelissen <marcone@google.com> Don't use sp<>&

because they may end up pointing to NULL after a NULL check was performed.

Bug: 28166152
Change-Id: Iab2ea30395b620628cc6f3d067dd4f6fcda824fe
/frameworks/av/media/libmedia/include/media/IMediaDeathNotifier.h
b70868bb337f0b12f993494f4d110979a33ddd24 04-Jun-2016 Eric Laurent <elaurent@google.com> Merge "Add AudioTrack and AudioRecord flag checks" into nyc-mr1-dev
am: 2f8e63b5be

* commit '2f8e63b5be5b0160302cffe1f1f18e560d31d3e7':
Add AudioTrack and AudioRecord flag checks

Change-Id: If9043721f4763ce0f4db96c63595f92c5ba22556
2f8e63b5be5b0160302cffe1f1f18e560d31d3e7 04-Jun-2016 Eric Laurent <elaurent@google.com> Merge "Add AudioTrack and AudioRecord flag checks" into nyc-mr1-dev
050677873c10d4da308ac222f8533c96cca3207e 02-Jun-2016 Eric Laurent <elaurent@google.com> Add AudioTrack and AudioRecord flag checks

Verify that the requested flags are compatible with the input
or output flags when creating and AudioRecord or AudioTrack

Get rid of IAudioFlinger::track_flags_t which was redundant
with audio_input_flags_t and audio_output_flags_t.

Change-Id: I0dd9232f857b2737e99a8c668806e45bce09cdbd
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
1352895989907703c388607b54818309a50ea7ea 04-Jun-2016 Glenn Kasten <gkasten@google.com> Merge "AudioTrackShared: Fix audio_track_cblk_t layout for 64-bit" into nyc-dev am: e74a462862
am: 0ac7741651

* commit '0ac77416511c7aaef52ffac3613f5c9b651fc6e6':
AudioTrackShared: Fix audio_track_cblk_t layout for 64-bit

Change-Id: I17aa21540327b718c24d99fe3b5194b188937697
89ca2992a9873724eb38a33b42ff9410a6ddb21f 03-Jun-2016 Di Folco, Neil <neil.di.folco@intel.com> Merge "AudioTrackShared: Fix audio_track_cblk_t layout for 64-bit" into nyc-dev
am: e74a462862

* commit 'e74a4628622c1df5f41fab275a1cd26fbe096b5f':
AudioTrackShared: Fix audio_track_cblk_t layout for 64-bit

Change-Id: I3c3257c6f1729e96efa6951995f589c8a48227ee
10b3d7e2f4c7d630d621f3b1405e59cc9a581a9d 02-Jun-2016 Di Folco, Neil <neil.di.folco@intel.com> AudioTrackShared: Fix audio_track_cblk_t layout for 64-bit

Bug: 29096183
Change-Id: I3c2a4c3b0f61285a5ea5373818ccf10a89948307
Signed-off-by: Jinhui Li <jinhui.li@intel.com>
Signed-off-by: Yu Ning <yu.ning@intel.com>
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
ea45d3d8380225523d1c8b53a96db8f4b3314c53 28-May-2016 Lajos Molnar <lajos@google.com> ACodec: track crop and data space for each output graphic buffer am: fe73b95aae
am: 27ae987f00

* commit '27ae987f0067b7adbf0ef28f723b14d8111fd1c9':
ACodec: track crop and data space for each output graphic buffer

Change-Id: I5ee7cf89fc5fce605f87e9fe46143481c617d310
c79c77bccf09eb6ea12c76e8554ff0c9261908df 28-May-2016 Lajos Molnar <lajos@google.com> ACodec: track crop and data space for each output graphic buffer
am: fe73b95aae

* commit 'fe73b95aaef79ad312d9dfdb6c8873bd50c6c19e':
ACodec: track crop and data space for each output graphic buffer

Change-Id: I981a3aa4739e02ee2335f3a90a0c5f14c6c16581
fe73b95aaef79ad312d9dfdb6c8873bd50c6c19e 27-May-2016 Lajos Molnar <lajos@google.com> ACodec: track crop and data space for each output graphic buffer

- This prevents issues if buffers are rendered out of order, or
if output surface changes during use.
- Remember last crop and data space for native window to avoid
constantly setting them for each frame.

Bug: 28692500
Change-Id: Ie0d771c83007aad585d9db6c0c26fff8b9ed696e
/frameworks/av/media/libstagefright/include/ACodec.h
2ffdc0bdd49dfe4e1578cd3c845904e3e06b5940 26-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: fix hdr/color metadata handling for .mkv files" into nyc-dev
am: 1048f0fdeb

* commit '1048f0fdebadd16307dddaf0dd297e7340858218':
stagefright: fix hdr/color metadata handling for .mkv files

Change-Id: I8a45c61a7788e2346c148e4b124d50da748a2c3a
d637d296bb0954756d3d231633fad73fadd70316 25-May-2016 Lajos Molnar <lajos@google.com> stagefright: fix hdr/color metadata handling for .mkv files

This is needed for proper VP9 profile detection

Bug: 28671284
Change-Id: Ief313c9635462db7157988d7446e40f54e4cada7
/frameworks/av/media/libstagefright/include/MetaData.h
f4893ba28346acab7b738781d1785b13f35d37bc 25-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: allow ABitReader to fail gracefully" into nyc-dev
am: 5c8f37fdc3

* commit '5c8f37fdc332b9882b31497937070f480f2c6016':
stagefright: allow ABitReader to fail gracefully

Change-Id: I2c0830ff9a65d55eb5dc3e6a874924e3b043e8f3
3be85f905e5c63e1552554622a80fd8bee695044 24-May-2016 Lajos Molnar <lajos@google.com> stagefright: allow ABitReader to fail gracefully

Bug: 28938657
Change-Id: I0648e1b1fda13958550ef4470073e12a1ff054fd
/frameworks/av/media/libstagefright/include/foundation/ABitReader.h
688d14a492a16a82e55f654bc2ca66ce50ebf715 25-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings." am: 945da9bbcd
am: b3db6b8c3e

* commit 'b3db6b8c3e04337ec3b122a106f89d4691009bd9':
Fix misc-macro-parentheses warnings.

Change-Id: Ief489e128b5b77e3fed5878ce042b2325b7848bc
5cb96b83e6bff91a5ab006ff542dc32031be9087 24-May-2016 Andy Hung <hunga@google.com> Merge "Add memory heap checks for mediaserver and audioserver" into nyc-dev
am: f3d9908a88

* commit 'f3d9908a888203e7e70b8c2d43ee741a95e154ed':
Add memory heap checks for mediaserver and audioserver

Change-Id: I8b5dda2e29da8651cbd9dbc77fa9ca6211b1a47d
f3d9908a888203e7e70b8c2d43ee741a95e154ed 24-May-2016 Andy Hung <hunga@google.com> Merge "Add memory heap checks for mediaserver and audioserver" into nyc-dev
cc516cdd0293fead98ed33fa0334c79a940c8653 24-May-2016 Eric Laurent <elaurent@google.com> Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check
am: b2379ba0a3

* commit 'b2379ba0a32638bae2ea0460644f68cf5a0967ce':
Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check

Change-Id: Iff08e0b44c71b63d101ca26c6ed9972fa030bfb1
8b269a1708b95d5f31ea59afb36bb42c26f91961 24-May-2016 Haynes Mathew George <hgeorge@codeaurora.org> Merge "audioflinger: Pass pid of process creating track or opening record" into nyc-dev
am: a0e10ff02b

* commit 'a0e10ff02b156738c0e5441104821b220eea3d68':
audioflinger: Pass pid of process creating track or opening record

Change-Id: I728ffba8938a82f8b8f7b773febafd5e466c8e4d
b2379ba0a32638bae2ea0460644f68cf5a0967ce 24-May-2016 Eric Laurent <elaurent@google.com> Fix android.permission.CAPTURE_AUDIO_OUTPUT permission check

Make sure we use the correct PID and UID when checking
android.permission.CAPTURE_AUDIO_OUTPUT permission from audio
policy service.

Bug: 28772898
Change-Id: I8f0c45bf7a5728b4364a451eefb6c025892ae9a5
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libstagefright/include/AudioSource.h
a0e10ff02b156738c0e5441104821b220eea3d68 24-May-2016 Eric Laurent <elaurent@google.com> Merge "audioflinger: Pass pid of process creating track or opening record" into nyc-dev
9ea77cdba8c422940adb57a790b44ac04fe0353f 07-Apr-2016 Haynes Mathew George <hgeorge@codeaurora.org> audioflinger: Pass pid of process creating track or opening record

AudioFlinger allocates a Client heap for each unique pid.
If two applications use mediaplayer APIs, the same Client heap
is reused as the pid used is not the application pid but that
of mediaserver. With this change, the pid of the application
pid is used to decide the heap to be used.

Bug: 23525542
Bug: 28772898
Change-Id: I31a695b0b321eff6e2aca80c3bc4aeb3e1cd9ac7
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
07b745e166ee62030960ccea37e117caadf71c32 24-May-2016 Andy Hung <hunga@google.com> Add memory heap checks for mediaserver and audioserver

Memory heap check updated and restored to mediaserver,
added as new option to audioserver.

Requires properties to be set (example for audioserver):

$ adb shell setprop libc.debug.malloc.program audioserver
$ adb shell setprop libc.debug.malloc.options backtrace=8
$ adb shell pkill audioserver

...

and to dump:

$ adb shell dumpsys media.audio_flinger -m

Bug: 28909124
Bug: 27500825
Change-Id: Ifa8c2c02b022daf1a799ee4a1d75282a3c921763
/frameworks/av/media/libmedia/include/media/MemoryLeakTrackUtil.h
361ba742e2a15b2a6c799a4c6ed8315711a97b96 24-May-2016 Lajos Molnar <lajos@google.com> stagefright: add flags to NuMediaExtractor::getTrackFormat
am: 768a2537a8

* commit '768a2537a86ac2f3513e42aafb5f3b8ee967ef6c':
stagefright: add flags to NuMediaExtractor::getTrackFormat

Change-Id: Ia68a08ffdb81275d73624944aaa732d247549c8e
4bd13b794755832253d864faf4ed23ea9aa678c9 24-May-2016 Lajos Molnar <lajos@google.com> stagefright: get stream header information from MPEG2 video tracks
am: 0dc8be97f0

* commit '0dc8be97f0fbee707b69b24b3a8d914f88c77423':
stagefright: get stream header information from MPEG2 video tracks

Change-Id: I968fe600b13c6f0ba30a016b0c427fce45be1c6b
768a2537a86ac2f3513e42aafb5f3b8ee967ef6c 21-May-2016 Lajos Molnar <lajos@google.com> stagefright: add flags to NuMediaExtractor::getTrackFormat

This is to allow passing mpeg-2 stream headers.

Bug: 28671284
Change-Id: I63abecad58ae346fa12d33896bbd8c970194d7e3
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
0dc8be97f0fbee707b69b24b3a8d914f88c77423 21-May-2016 Lajos Molnar <lajos@google.com> stagefright: get stream header information from MPEG2 video tracks

Bug: 28671284
Change-Id: I2367fd49f016b906299137afcabcd5cd1e7af4e3
/frameworks/av/media/libstagefright/include/MetaData.h
023f2a52fa2efd29c2e4fdddbd1a20a91eb608b2 23-May-2016 Lajos Molnar <lajos@google.com> stagefright: fill in profile/level when reassembling AVCC
am: 47d8891199

* commit '47d8891199f40a3a89c2910e4407f82a125df43b':
stagefright: fill in profile/level when reassembling AVCC

Change-Id: I7f14c4b0c320d76f3d87a2cee8474b9060ac36da
47d8891199f40a3a89c2910e4407f82a125df43b 20-May-2016 Lajos Molnar <lajos@google.com> stagefright: fill in profile/level when reassembling AVCC

Also reuse same findNextNalStartCode code.

Bug: 28671284
Change-Id: I71c8e47a012190ac277eae6d8654579c2b802329
/frameworks/av/media/libstagefright/include/Utils.h
013ce69d91e05d50d0f6d54943ccc3ba28fbe5e6 21-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: fix issues with bitrate handling" into nyc-dev
am: 2b1a242470

* commit '2b1a242470adb3ef4ba3a63c21f5415581324c4f':
stagefright: fix issues with bitrate handling

Change-Id: Ibe48277a28d6cde7c4cd35383f7fb38e126a3153
46f80165c595d81dda68f8f3fea27f4fb04937dd 20-May-2016 Lajos Molnar <lajos@google.com> stagefright: fix issues with bitrate handling

- parse btrt mp4 box
- write max and avg. bitrates into avcc
- fix the use of "bit-rate" vs. the correct "bitrate"
- document ESDS better
- fix some spacing

Bug: 28671284
Change-Id: I94961a095c6d162af38b7999cc946f899a1b1b09
/frameworks/av/media/libstagefright/include/MetaData.h
83fbbb8f8705445a4d4a9532d17690098f36f50f 18-May-2016 Chih-Hung Hsieh <chh@google.com> Fix misc-macro-parentheses warnings.

Bug: 28705665
Change-Id: Ia4c2ab619f62648aa1f0c84b7264fee07ddbe9ac
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libstagefright/include/Utils.h
/frameworks/av/media/libstagefright/include/foundation/ABase.h
507c191a6d2e0f1590549d6db6294e380b44ef17 14-May-2016 Wei Jia <wjia@google.com> Merge "IMediaSource: add readMultiple API to speed up inter-process reading." into nyc-dev
am: 51f03edcb3

* commit '51f03edcb36dcca327e9d5aa2410654e8a1b2809':
IMediaSource: add readMultiple API to speed up inter-process reading.

Change-Id: I3882ea39ef22a8c2e9fafbf734854c6e3ca931b7
51f03edcb36dcca327e9d5aa2410654e8a1b2809 14-May-2016 Wei Jia <wjia@google.com> Merge "IMediaSource: add readMultiple API to speed up inter-process reading." into nyc-dev
1f1fc459ddb67d1162f2dbb10d14e57f42841da2 12-May-2016 Wei Jia <wjia@google.com> IMediaSource: add readMultiple API to speed up inter-process reading.

GenericSource: use readMultiple for audio track.
Bug: 28545177
Bug: 22775369
Change-Id: If26b80e75eba4212105d51140c4bfce85ec664f8
/frameworks/av/media/libmedia/include/media/IMediaSource.h
d2119f3976fb93e9e1c2aa1be52adae3df2ca73f 10-May-2016 Vignesh Venkatasubramanian <vigneshv@google.com> Merge "Pass VP9 Codec Specific Data from the Container" into nyc-dev
am: 98268270da

* commit '98268270da9e728f706d4d44260950dc5d1ed6c4':
Pass VP9 Codec Specific Data from the Container

Change-Id: I112db5e859ed47776ca2b1b022c8dc618eb37bab
98268270da9e728f706d4d44260950dc5d1ed6c4 10-May-2016 Vignesh Venkatasubramanian <vigneshv@google.com> Merge "Pass VP9 Codec Specific Data from the Container" into nyc-dev
10dac29441a24144029e8a194d07eb17db40b7e5 10-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: IOMX: pass native handle in sp<NativeHandle>" into nyc-dev
am: 038ccfd6ff

* commit '038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133':
stagefright: IOMX: pass native handle in sp<NativeHandle>

Change-Id: I31d255bea906aca9ae23f5f4678d6557bc84052b
038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133 10-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: IOMX: pass native handle in sp<NativeHandle>" into nyc-dev
1b40f2804a27b695e9e53fb1699b64cb0dd387f9 10-May-2016 Lajos Molnar <lajos@google.com> stagefright: IOMX: pass native handle in sp<NativeHandle>

This clarifies ownership of the native handle

Bug: 28644266
Bug: 27856976
Change-Id: I7a617513d7ac93dd58d74af9469663418735aaf3
/frameworks/av/media/libmedia/include/media/IOMX.h
b7e75437b160fd8fe239f62f690af6ff0c2a7df6 10-May-2016 Lajos Molnar <lajos@google.com> Merge changes I58b03acd,I7d7eb086 into nyc-dev
am: 0d0a8b48d2

* commit '0d0a8b48d267a1980cfd9507b51d173756835f34':
stagefright: untangle metadata-mode handling
stagefright: add a way to update native handle in OMX buffers

Change-Id: I857573724b0a4f7b38832777b12caa8666ac210b
0d0a8b48d267a1980cfd9507b51d173756835f34 10-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I58b03acd,I7d7eb086 into nyc-dev

* changes:
stagefright: untangle metadata-mode handling
stagefright: add a way to update native handle in OMX buffers
38616ced5b3d0e19389a20c7f7472d842bae1990 10-May-2016 Pawin Vongmasa <pawin@google.com> Merge "AMessage::FromParcel(): Limit recursion depth; report NULL on failure." into nyc-dev
am: 6393ea6915

* commit '6393ea6915e7e6fede4cee31bab0d373ce90211b':
AMessage::FromParcel(): Limit recursion depth; report NULL on failure.

Change-Id: I9cef657c3701d0443d21476c81c8cd1ed62b637b
6393ea6915e7e6fede4cee31bab0d373ce90211b 10-May-2016 Pawin Vongmasa <pawin@google.com> Merge "AMessage::FromParcel(): Limit recursion depth; report NULL on failure." into nyc-dev
3e328782f1e1061d08ea0c45b855cc418a2d9ea6 09-May-2016 Lajos Molnar <lajos@google.com> stagefright: untangle metadata-mode handling

- specify requested metadata mode from producers to OMX
- (pass requested metadata in IOMX::storeMetadataInBuffers)
- use correct logic for native handle source
- use native handle source for encoded meta buffers

Bug: 22775369
Change-Id: I58b03acd3e9a5367d5010d7f87b7af5cae23362c
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
7e0bef8aa6bf9db06079b743794ec2712ad84431 09-May-2016 Lajos Molnar <lajos@google.com> stagefright: add a way to update native handle in OMX buffers

Bug: 22775369
Change-Id: I7d7eb0868fef896d1cb0a45bec759a00f0783673
/frameworks/av/media/libmedia/include/media/IOMX.h
e2e3b6846d856da79ad067b3b7bf559cc69af5ab 10-May-2016 Andy Hung <hunga@google.com> Merge "Improve timestamp jitter fix" into nyc-dev
am: 5adc73643f

* commit '5adc73643fbccb4d7a768ab669e6c6eb434c4c98':
Improve timestamp jitter fix

Change-Id: Ia604305fa7208b938fa182cffb55f77be6c885a1
d0d32c0d39b56d7e85fcaa61f3245ac7bbb1f9eb 26-Apr-2016 Vignesh Venkatasubramanian <vigneshv@google.com> Pass VP9 Codec Specific Data from the Container

WebM container now has a provision to specify the VP9 Profile
and Level information in the container. Pass it to the Decoder as
Codec-Specific-Data. The software VP9 decoder will merely ignore
it.

Bug: 28152818
Bug: 28380207
Bug: 25684127

Change-Id: I77e2dc333093a346df6671e5f8d6d918ed45f7fb
/frameworks/av/media/libstagefright/include/MetaData.h
6d7b119a416c9f10288051e562f294365e5d954c 08-May-2016 Andy Hung <hunga@google.com> Improve timestamp jitter fix

Use last valid kernel timestamp on server side, not client side.

Bug: 28465713
Change-Id: I33590d6922980f288355f947bc56279245058429
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
8dab17305ff72298e2b4874592ac72c004c392d8 03-May-2016 Pawin Vongmasa <pawin@google.com> AMessage::FromParcel(): Limit recursion depth; report NULL on failure.

- FromParcel() now takes as an optional parameter the maximum recursion depth.
(The default value is currently set to 255.) On the event that the input
parcel has AMessage nested deeper than the maximum recursion depth,
FromParcel() will return NULL.
- Also, when the input parcel has items that are not recognized by FromParcel(),
NULL will be returned. (The old behavior was to invoke TRESPASS, which would
cause the process to stop.)

Bug: 28332724
Change-Id: I722097f7d1711668f197651d7e8135d703f6c91f
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
1d6e10705362b9643aff0b6279a4e592c1856871 06-May-2016 Marco Nelissen <marcone@google.com> Merge "Dump local source, not remote" into nyc-dev
am: 0b667e2f6f

* commit '0b667e2f6f9e871e2fdc89100b8ef4cc623adec2':
Dump local source, not remote

Change-Id: I760f88f313abb9c17c858ef24c9bdc113fc2d548
0b667e2f6f9e871e2fdc89100b8ef4cc623adec2 06-May-2016 Marco Nelissen <marcone@google.com> Merge "Dump local source, not remote" into nyc-dev
a321469104536544d1cf0c0098d14bbf14186e88 06-May-2016 Marco Nelissen <marcone@google.com> Dump local source, not remote

dumpsys media.extractor was printing the remote source instead of starting at
the local source.

Bug: 22775369
Change-Id: I5026218515bf7ceb8485005ed7d89638a9c1963b
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
4ae323feec80305ec7616ed021e01928c86e7653 06-May-2016 Hangyu Kuang <hkuang@google.com> Merge "media: Drop CSD buffer if VP9 decoder does not advertise profiles." into nyc-dev
am: 260ae76207

* commit '260ae76207ab15948113418e7ea05f1ca2dae71b':
media: Drop CSD buffer if VP9 decoder does not advertise profiles.

Change-Id: I93cec7f910a72e64e52baed6e75194a24e137f26
260ae76207ab15948113418e7ea05f1ca2dae71b 06-May-2016 Hangyu Kuang <hkuang@google.com> Merge "media: Drop CSD buffer if VP9 decoder does not advertise profiles." into nyc-dev
f88dc1865408506f69c858818ea05f5248ff4462 03-May-2016 Hangyu Kuang <hkuang@google.com> media: Drop CSD buffer if VP9 decoder does not advertise profiles.

Bug:28380207
Change-Id: I055a803ce07e7169d5de8da7143e9601352e103b
/frameworks/av/media/libstagefright/include/ACodec.h
95aa1eb5a09865a50d272bace5ced2a117e8828e 03-May-2016 Andy Hung <hunga@google.com> Merge "AudioTrack: Fix timestamp jitter" into nyc-dev
am: 7aa45dd7fc

* commit '7aa45dd7fc5c2bd959f1571231556ac06b7ec8ae':
AudioTrack: Fix timestamp jitter

Change-Id: I2f015ce48bc668bc06968f6b3d2087ee8ee047cf
7aa45dd7fc5c2bd959f1571231556ac06b7ec8ae 03-May-2016 Andy Hung <hunga@google.com> Merge "AudioTrack: Fix timestamp jitter" into nyc-dev
20be7bf5ba6f3d4db36686d5af4316006cf9bb27 02-May-2016 Chien-Yu Chen <cychen@google.com> Merge "Camera: Fix passing video native handle for 64-bit app" into nyc-dev
am: 9e23567ed0

* commit '9e23567ed02c30bb390ffe56b25f59b626cd9eab':
Camera: Fix passing video native handle for 64-bit app

Change-Id: I1bc16ac12f98f969ab9d54b43fdda90fc462c300
9e23567ed02c30bb390ffe56b25f59b626cd9eab 02-May-2016 Chien-Yu Chen <cychen@google.com> Merge "Camera: Fix passing video native handle for 64-bit app" into nyc-dev
b01faa31462e19957ae3c0c3ada07c9576a9494f 27-Apr-2016 Andy Hung <hunga@google.com> AudioTrack: Fix timestamp jitter

When HAL out_get_presentation_position returns error,
use server position adjusted for latency.

Bug: 28250436
Change-Id: I3dbcb9b7c4e56d34e7e161d1a02d8f64afd602b9
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
2d13b1d3eeaba31d8c15acc6037fd68b150a9a66 28-Apr-2016 Chien-Yu Chen <cychen@google.com> Camera: Fix passing video native handle for 64-bit app

Add new binder calls to pass video native handle so the video native
handle can be passed between 32-bit and 64-bit processes.

Remove problematic code that used IMemory to pass video native
handle because the sizes of VideoNativeMetadata are different in
32-bit and 64-bit processes.

Bug: 28403412
Change-Id: I3341b1812ecc41d61846bb72ca926ecb1674c9ec
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
c03ab34de017c1330632f4d1c37983bb493bf93b 29-Apr-2016 Glenn Kasten <gkasten@google.com> Merge "Can now indicate the desired number of notifications (sub-buffers)" into nyc-dev
am: d0389b874d

* commit 'd0389b874d592b960bdc456c2514a36b082c2c94':
Can now indicate the desired number of notifications (sub-buffers)

Change-Id: I56e20dbd5f386b53af87acc9a5fe111f60147a5b
ea38ee7742e799b23bd8675f5801ef72f94de0f4 18-Apr-2016 Glenn Kasten <gkasten@google.com> Can now indicate the desired number of notifications (sub-buffers)

per fast track buffer when using the default buffer size.

There is no change for normal tracks, or fast tracks with a non-default buffer size.

Also fix related bugs:
Notification period was not set correctly when fast multiplier is not 1.
Incorrect warning when client adjusted notification frames.

Bug: 27819623
Bug: 28117362
Change-Id: Ifc2121e874f51718cd56ec04e4bd5f89f4963132
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
51ab9527d7427589e527d0dc8118d663926a8b68 27-Apr-2016 Jeff Tinker <jtinker@google.com> Merge "Remove MediaDrm stack from mediaserver" into nyc-dev
am: 4060196

* commit '40601964e1f8966d90c31b0c389dfab6a515bd50':
Remove MediaDrm stack from mediaserver

Change-Id: I8d9fca7ed5d7bc2d9338dd9919ceef6631abd781
3003807fcfa96c9cbfea18d643f47108aa116cd5 25-Apr-2016 Jeff Tinker <jtinker@google.com> Remove MediaDrm stack from mediaserver

Part of media security hardening

MediaDrm was temporarily allowed to
run in either mediaserver or mediadrmserver
while all nexus devices were implementing
support for the native_handle representation
of secure buffers. Now that all nexus
devices support native_handle, the MediaDrm
stack can be removed from mediaserver.

b/22990512

Change-Id: Ie5d83bfeb4c4a824e1d0edb4c9452c782d6fd386
/frameworks/av/media/libmedia/include/media/Crypto.h
/frameworks/av/media/libmedia/include/media/Drm.h
/frameworks/av/media/libmedia/include/media/DrmSessionClientInterface.h
/frameworks/av/media/libmedia/include/media/DrmSessionManager.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/SharedLibrary.h
ba890f84a37e49e5876fc446b73d7ec01d70578b 26-Apr-2016 Hangyu Kuang <hkuang@google.com> Merge "Stagefright: Add HDRStaticInfo support for encoder." into nyc-dev
am: 1302f9d

* commit '1302f9ddd27c89f73cc7790d518f8fc88d89560c':
Stagefright: Add HDRStaticInfo support for encoder.

Change-Id: I342b60a212d3c1ffb757d97179a5c12b0a53a4a4
1302f9ddd27c89f73cc7790d518f8fc88d89560c 26-Apr-2016 Hangyu Kuang <hkuang@google.com> Merge "Stagefright: Add HDRStaticInfo support for encoder." into nyc-dev
20cb827ac527bb3f62e6009470ad0d595240807e 25-Apr-2016 Marco Nelissen <marcone@google.com> resolve merge conflicts of 89c03a3 to nyc-dev-plus-aosp

Change-Id: Iadc9712436524303be184c60a622ef79f0efb3e7
b6e9b8919c9ba25afc0f7f55ee3933f5d9f24dc8 25-Apr-2016 Marco Nelissen <marcone@google.com> Fix gapless SBR

Padding and delay in the file are expressed in terms of the base
sample rate, not in terms of the (doubled) SBR rate.

Change-Id: I3b59ec6281889d24a888c6a079731b05a120807f
/frameworks/av/media/libstagefright/include/ACodec.h
cc95bcf0fe6de6632fc38306efb0035d4e36423b 20-Apr-2016 Hall Liu <hallliu@google.com> Merge "Add UK ringback tone" into nyc-dev
e7b4463fcd2597b8a17e776648396e85853c25d9 20-Apr-2016 Hall Liu <hallliu@google.com> Add UK ringback tone

Add the UK ringback tone for when the device is in
the UK and the network declines to play a ringback tone.

Change-Id: Iecbc420dd18b019e9201745a9ddc84b060dc9dba
Fix: 26583561
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
4a8308b11b92e608cdaf29f73f7919e75706f9a2 18-Apr-2016 Glenn Kasten <gkasten@google.com> Add AudioSystem::getFrameCountHAL()

And add comments about declaring methods in binder opcode order.

Bug: 28117362
Change-Id: I3c4426fa4bb3ce9c4a207a44d3bb1103d7fef160
/frameworks/av/media/libaudioclient/include/media/AudioIoDescriptor.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
b151194ce1cbf77cd9da87ce6fc895278977b0f4 18-Apr-2016 Pawin Vongmasa <pawin@google.com> Merge "resolve merge conflicts of 87695f6 to mnc-dev" into mnc-dev am: a265388 am: 93cfc25 am: 35ee496
am: d059fde

* commit 'd059fde3f068700f73970dcce5255efb72c29f13':
SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.

Change-Id: Ifdf3b0bd637332f9962eff593e6086fcd3830c00
93cfc25deb117d6724aaf01be92054884178b7f2 18-Apr-2016 Pawin Vongmasa <pawin@google.com> Merge "resolve merge conflicts of 87695f6 to mnc-dev" into mnc-dev
am: a265388

* commit 'a265388ac9c5c6c64272fd0d143f8ed79f4edd3e':
SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.

Change-Id: Ib9f67677abf99a315669975a386d615fe682a954
44a1dc40b0c66ca2f66c4be4debdcc908a3c5f8b 16-Apr-2016 Pawin Vongmasa <pawin@google.com> resolve merge conflicts of 87695f6 to mnc-dev

Change-Id: I14bcb8f00724f9dc09ae8ec85d403f06f354db47
87695f6695d184a1b7c47b6957ae106049494901 16-Apr-2016 Pawin Vongmasa <pawin@google.com> Merge "SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation." into klp-dev am: 5964527 am: e896c41 am: a0970c9 am: ab72763 am: 8cf4bf3
am: f720186

* commit 'f7201862c852cbf780e546c0e23e23cd7dcab4a1':
SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.

Change-Id: I3b26c1a4781e38d2b327b09972091d169bba1338
8cf4bf38b13adb805746a3f3e172670b1af7c9fd 16-Apr-2016 Pawin Vongmasa <pawin@google.com> Merge "SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation." into klp-dev am: 5964527 am: e896c41 am: a0970c9
am: ab72763

* commit 'ab7276351e41bc0d40d28c231993ba240b5f21a0':
SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.

Change-Id: I3dc4066c53dfeb3fc07ee31431ee5a5571c89528
ab7276351e41bc0d40d28c231993ba240b5f21a0 16-Apr-2016 Pawin Vongmasa <pawin@google.com> Merge "SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation." into klp-dev am: 5964527 am: e896c41
am: a0970c9

* commit 'a0970c9faabdaca647cb22b78432511de3220399':
SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.

Change-Id: I7d7e410e25d8a5b1066251cae8cddfa050b07f71
a0970c9faabdaca647cb22b78432511de3220399 16-Apr-2016 Pawin Vongmasa <pawin@google.com> Merge "SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation." into klp-dev am: 5964527
am: e896c41

* commit 'e896c41d85a15de06c74885fe040f3f57b63cd5d':
SampleTable.cpp: Prevent corrupted stts block from causing excessive memory allocation.

Change-Id: I5f23c14d155ea5a64b00d877a329c77cfc5b55f7
a3630a418b4f65277a42cd4018cd3b0b7e134d0c 14-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Prevent corrupted stts block from causing
excessive memory allocation.

Details:

DataSource.h
- Added function getVector() for reading from a data source into
a Vector object, whose capacity grows only as much as needed
(in case of EOS or reading error).
SampleTable.h
- Changed the type of mTimeToSample from uint32_t* to
Vector<uint32_t>.
SampleTable.cpp
- In setTimeToSample, modified the code to use getVector()
instead of readAt(). If the input source has a corrupt
time-to-sample table size that is too big, EOS will be reached
before the whole table is read, and the return value from
getVector() will be false.
- Also, tightened the bound for the provided time-to-sample table
size to guarantee that the table does not take more than
UINT_MAX32 bytes in memory.

Bug: 28076789
Change-Id: Id207f369ab7b27787d83f5d8fc48dc53ed9fcdc9
/frameworks/av/media/libstagefright/include/DataSource.h
0c4a97e6e1470b2d8b8810792af8d66689020c51 13-Apr-2016 Andy Hung <hunga@google.com> Merge "NuPlayer: Reserve buffer for 8x max speed" into nyc-dev
f2c87b3f88d987d2af6322e9763eb8224a2bae48 08-Apr-2016 Andy Hung <hunga@google.com> NuPlayer: Notify if drain message time is unexpectedly long

Bug: 27940058
Change-Id: Id8897c30e21b6b9de545a710e7766ffceb491455
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
ff874dc957f9ea70d87f4d627bf903e1fc86d58b 12-Apr-2016 Andy Hung <hunga@google.com> NuPlayer: Reserve buffer for 8x max speed

Affects Photos with Bluetooth and 240x recording.

Bug: 26986060
Change-Id: I228223221f9811e05c274d64cd42ac104db04c36
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
5e2f5c10dcedbddd0ea0255f049468760aa09048 08-Apr-2016 Hangyu Kuang <hkuang@google.com> Stagefright: Add HDRStaticInfo support for encoder.

Bug:25684127
Change-Id: I6bc74cf4915d1e42432f8da767bb84e3e8f2153f
/frameworks/av/media/libstagefright/include/ACodec.h
d77a954c1e6c3524ee2b61cba639e24b6d3320f7 08-Apr-2016 Hangyu Kuang <hkuang@google.com> Merge "Stagefright: Add HDRStaticInfo support for decoder." into nyc-dev
db318d40b90a456311b3920c605e33b763ca79f9 06-Apr-2016 Hangyu Kuang <hkuang@google.com> Stagefright: Add HDRStaticInfo support for decoder.

Bug:25684127
Change-Id: Ic11190c4622bc0db4ef30958879829d09dd628a7
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/foundation/ColorUtils.h
69d3d8a9540b0da787ea0beccad2517f057dd54d 07-Mar-2016 Marco Nelissen <marcone@google.com> Expand mediaextractor dumpsys

Bug: 22775369
Change-Id: I3366a52ba7a00d1685a2211465f2f18f143d0efc
/frameworks/av/media/libmedia/include/media/IDataSource.h
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/MetaData.h
9f8bb269e312c882f00db5ca20c650dea7260718 06-Apr-2016 Lajos Molnar <lajos@google.com> stagefright: fix prvalue handling in Mutexed

returning prvalue does not make sense as object will be immediately
destructed. Instead create a move constructor for Locked.

Bug: 27901970
Change-Id: I4013804b1a4af4b5ecb6ab5347d44cfd3b2898ba
/frameworks/av/media/libstagefright/include/foundation/Mutexed.h
b4ee46c79f71078134deca2f6a1049d99cbde4fa 28-Mar-2016 Marco Nelissen <marcone@google.com> AUtils: disable overflow checks for isInRange

isInRange() does its own overflow checks, and the compiler's overflow
checks get in the way of that.

Bug: 27852836
Change-Id: I9b699332ca139980031306e74735bcb0a341e3da
/frameworks/av/media/libstagefright/include/foundation/AUtils.h
fbe7fcfe818b6f68e352c7c450d4fe15a543b801 05-Apr-2016 Marco Nelissen <marcone@google.com> Close MediaDataSource on extractor/retriever release

instead of waiting for garbage collection.

Bug: 26911216
bug: 26741307
Change-Id: I79010066962a1bdb9cb8bf74ba9a7997abb82fd4
/frameworks/av/media/libstagefright/include/DataSource.h
e13f8a603867280de9b02ce4839202a182556416 30-Mar-2016 Andy Hung <hunga@google.com> NuPlayer: Play out remaining audio data when recycling isn't possible

Don't flush it immediately.

Bug: 26530291
Change-Id: I0427633402fa251ec62e2b70e47a0a7b451d3ea2
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
ea2b9c07b34079f0dbd8610a511e006e69a15adc 13-Feb-2016 Andy Hung <hunga@google.com> Implement client playback timestamps with 64 bit accuracy

Provide server timestamps if the HAL doesn't provide it.
Provide monotonic - boottime translation.

Bug: 17472992
Bug: 26682703
Bug: 27749434
Change-Id: I6c9b213d9f9284092e34d57f52870e02c72df62a
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
f97b682f0e4a08bb6211f230a789a80981a7111c 31-Jul-2015 Krystian Turczyn <krystian.turczyn@sonymobile.com> Fix for tone glitch produced in ToneGenerator

Delay line samples of ToneGenerator::WaveGenerator are saved between
getSamples() calls. The value of such sample may overflow short integer
range due to amplitude fluctuation. Therefore long field must be used
to store those samples in order to prevent tone corruption.

Change-Id: I987058ca4615ea64deedcbd8167e75393ecaf2de
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
5fe2151459fd6c88958c5ebd71f28004d49d8b65 29-Mar-2016 Andy Hung <hunga@google.com> Merge "Read from proxy for PCM direct and offloaded track position" into nyc-dev
7a490e7ab39ef0b22baf24b03f2463c46dc068ed 23-Mar-2016 Andy Hung <hunga@google.com> Read from proxy for PCM direct and offloaded track position

Bug: 27776737
Change-Id: I721bf2b4d46271bf84ad9fc29ff5c4ecd4759206
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
e6ef154956697d13b8808e3b418241d3a9326568 28-Mar-2016 Marco Nelissen <marcone@google.com> AUtils: disable overflow checks for isInRange

isInRange() does its own overflow checks, and the compiler's overflow
checks get in the way of that.

Bug: 27852836
Change-Id: I9b699332ca139980031306e74735bcb0a341e3da
/frameworks/av/media/libstagefright/include/foundation/AUtils.h
63870fafe3347c9b92af95dc7131595c07f5cda4 25-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: expose track ID-s in track format" into nyc-dev
1483d3187e368dc740242d84a50a7b5ddbb5b378 25-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: MediaCodecSource: protect output format updates" into nyc-dev
1734c7d01c1567568ced29398b23abd601fd44cb 23-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: detect output format changes without event

Bug: 27688967
Change-Id: I538560e61928903160333866886dbc763503546f
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
faf35c0c279114b11a36615dc6630c126e767da0 26-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: expose track ID-s in track format

Bug: 25684127
Change-Id: I334c493ea4317ffc6a26b9a370f751705cd1e200
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
ee0eba046f666303741a5a5f70afad17030cc8b1 22-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: MediaCodecSource: protect output format updates

avoid race condition between format updates and reads.

Bug: 27477022
Change-Id: Ie4aee2d902296db8a8c055a7016acd1b879f437a
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/foundation/Mutexed.h
5048de32f603c00926d61b928616e679ce88d693 23-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: ACodec: read output port format on first frame" into nyc-dev
697aedf61d6180e72102068a969383018eedfa1e 23-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: read output port format on first frame

We used to do this regardless of whether we received a
PortSettingsChanged event, and some codecs may have relied on this

TODO: add a big warning if format actually changed

Bug: 27688967
Change-Id: Ia29514a572950d80cf0a02004e01095043715dcd
/frameworks/av/media/libstagefright/include/ACodec.h
5b4401b28990107bb797dc0d5f3904cf27417e98 18-Mar-2016 Lajos Molnar <lajos@google.com> ACodec: enable support for non-16bit PCM data

Bug: 27172163
Change-Id: Ia5c824f64a6f26b45da9969eb7a85e09abbd5800
/frameworks/av/media/libstagefright/include/ACodec.h
78bd91b15ee8ea5aa2ab5a8cad7e892cb2d01c1b 26-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: set pcm-encoding for raw audio tracks

Bug: 27172163
Change-Id: I4db7ace4e8cbf01939dedefbb1c54730e393530f
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/MetaData.h
28edbba6aa6c1a9bbea76da2f5cc3cd73af8eb4c 17-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: account for alignment in MemoryDealer

Bug: 27722308
Change-Id: I4e4f08db36e8311d71374e7de096480047bbb6cf
/frameworks/av/media/libstagefright/include/CodecBase.h
9a57e34f476d5d2400e6e8ffac303c6190e641f0 17-Mar-2016 Glenn Kasten <gkasten@google.com> Merge "Use audio_session_t consistently" into nyc-dev
53ce1e03efa1a12b3acc7d76dd0c273487ca3746 16-Mar-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "Dynamic policies: support for device selection" into nyc-dev
7638ca29e8400a19524adb982e9d22c02786de82 05-Mar-2016 Jean-Michel Trivi <jmtrivi@google.com> Dynamic policies: support for device selection

Dynamic policy mix: rename "registration" field to device address
as this reflects the true use of the field.
AudioPolicyManager: dynamic policy registration differs depending
on policy routing flags.
When register a mix with the RENDER flag, iterate over all outputs'
patches to find a matching device and address.

Bug 25448664

Change-Id: I71584081e7f1b2b5252fb6c4659fdeb464f7d282
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
d848eb48c121c119e8ba7583efc75415fe102570 08-Mar-2016 Glenn Kasten <gkasten@google.com> Use audio_session_t consistently

Bug: 27562099
Change-Id: I328d8226191386b163f2ace41233607294c50dcd
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/Visualizer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
31e2a27f876edbe49988bd4307365d481c1de7e8 15-Mar-2016 Marco Nelissen <marcone@google.com> Fix size check for OMX_IndexParamConsumerUsageBits
am: c1c50e7b47

* commit 'c1c50e7b47784c5e6978eda67db68ef4951144c6':
Fix size check for OMX_IndexParamConsumerUsageBits
58fb7c6e1a9244dd7215a647388c440d8d75851b 15-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: use colr box for color aspects

Bug: 25684127
Change-Id: I105294ce0d41ac58d80a2a4a74d35a9b78536790
/frameworks/av/media/libstagefright/include/foundation/ALookup.h
/frameworks/av/media/libstagefright/include/foundation/ColorUtils.h
6ae0468269dfd30fb22a1eb99417261c6c06d665 14-Mar-2016 Eric Laurent <elaurent@google.com> Merge "audio: Fix race condition in AudioTrack underrun." into nyc-dev
4d231dc0ee34380956c71cbe18a750e487a69601 12-Mar-2016 Eric Laurent <elaurent@google.com> audio: Fix race condition in AudioTrack underrun.

When audio flinger mixer removes an AudioTrack from the
active list in case of underrun, it is possible that the
client has written a full buffer just after the underrun detection and
is blocked waiting for more space to write. In this case, the client
will never detect the DISABLED flag and the track never be restarted.

Also implement missing DISABLE flag detection in server side audio tracks
(OutputTrack and PatchTrack).

bug: 27567768
Change-Id: I8d0753429d4113498258b1f61bd8ac5939a612f0
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
b77d03b62cb743d0faf74b54aa466b4d220b5e61 03-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: connect color aspects and surface dataspace

1. Keep configuration format as video decoder and encoder will need
it to reset their default color aspects on mode/size change.

2. Separate color aspect handling for decoder and encoder as they
are quite different. Update decoder and encoder color aspect setting
to latest policy.

3. propagate dataspace to GraphicBufferSource, MediaCodecSource,
CameraSource and SoftwareRenderer

Bug: 25684127
Change-Id: Ie9a7528af36ed44605a7ce3e69b5794ef16b1c66
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/foundation/ColorUtils.h
c1c50e7b47784c5e6978eda67db68ef4951144c6 11-Mar-2016 Marco Nelissen <marcone@google.com> Fix size check for OMX_IndexParamConsumerUsageBits

since it doesn't follow the OMX convention. And remove support
for the kClientNeedsFrameBuffer flag.

Bug: 27207275
Change-Id: Ia2c119e2456ebf9e2f4e1de5104ef9032a212255
/frameworks/av/media/libstagefright/include/OMXCodec.h
d5ef65ea897a7c0e3704000e33975f357bfc1c56 11-Mar-2016 Lajos Molnar <lajos@google.com> Merge "ACodec: move getPortFormat closer to PortSettingsChanged event" into nyc-dev
1042efbe4b512cadfc2f3e3753f0424030bb80f5 11-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright/foundation: fix ALookup for same types" into nyc-dev
b0a4b9e917bd26bf366fb20c48315f51285c18f9 08-Mar-2016 Lajos Molnar <lajos@google.com> ACodec: move getPortFormat closer to PortSettingsChanged event

Per OMX spec, we should read the new format even before disabling
the port.

Bug: 25684127
Change-Id: I78fc0d85dbf8e2d7e2c670c33e70fed6d79cf3c7
/frameworks/av/media/libstagefright/include/ACodec.h
356d3f528514f0f06e6ae1bccf0bed7be9fd1fcb 11-Mar-2016 Lajos Molnar <lajos@google.com> Merge "IOMX: add INTERNAL_OPTION_COLOR_ASPECTS to setParamaters" into nyc-dev
dd81af7ef969981748f35ec839869d34ed0cc768 11-Mar-2016 Lajos Molnar <lajos@google.com> IOMX: add INTERNAL_OPTION_COLOR_ASPECTS to setParamaters

Bug: 25684127
Change-Id: I140a26eb958d0c42f54faf2b20af636857e886f7
/frameworks/av/media/libmedia/include/media/IOMX.h
b34bcea7945fb63af52c4b6e87757882b0df37eb 11-Mar-2016 Lajos Molnar <lajos@google.com> Merge "IOMX: add dataspace to createInputSurface" into nyc-dev
98783a370f3f35058b42534d7d1d05e0fb7e9f5a 10-Mar-2016 Ronghua Wu <ronghuawu@google.com> Merge "media: changed resource type from String8 to enum." into nyc-dev
ea15fd29af81490311af9e12949b43524c39400e 03-Mar-2016 Ronghua Wu <ronghuawu@google.com> media: changed resource type from String8 to enum.

Bug: 27338692
Change-Id: I0161de084682e2317cba81dc5f55c17d5d478570
/frameworks/av/media/libmedia/include/media/MediaResource.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
ae34ed2bcc9fa49a22fe7497327adb689ef27e8d 28-Jan-2016 Haynes Mathew George <hgeorge@codeaurora.org> AudioTrack: Use original flags during track recreation

Also the OFFLOAD and DIRECT flags aren't denied by server.

authored-by: Pavan Chikkala<pavanc@codeaurora.org>
Bug: 27554925
Change-Id: I6fd6b129928af4513bb0cba271019288605310f8
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
633666975ff9a85475a7d134d297eec4e1e513f8 09-Mar-2016 Glenn Kasten <gkasten@google.com> Merge "AudioRecord: Use original flags during track recreation" into nyc-dev
57fad3c31f46ec98d15bc253c16f9d269aeb8ea7 08-Mar-2016 Lajos Molnar <lajos@google.com> IOMX: add dataspace to createInputSurface

Bug: 25684127
Change-Id: Ibe746d7d077f32b0f2ecfb8494f415a6bf0bd673
/frameworks/av/media/libmedia/include/media/IOMX.h
3a09d8d6f909063990a5681b15a442b2ba8ce54a 08-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: move ColorUtils to foundation

These are needed by OMX, which cannot depend on stagefright.

Bug: 25684127
Change-Id: I1784be72368e667404229d338b9c18df917ac2ed
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/foundation/ColorUtils.h
58883a0cbbde53579461ef7d9a639b4ac45cb55e 09-Mar-2016 Glenn Kasten <gkasten@google.com> AudioRecord: Use original flags during track recreation

Bug: 27554925
Change-Id: Idecbadcb114b9470e89dccf1c65b0f965cc2bf15
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
5771a0bc0c44956940564631026e17f2a9c1f32d 08-Mar-2016 Lajos Molnar <lajos@google.com> stagefright/foundation: fix ALookup for same types

Change-Id: Idc7fc53872de32e57490e694cacd0db469f9fe12
/frameworks/av/media/libstagefright/include/foundation/ALookup.h
ee4804a7bf392a38f8205400b67bbbe158dc3406 08-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: move asString to android namespace" into nyc-dev
7fa3efa6d7e92a9a2cc5ce780c7db29f1b36a23c 08-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: move asString to android namespace

Change-Id: If95a60538d26ac04cf2c7a92026449503bc971c5
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
caaa15b1c8ca1632100cf8e64e82007239210339 26-Jan-2016 Ronghua Wu <ronghuawu@google.com> media: add hdr and color aspects metadata

Bug: 25684127
Change-Id: Idf5076a4d54bef0847523bf461e442f9e45b8f59
/frameworks/av/media/libstagefright/include/MetaData.h
97d5e4eb77687288b463f300912f6eb5c2b5b60e 03-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: pass color aspects into codecs" into nyc-dev
8338519ba2d8d731072c4edf7b9953787ce834cf 26-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: pass color aspects into codecs

Bug: 25975353
Change-Id: Ie2cdb845769f5ec3561a099f96e8f4dd406299ef
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/foundation/ALookup.h
db52e5e3dc15f7233ccd9c128fe43f2b2f58b29b 02-Mar-2016 Eric Laurent <elaurent@google.com> Merge "Sample rate 0 means a route-dependent rate" into nyc-dev
6e0c00ba53d8e5ad14d9e447c3c040ce6fd81a47 02-Mar-2016 Eino-Ville Talvala <etalvala@google.com> Merge changes from topic 'camera-native-aidl' into nyc-dev

* changes:
Camera: Clean up warnings and set -Werror
Camera: Switch camera2 to auto-gen C++ binder interfaces
7eb42678f6f7fa3f6f0b530144eced69c98069fe 02-Mar-2016 Chien-Yu Chen <cychen@google.com> Merge "CameraSource: Fix time lapse video recording" into nyc-dev
d56db1d2bee182d1851097a9c712712fc094d117 18-Dec-2015 Eino-Ville Talvala <etalvala@google.com> Camera: Switch camera2 to auto-gen C++ binder interfaces

- Move camera service AIDL files to frameworks/av
- Build C++ interface stubs with AIDL tools
- Add necessary native-side parcelables and update existing ones
- Remove manually-written stubs, rearrange remaining manual stubs
- Adjust implementations to work with auto-generated stubs
- Adjust method signatures for auto-gen differences
- Add rich error messages using binder::Status

Bug: 25091611
Change-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
24b02edc16fd4d41367bc0acc42760bbe7d70f21 02-Mar-2016 Glenn Kasten <gkasten@google.com> Merge "AudioSystem::getSamplingRate and getFrameCount now work for input" into nyc-dev
8fc3c670fff26cb21d1e16dbfcbc4410d7758574 01-Mar-2016 Chien-Yu Chen <cychen@google.com> CameraSource: Fix time lapse video recording

Add processBufferQueueFrame() to CameraSourceTimeLapse so it
can decide whether to skip current frame and change the timestamps.

Bug: 26525150
Change-Id: If499cba62c6569a72bb271d3e0b4c38862650f1a
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
0419ba7b1c1bd4f19b2fab06234eacb4547a7c04 24-Feb-2016 Chien-Yu Chen <cychen@google.com> CameraSource: Wait before dropping a frame

If there is no available memory base to send a frame, wait until
a memory base becomes available or the wait times out before
dropping a frame.

Bug: 26525150
Change-Id: Ifd8703abceee89a556adda182a0ca4eda91782fc
/frameworks/av/media/libstagefright/include/CameraSource.h
e8158ffea27c9526547a7340dc5a085b8582033e 01-Mar-2016 Glenn Kasten <gkasten@google.com> Merge "Add use for audio_unique_id_t" into nyc-dev
7fd0422fbd17af3b24eb04421d37fce50f3826e2 02-Feb-2016 Glenn Kasten <gkasten@google.com> Sample rate 0 means a route-dependent rate

Remove check for primary _output_ [sic] sampling rate for fast capture.
Clean up AudioRecord handling of frame count and sample rate.
Clean up AudioTrack handling of notification period updates.
Make AudioRecord and AudioTrack more similar in order of operation, comments, and whitespace.

Bug: 25641253
Bug: 21019153
Change-Id: I24a6677945987fc39a9bf93f70357e4bc7410f98
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
2c073da0f02c3cf7cd4795af2d861222cbcab72a 26-Feb-2016 Glenn Kasten <gkasten@google.com> AudioSystem::getSamplingRate and getFrameCount now work for input

Also fix whitespace and comment in AudioIoDescriptor.

Bug: 25641253
Bug: 21019153
Change-Id: I6a1e2262f44f87ec3ebce6e5274f45ed0f47eb13
/frameworks/av/media/libaudioclient/include/media/AudioIoDescriptor.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
eeecb980ff4c202d0a3c4b0bfe040dce2f73336d 26-Feb-2016 Glenn Kasten <gkasten@google.com> Add use for audio_unique_id_t

Bug: 25641253
Bug: 21019153
Change-Id: I65dc128e760c245f3d90559635a8981b186c87d7
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
1c0de60e809c116fb8cb0eded39270c6eb060a3b 01-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: use MediaImage2" into nyc-dev
0d035b6057cef680a3755c6a8fc914c483648903 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "Send audio patch in recording callback" into nyc-dev
c6e96a912c2cdedf853e3bd7b68c953fa818ff40 26-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: propagate nativeHandle properly for secure playback

- fix prototype constness (so ACodec can pass handle to client)
- fix handle passing to decrypt

Bug: 26782004
Change-Id: Ia2f85ded66fbb459a9db8096eb5b9e34ef45ce16
/frameworks/av/media/libstagefright/include/CodecBase.h
8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972 26-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Send audio patch in recording callback

Remove direct access to patch handle in AudioInputDescriptor, replace with
set / get functions.
Add interface for AudioSession to query configuration from enclosing
input descriptor.
When input descriptor's patch handle changes during a recording, propagate
the change through the recording notification callback.

Bug 26798796

Change-Id: Ia1395d44da7ccfe69ca46877638d1eb49b3935ad
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyServiceClient.h
73dd808754c641fe798273d356ee38368715fa7b 25-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: use MediaImage2

Bug: 25684127
Change-Id: I2f8b672a191ee4e60c9364e826cae34089ef5f9c
/frameworks/av/media/libstagefright/include/ACodec.h
7228d57873ebed45a2873bc0e4bc026c53fc979d 24-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference am: 61a6d26aab am: 93f5bcab20 am: d11972f8d4 am: c0cefa9f37 am: 73079eec40 am: 5984d6cbf9 am: 6bac803b15 am: 5259834834 am: 6d65ec1f72 am: fd517c3941
am: 2f72479402

* commit '2f72479402edae6b0d66449c402453fd6e3364c2':
Get service by value instead of reference
6d65ec1f7256a3de55ed79e97f6c21726ac2bd00 24-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference am: 61a6d26aab am: 93f5bcab20 am: d11972f8d4 am: c0cefa9f37 am: 73079eec40 am: 5984d6cbf9 am: 6bac803b15
am: 5259834834

* commit '52598348340ba20048a1d6304b39b548a95be18f':
Get service by value instead of reference
52598348340ba20048a1d6304b39b548a95be18f 24-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference am: 61a6d26aab am: 93f5bcab20 am: d11972f8d4 am: c0cefa9f37 am: 73079eec40 am: 5984d6cbf9
am: 6bac803b15

* commit '6bac803b1595a653180da15d409fe6167534334c':
Get service by value instead of reference
6bac803b1595a653180da15d409fe6167534334c 24-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference am: 61a6d26aab am: 93f5bcab20 am: d11972f8d4 am: c0cefa9f37 am: 73079eec40
am: 5984d6cbf9

* commit '5984d6cbf9c7eae7a0f46c948a9b35b56f0268a5':
Get service by value instead of reference
73079eec4013621ac516f22b0ec6d55203d1e245 24-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference am: 61a6d26aab am: 93f5bcab20 am: d11972f8d4
am: c0cefa9f37

* commit 'c0cefa9f37e296a7a60978e442b374b5c7f24d65':
Get service by value instead of reference
d11972f8d48d14a1a52e98e64b8216abfc7f00e0 24-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference am: 61a6d26aab
am: 93f5bcab20

* commit '93f5bcab205f8d7cd4557eacda513867e8b8ea65':
Get service by value instead of reference
93f5bcab205f8d7cd4557eacda513867e8b8ea65 24-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference
am: 61a6d26aab

* commit '61a6d26aab95870279b274e565c1495748befde0':
Get service by value instead of reference
61a6d26aab95870279b274e565c1495748befde0 18-Feb-2016 Marco Nelissen <marcone@google.com> Get service by value instead of reference

to prevent a cleared service binder from being used.

Bug: 26040840
Change-Id: Ifb5483c55b172d3553deb80dbe27f2204b86ecdb
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
7281aa9810b33eff47b00104db26c97c77931611 18-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Send client / device format in recording callback

Bug 26798796

Change-Id: Ib4f64159c8371d87da49a8f0cad9317a87d843c4
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyServiceClient.h
eafe1f9734af31730790b0abaf8c6aae01bfee77 23-Feb-2016 Ronghua Wu <ronghuawu@google.com> Merge "mediaresourcemanager: verify the input calling pid" into nyc-dev
c085a757a28f36bdefeee1775fdbdce869c4c1f5 23-Feb-2016 Andy Hung <hunga@google.com> Merge "Implement server side playback timestamps with 64 bit accuracy" into nyc-dev
012883fdf691b1e9dcaf769b8dfe948af1b12a38 23-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Move (some) codecs into the codec process" into nyc-dev
d11c43a12917e017d715db88c13e4e7550eb9151 28-Jan-2016 Ronghua Wu <ronghuawu@google.com> mediaresourcemanager: verify the input calling pid

Bug: 26830615
Change-Id: I2e9c579b3bdd86a90b08fa161206d32527390bb5
/frameworks/av/media/libstagefright/include/ProcessInfo.h
/frameworks/av/media/libstagefright/include/ProcessInfoInterface.h
818e7a32ce3633980138aff2c2bfcc5158b3cfcc 17-Feb-2016 Andy Hung <hunga@google.com> Implement server side playback timestamps with 64 bit accuracy

Provide server timestamps if the HAL doesn't provide it.
Provide monotonic - boottime translation.
Integrate record timestamps and playback timestamps together.

Bug: 17472992
Bug: 22871200
Bug: 26400089
Bug: 26682703
Change-Id: If1974f94232fcce7ba0bbcdf63d9e54ed51918ff
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/MonoPipeReader.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/Pipe.h
/frameworks/av/media/libnbaio/include/PipeReader.h
/frameworks/av/media/libnbaio/include/SourceAudioBufferProvider.h
cf1bbf3a12be653b825e230fd2785c14cd9b0192 19-Feb-2016 Andy Hung <hunga@google.com> Merge "Enable FastTrack timestamps" into nyc-dev
e9a5b96e7927fd4e38623e17ac73e8e4e25877ee 12-Feb-2016 Wei Jia <wjia@google.com> IMediaSource: use shared memory to transfer large buffer.

Also move MediaBufferGroup to libstagefright/foundation/.

Bug: 26295488
Change-Id: I88f4e6bf83ffb2b196628a2d4d83ea7b1f6ad9c2
/frameworks/av/media/libmedia/include/media/IMediaSource.h
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaBufferGroup.h
6ae5843c281301a9ffd1059d185620a9337e15a2 17-Feb-2016 Andy Hung <hunga@google.com> Enable FastTrack timestamps

Bug: 26413951
Change-Id: Id54c32cb0f0be83d443f6cf1007181ebc461c586
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
23858874bbce68fb5ac83250087fa7788c97dd12 17-Feb-2016 Marco Nelissen <marcone@google.com> Move (some) codecs into the codec process

Encoders and secure decoders still run in the mediaserver, while
all other codecs run in a separate codec process.

Bug: 22775369

Change-Id: Ie2ac87d53edbcf7c8f46a68a15857c9940f6d00d
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
9ac86b3cae9a1e14b12bf97223ddde96142aae43 24-Jan-2016 Jeff Tinker <jtinker@google.com> stagefright: ICrypto: enable passing secure buffers in native_handle

Previously secure buffers were passed as opaque
void * values, which no longer works since
mediadrmserver is now a separate process from
mediaserver.

Bug: 22990512
Change-Id: I5c458ba19e78e20d1bd5a5899df0bce16f71bfd8
/frameworks/av/media/libmedia/include/media/ICrypto.h
a63141af8f036bda0b8f7800107ca8a0e0623135 12-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: enable native handles for secure buffers

- rename IOMX::allocateBuffer to allocateSecureBuffer as ACodec
only uses allocateBuffer for secure compressed buffers.
- add argument to return native_handle if component supports it.
- rename IOMX::enableGraphicBuffers to enableNativeBuffers.
- add argument to select graphic vs. native handle mode
- request native handles for secure input buffers, but allow
fallback

Bug: 26782004
Change-Id: Ide9d07f54d2e7e3e6a82dbca011f4db9a5630950
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
a69729dc76b97c44387088d351480d5d0701517e 12-Feb-2016 Jeff Tinker <jtinker@google.com> Add mediadrm service

Part of media security hardening

This is an intermediate step toward moving
mediadrm to a new service separate from mediaserver.
This first step allows mediadrmservice to run based
on the system property media.mediadrmservice.enable
so it can be selectively enabled on devices that
support using native_handles for secure buffers.

bug: 22990512
Change-Id: I70320f0c4b7861cdba26fbc24c20bce54e5749a4
/frameworks/av/media/libmedia/include/media/IMediaDrmService.h
1d975c4b9a0cf77845b15eff41a1f076fd8f309a 13-Feb-2016 Lajos Molnar <lajos@google.com> Merge changes from topic 'rm-awesome'

* changes:
stagefright: Remove OMXCodec object
stagefright: allow selecting codec by name in SimpleDecodingSource
ef2bdbc3ee1d7ccfdccdc2e58c1135d7b19660fd 12-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: CodecCapabilities: fix missing capabilities

mCurrentCaps is a reference, so copy codec capabilities into it
vs. replacing it.

Bug: 27142863
Change-Id: I914bcc882d5f9049bc9eb8b31913b07ae572b441
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
708336fec4e4620dafa32c4b4b2dc3230a120961 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove OMXCodec object

This is no longer used or supported.

Bug: 17108024
Change-Id: I57e5b2368e3df138645ef73121603d19cd5c59ce
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
963f181c57a26dd23bd9dff263614bbb38960888 09-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: allow selecting codec by name in SimpleDecodingSource

Bug: 17108024
Change-Id: I78f2ef45ec6cf746535e05f4166717829e642b19
/frameworks/av/media/libstagefright/include/SimpleDecodingSource.h
0a4427bb91e72a4dfece276521d7f21fbb6c7846 12-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: use MediaCodec::QueryCapabilities

This reverts commit cfb71f189ca620b7b2caf213572849bf59b50231
and still fixes b/27142863.

Bug: 27142863
Change-Id: I914bcc882d5f9049bc9eb8b31913b07ae572b441
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
661c5953f54848a37a012d9106af00e61bb98e08 12-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "Dynamic audio policies on UID" into nyc-dev
7f2262fc7d038a0d42def7d769bb9e816e292785 11-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: use OMXCodec's QueryCodec for capabilities

Bug: 27142863
Change-Id: Ica00f5395477a416e1ca4db2697310eef3d635a0
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
e8decedb429ed76dfa84cdb3e80ab3b969e77298 11-Feb-2016 Jean-Michel Trivi <jmtrivi@google.com> Dynamic audio policies on UID

When looking for an output, take attributes and UID into account.
To find the matching mix: for each mix
- inspect which rules are used
- find a candidate mix for usage
- check UID compatibility
Rename AttributeMatchCriterion to AudioMixMatchCriterion to be consistent
with the fact that now mixing rules are not always about audio attributes.

Bug 26798796

Change-Id: I1520b0df190a98f197ea8e0144b770e1e6d97888
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
69bebe8d87e95a026d14f0a7cd68d8f954dc51c8 11-Feb-2016 Lajos Molnar <lajos@google.com> MediaCodecInfo: keep capabilities from XML when updating them from codec

Bug: 27115490
Change-Id: Ie15bf538a3026829ff8029fb8b96b8d254517d1c
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
3f0c902beb53a245c9db35e871607dba05b8d391 16-Jan-2016 Andy Hung <hunga@google.com> Add AudioRecord timestamps

Bug: 13569372
Bug: 22886739
Change-Id: Ibc81afefb733d23676a632a0f2da31163fdbe05f
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
00803f7e94052144ecf476268bc717191ee29865 10-Feb-2016 Lajos Molnar <lajos@google.com> Merge changes I3b93c2b8,Ia8e83727 into nyc-dev

* changes:
stagefright: Remove unused ClockEstimator and TimeSource
stagefright: Remove unused TimedTextDriver and Sources
6665703177d33f69007a0877de46431b90e8726b 10-Feb-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: Move CodecCapabilities querying into MediaCodec" into nyc-dev
1900e77bac4276f247f80fd06d19316cac598f57 03-Feb-2016 Marco Nelissen <marcone@google.com> Run codecs in a separate process

Encoders and secure decoders still run in the mediaserver, while
all other codecs run in a separate codec process.

Bug: 22775369

Change-Id: Ifbcab8a8f2fe77d2567830ac88f0d982e77f7b00
/frameworks/av/media/libmedia/include/media/IMediaCodecService.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
f76ecd3cf14944647d767ba3dadfa12a451c28bb 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove unused ClockEstimator and TimeSource

This was only used by AwesomePlayer

Bug: 17108024
Change-Id: I3b93c2b84e417a688d69d79debaa738caa8b8b7d
/frameworks/av/media/libstagefright/include/ClockEstimator.h
/frameworks/av/media/libstagefright/include/TimeSource.h
0e449bc8062ca8baec83c7796fbbc13f001caf1b 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove unused TimedTextDriver and Sources

These were only used by AwesomePlayer

Bug: 17108024
Change-Id: Ia8e8372743ef7c568f852f8ad416a2b1811a5c89
/frameworks/av/media/libstagefright/include/timedtext/TimedTextDriver.h
11d72e1d305a80643996b659eed8ba13dba39212 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove OMXCodec object

This is no longer used or supported.

Bug: 17108024
Change-Id: I57e5b2368e3df138645ef73121603d19cd5c59ce
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
65dd3eeef54cf1d1c4edf2f966d3dabb508d3cb9 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: Move CodecCapabilities querying into MediaCodec

1. We cannot assume that codecs are OMX based
2. We still have a strange dependency where MediaCodec's
create methods depend on MediaCodecList, which depends on
MediaCodec's static method. This is to be untangled later.

Bug: 17108024
Change-Id: Idd619ee959627539a65f5f7da586108883dcb5f2
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
96a875ef0b209c2bc5c91ae7826a79372d541c2d 09-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: allow selecting codec by name in SimpleDecodingSource

Bug: 17108024
Change-Id: I78f2ef45ec6cf746535e05f4166717829e642b19
/frameworks/av/media/libstagefright/include/SimpleDecodingSource.h
ea1a45dbdf7fd6f435f92d20a95f432cf3f147b5 31-Aug-2015 Lajos Molnar <lajos@google.com> stagefright: rework MediaCodecSource

Redesigned MediaCodecSource to fix issues with source::stop(), where
there were still outstanding input buffers when the input source was
closed.

- moved input queue and state inside Puller
- Puller::pause, resume and stop is now atomic from caller's thread
- input source is accessed from Puller's looper, unless a blocked read
operation is detected.
- added stop timeout, so if Puller's looper is blocked, but it is not
yet detected, input source->stop is still called.

- using Mutexed helper class to ensure locked member access

Bug: 26964806
Change-Id: Icd6d4fc42a7c8e08b54e856c028f3d1fed5ae32d
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
f8d84b0faf036fe2934f283edc33985f9e001626 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: add SimpleDecodingSource

SimpleDecodingSource is a lightweight replacement for OMXCodec
for decoding use. It does not support pause, secure content or
precise seeking. It also does not support start after stop.

Bug: 17108024
Change-Id: Ic310f9372ebf214cbd73118b18e5d2abcc4426cf
/frameworks/av/media/libstagefright/include/SimpleDecodingSource.h
4c93450f86db9159d082111a8036f05f2e27bfff 03-Feb-2016 Lajos Molnar <lajos@google.com> stagefright/foundation: add Mutexed syntactic sugar

Mutexed<typename> can be used to ensure that typename is always
accessed while holding a mutex.

Change-Id: I74879023281aa7855a608c62bf77963cbce5d137
/frameworks/av/media/libstagefright/include/foundation/Mutexed.h
2e18508d33b845ef77676559d3bb70acc37b39ee 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: add PREFER_SOFTWARE_CODEC flag to MediaCodecSource

Bug: 17108024
Change-Id: I553d7ccf9df9d4eb3d8bffa2f11ae32d03b9d6c3
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
6880f83431e54765364664d9ec50ce0d748bdfae 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: change signature of MediaCodec::Create methods

Most clients already have AString when creating codecs, and
internally we use AString.

const char * automatically casts to AString, but it does incur a
copy cost, so we incur it on every MediaCodec::Create call.

Bug: 17108024
Change-Id: I213dde7a6fc3cf3756eee6afd7194413bcca54a5
/frameworks/av/media/libstagefright/include/MediaCodec.h
f035bc642f2895e142caa13cb3e72af85f011657 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: create findCodec methods in MediaCodecList

This is to delete them from OMXCodec later.
Use ACodec-specific quirks.

Bug: 17108024
Change-Id: I670b104cff5ef37f155a9843f68d291aa943d1c1
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
f39989a3371bcb11458941bcc49d545225b55c82 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: move getOMXChannelMapping to ACodec

Bug: 17108024
Change-Id: I9b9f3adaf5d3c2aa41e9998cfe719b995e72b608
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
b8d11c1f2cf11a2757ec1482b9700d16765012d7 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove unused ClockEstimator and TimeSource

This was only used by AwesomePlayer

Bug: 17108024
Change-Id: I3b93c2b84e417a688d69d79debaa738caa8b8b7d
/frameworks/av/media/libstagefright/include/ClockEstimator.h
/frameworks/av/media/libstagefright/include/TimeSource.h
6984437d4ff87044a67ee2c693d34a2c50517bdd 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove unused TimedTextDriver and Sources

These were only used by AwesomePlayer

Bug: 17108024
Change-Id: Ia8e8372743ef7c568f852f8ad416a2b1811a5c89
/frameworks/av/media/libstagefright/include/timedtext/TimedTextDriver.h
9b6ecba5f9d8018f0807f656e4b16ab3b8d99c5b 09-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: Remove unused hooks from AudioPlayer

These were used by AwesomePlayer.

Bug: 17108024
Change-Id: I9fbea10172628d80e93451d9b38d245fd3f3b20f
/frameworks/av/media/libstagefright/include/AudioPlayer.h
01854c0129245d034bd99d64817dce06df20c5a6 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove deprecated AwesomePlayer

Bug: 17108024
Change-Id: Ia721bdfa87b07612ad8e76cbdcda6de2b8ce2a74
/frameworks/av/media/libstagefright/include/AudioPlayer.h
742a9baf0fbecd01a27b8741ab370552d1ab1771 09-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: Remove unused hooks from AudioPlayer

These were used by AwesomePlayer.

Bug: 17108024
Change-Id: I9fbea10172628d80e93451d9b38d245fd3f3b20f
/frameworks/av/media/libstagefright/include/AudioPlayer.h
e4d40ad91f3516bde106658673b2cb076b5dfcb7 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove deprecated AwesomePlayer

Bug: 17108024
Change-Id: Ia721bdfa87b07612ad8e76cbdcda6de2b8ce2a74
/frameworks/av/media/libstagefright/include/AudioPlayer.h
43e08e0146b825cde52480b64764765d9a61f97c 09-Feb-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: rework MediaCodecSource" into nyc-dev
5b05e49e6550cb2abf1a88272d6cd460b8957176 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: Move CodecCapabilities querying into MediaCodec

1. We cannot assume that codecs are OMX based
2. We still have a strange dependency where MediaCodec's
create methods depend on MediaCodecList, which depends on
MediaCodec's static method. This is to be untangled later.

Bug: 17108024
Change-Id: Idd619ee959627539a65f5f7da586108883dcb5f2
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
6a3a56fbcd6c01c3895f14e43858971b0edca9b2 03-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: rework MediaCodecSource

Redesigned MediaCodecSource to fix issues with source::stop(), where
there were still outstanding input buffers when the input source was
closed.

- moved input queue and state inside Puller
- Puller::pause, resume and stop is now atomic from caller's thread
- input source is accessed from Puller's looper, unless a blocked read
operation is detected.
- added stop timeout, so if Puller's looper is blocked, but it is not
yet detected, input source->stop is still called.

- using Mutexed helper class to ensure locked member access

Bug: 26964806
Change-Id: Icd6d4fc42a7c8e08b54e856c028f3d1fed5ae32d
(cherry picked from commit 6d26518f0c3872bc54ececb0fbbba0c006d72553)
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
00eb2fdb2b8f108e74c32e03b2a0e5bab3f107b6 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: add SimpleDecodingSource

SimpleDecodingSource is a lightweight replacement for OMXCodec
for decoding use. It does not support pause, secure content or
precise seeking. It also does not support start after stop.

Bug: 17108024
Change-Id: Ic310f9372ebf214cbd73118b18e5d2abcc4426cf
(cherry picked from commit 25a21c4bc7434ab0646d9f98bf6c52c387b4f28c)
/frameworks/av/media/libstagefright/include/SimpleDecodingSource.h
664041339740874917944c850b113656236edda6 06-Feb-2016 Hangyu Kuang <hkuang@google.com> Merge "stagefright: Support intra refresh in SoftAVC video encoder."
870aff9bd2442c8877f5d6b12c73032b5f24535a 28-Jan-2016 Hangyu Kuang <hkuang@google.com> stagefright: Support intra refresh in SoftAVC video encoder.

Bug: 26587630

Change-Id: Ia04dab11978fd8cc5d68bf721900775e13987a9a
/frameworks/av/media/libstagefright/include/ACodec.h
235303640aa98663bda58c923380e0fd5b0229ae 03-Feb-2016 Lajos Molnar <lajos@google.com> stagefright/foundation: add Mutexed syntactic sugar

Mutexed<typename> can be used to ensure that typename is always
accessed while holding a mutex.

Change-Id: I74879023281aa7855a608c62bf77963cbce5d137
/frameworks/av/media/libstagefright/include/foundation/Mutexed.h
16fcc47c113e63efa69f5af5decf1ad46ec653a9 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: add PREFER_SOFTWARE_CODEC flag to MediaCodecSource

Bug: 17108024
Change-Id: I553d7ccf9df9d4eb3d8bffa2f11ae32d03b9d6c3
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
6fc17d1a7c5d2fb117491b2e9f66c6236b526508 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: change signature of MediaCodec::Create methods

Most clients already have AString when creating codecs, and
internally we use AString.

const char * automatically casts to AString, but it does incur a
copy cost, so we incur it on every MediaCodec::Create call.

Bug: 17108024
Change-Id: I213dde7a6fc3cf3756eee6afd7194413bcca54a5
/frameworks/av/media/libstagefright/include/MediaCodec.h
b60521e269e5aeca773853dfeb150e9a512c7334 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: create findCodec methods in MediaCodecList

This is to delete them from OMXCodec later.
Use ACodec-specific quirks.

Bug: 17108024
Change-Id: I670b104cff5ef37f155a9843f68d291aa943d1c1
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
a485208faef579d3d20ee56f29e81d9a5e32e14d 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: move getOMXChannelMapping to ACodec

Bug: 17108024
Change-Id: I9b9f3adaf5d3c2aa41e9998cfe719b995e72b608
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
b3e5bbedff47b33baab6389b173e854e36e82bdb 29-Jan-2016 Glenn Kasten <gkasten@google.com> Merge "Remove TimedAudioTrack and associated code"
254012a040733ec2476171d311005168810d1d01 28-Jan-2016 Marco Nelissen <marcone@google.com> Merge "Revert "Run codecs in a separate process""
260e56c9a17737bf280d776797d6dee411c9b4da 28-Jan-2016 Marco Nelissen <marcone@google.com> Revert "Run codecs in a separate process"

This reverts commit 4f12d94fc26df1d0c7a566792711b8863fd39fe9.

Change-Id: Ic850a950119a45efd3042f40147253b37c328853
/frameworks/av/media/libmedia/include/media/IMediaCodecService.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
2b7893250228abb63dd7ca577d8c7769dcff2344 28-Jan-2016 Wei Jia <wjia@google.com> Merge "IDataSource: add getFlags() to expose DataSource::flags()."
10551fcd58b3807fc7351d88e6127ec227b993d1 27-Jan-2016 Wei Jia <wjia@google.com> IDataSource: add getFlags() to expose DataSource::flags().

This will let MPEG4Extractor cache stbl data. Therefore it can avoid data
flushing in data source (NuCachedSource2) due to reading stbl and access
unit data alternatively when the stream is larger than max cache size.

Bug: 26533748
Change-Id: Ia534755ab9130e4dcee94d53ca3c933d1b9eb566
/frameworks/av/media/libmedia/include/media/IDataSource.h
feb76cc0340f3eb4c9ae91cbfab4dcea449422f5 28-Jan-2016 Chien-Yu Chen <cychen@google.com> Merge changes from topic 'camera-hardening'

* changes:
camera: Add support to pass native handles across binders
Camera: Fix client permission check
Add cameraserver process
26736fd21faada79c4fb91cb6ef91582c113e9eb 27-Jan-2016 Marco Nelissen <marcone@google.com> Merge "Run codecs in a separate process"
1e0745544cf6328ba5957748328651c3cfb5b6b6 27-Jan-2016 Wonsik Kim <wonsik@google.com> Merge "stagefright: add HEVC support to MediaRecorder"
98a668f6ea51e4d894d2ebb61a0e18287fb14008 18-Dec-2015 Chien-Yu Chen <cychen@google.com> Camera: Fix client permission check

Modify StageFright's CameraSource to forward calling PID as
client PID when connecting to CameraService so CameraService
can check if the client PID has permission to use camera.

Change CameraService to check calling UID is trusted before
using the passed in client PID and client UID to verify permission.

Bug: 24511454
Change-Id: I4906ab73510e2c75714690bed675e3c13aca3ccf
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
d79072e9dff59f767cce2cda1caab80ce5a0815b 06-Jan-2016 Glenn Kasten <gkasten@google.com> Remove TimedAudioTrack and associated code

Bug: 8278435
Change-Id: I095c1a4888e645e14d93b0b15fbef4524a831ca1
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libnbaio/include/AudioBufferProviderSource.h
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/MonoPipeReader.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/PipeReader.h
/frameworks/av/media/libnbaio/include/SourceAudioBufferProvider.h
4f12d94fc26df1d0c7a566792711b8863fd39fe9 16-Dec-2015 Marco Nelissen <marcone@google.com> Run codecs in a separate process

For now this only runs decoders and Google encoders in the codec process.

Bug: 22775369
Change-Id: Iadd8b6bc2873ddcfaee3e68866642ba74c6949aa
/frameworks/av/media/libmedia/include/media/IMediaCodecService.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
4f2559d3cdeb7187dedca186d5abc65af4bdb031 11-Dec-2015 Robert Shih <robertshih@google.com> matroska: accept MKVs whose AVC CSD is in the 1st frame

Bug: 25936003
Change-Id: Ied4e7e8b1d3e79195124d57abae2eaa208c9c88a
/frameworks/av/media/libstagefright/include/MetaData.h
49712cddf096e38abd513386d5726b30f4a1dc6f 22-Jan-2016 Robert Shih <robertshih@google.com> Merge "stagefright: encrypted webm support"
9aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5e 07-Dec-2015 Wonsik Kim <wonsik@google.com> stagefright: add HEVC support to MediaRecorder

Bug: 22879917
Change-Id: I6c97b051467de44c506a8ff021321e5953a63fc3
/frameworks/av/media/libmedia/include/media/mediarecorder.h
05b7b2d33816a4bf9592ec82639a7bcf06166157 21-Jan-2016 Jaesung Chung <jaesung@google.com> Merge "Support for CEA-708 closed caption"
64cb1ba9caf15ef43eb8063132d5098929b983e9 21-Jan-2016 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: Add MEDIA_MIMETYPE_VIDEO_DOLBY_VISION."
0c353b583daa4dcd149d933f187307c71d8a991d 21-Jan-2016 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: keep reference to the codec memory on reclaim"
793c9fb11114c7be4636b8cae5477995aadeb71d 07-Jan-2016 Robert Shih <robertshih@google.com> stagefright: encrypted webm support

Bug: 26070802
Change-Id: I82cc3d4cfbe82c971a10074ba60498149df6ba10
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
bbe98f009fc2c3181a8d4ab71b3e145f76c01755 17-Jan-2016 Phil Burk <philburk@google.com> Merge "AudioTrack: Add getUnderrunCount()"
27e583ba1d0d4fdc11d6eeee0c416e727045cbbc 17-Jan-2016 Phil Burk <philburk@google.com> Merge "AudioTrack: add setBufferSizeInFrames()"
33ff89ba94a527e4293ee5349da01483252d5c83 30-Nov-2015 Phil Burk <philburk@google.com> AudioTrack: lower Java latency

Add AUDIO_FLAG_LOW_LATENCY to enable Fast track.

Change-Id: Ib1bff635afaa57af7754cb751b57c6afc4c2ab2b
Bug: 21019153
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
c0adecb800b197cb8c028513130ebabf2d0f37ba 08-Jan-2016 Phil Burk <philburk@google.com> AudioTrack: add setBufferSizeInFrames()

Also add getBufferCapacityInFrames().
These can be used to dynamically raise or lower latency.

Bug: 21019153
Signed-off-by: Phil Burk <philburk@google.com>
Change-Id: I02ca7f6f5cc4e089fcd81cc8a2b6ff234e0381a8
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
2812d9ea3a3a33142dd8e23c9d949c498d6f7a12 04-Jan-2016 Phil Burk <philburk@google.com> AudioTrack: Add getUnderrunCount()

This allows an app to detect application-level output glitches.
Underrun counts survive track recreation.

Change-Id: I8eb14e92f6fc1007718a29b0666ab51ace30cdb8
Bug: 25641253
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
c16bf1d9e8ccdd27327e988d50f5b9640e5406f8 13-Jan-2016 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioPolicy: callback for recording configuration change"
18cb1eca504817b5b144a023ae2792d90e74c9a5 18-Dec-2015 Jeff Tinker <jtinker@google.com> Support AES-CBC sample encryption in MediaDrm

bug:23719082
Change-Id: I3028452f315122b65296881aed1fbf66c3ceeebc
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
2f4fe9f7df8f22c6bc8745407d19df73128810ec 05-Dec-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicy: callback for recording configuration change

Each AudioSession tracks start / end of recording, and sends
a callback to AudioSystem.
AudioSystem tracks a single recording callback tracking
input source and audio session number.

Change-Id: Ic065751d9ba013e03f2a6ad8dde02542e5465ec0
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyServiceClient.h
a29c2b203d8bea8c21564765da5c9d7087448340 10-Dec-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: Add MEDIA_MIMETYPE_VIDEO_DOLBY_VISION.

Bug: 25684127
Change-Id: I123390e358ea6830708382456b7d92f0f32b3cb1
/frameworks/av/media/libstagefright/include/MediaDefs.h
2ddee19245641e86bca436dda23a0f5089bf2ab5 19-Dec-2015 Andy Hung <hunga@google.com> Add setMasterMono and getMasterMono

Bug: 15283594
Bug: 22700363
Change-Id: I32dc1fcecf285967a61bd508af3bb299595db57d
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
86b997dcf1101cdd259460fb4f82204200a9a993 23-Dec-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: keep reference to the codec memory on reclaim

Bug: 26309822
Change-Id: I98b48ad38cf0834c08e004027cb2b5c187c198a0
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
44333e51c62643e7581022495a2a1f410dd62e27 15-Dec-2015 Marco Nelissen <marcone@google.com> Merge "MediaSource: use shared memory for transferring larger buffers"
d0ef20e9e91afa734078bc229a5ded8e7e3ab944 09-Dec-2015 Chien-Yu Chen <cychen@google.com> Merge "Camera: Support BufferQueue between Camera and StageFright"
6ca0256a1dcd85e1fa0a535347a9f0ecc57e284d 09-Dec-2015 Jeff Tinker <jtinker@google.com> Remove unused MediaDrm.unprovisionDevice

bug:25726218
Change-Id: I6eb0ceb488c66c191897b3c190f5da1d71880c77
/frameworks/av/media/libmedia/include/media/IDrm.h
8cca0750a84c2d97224c0cfef7cf255308ee80b3 14-Nov-2015 Chien-Yu Chen <cychen@google.com> Camera: Support BufferQueue between Camera and StageFright

Use a BufferQueue between Camera and StageFright to pass video
buffers for Camera HALv3 devices.

CameraSource in StageFright will try to use "buffer queue" mode
if it is supported by the camera device. In "buffer queue" mode,
CameraSource creates a buffer queue and a listener thread to recieve
video buffers from camera device. CameraSource then wraps the
ANWBuffer in MediaBuffer. If the camera device doesn't support
"buffer queue" mode, it falls back to "metadata in video buffer"
mode or "real YUV data" mode.

"Metadata in video buffer" mode is removed from Camera2Client and
only "buffer queue" mode is supported.

Bug: 24511454

Change-Id: Ice833b57bcd8d91852d6415402013f56f3e3970a
/frameworks/av/media/libstagefright/include/CameraSource.h
3694d7cf40d1645bf05246cf38595eed606bb650 21-Oct-2015 Jaesung Chung <jaesung@google.com> Support for CEA-708 closed caption

Bug: 24314667, Bug: 24889604
Change-Id: Ica8a8405b143921de82ca6075a1f7b1f6f9ff345
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/MetaData.h
208bc477d92dbd2e5b4d1c0b2d000fa4c231e9d3 03-Dec-2015 Andy Hung <hunga@google.com> DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread
am: 3d6a714980

* commit '3d6a7149802928ecf3f58b7218b0e82699b492df':
DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread
469826c69810c24f2e90291182c8501e76be31f0 03-Dec-2015 Andy Hung <hunga@google.com> Merge "Use modulo position variables in AudioTrack and AudioRecord"
3d6a7149802928ecf3f58b7218b0e82699b492df 03-Dec-2015 Andy Hung <hunga@google.com> DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread

Sample decoding still occurs in SoundPoolThread
without holding the SoundPool lock.

Bug: 25781119
Change-Id: I11fde005aa9cf5438e0390a0d2dfe0ec1dd282e8
oundPool.h
19c47afbc402542720ddd280e1bbde3b2277b586 03-Dec-2015 Andy Hung <hunga@google.com> DO NOT MERGE SoundPool: add lock for findSample access from SoundPoolThread

Sample decoding still occurs in SoundPoolThread
without holding the SoundPool lock.

Bug: 25781119
Change-Id: I11fde005aa9cf5438e0390a0d2dfe0ec1dd282e8
oundPool.h
5f80c6f508ebafbe81d42177907035731e854c5b 30-Nov-2015 Marco Nelissen <marcone@google.com> Merge "Handle error result from DrmManagerClient correctly" am: f0d7854e93 am: b84a4f9d23
am: 3f27a44e8e

* commit '3f27a44e8ee013527f927cc61f5d765c8b79c590':
Handle error result from DrmManagerClient correctly
b84a4f9d23ce757ffc77044725c8beb21d2f859b 30-Nov-2015 Marco Nelissen <marcone@google.com> Merge "Handle error result from DrmManagerClient correctly"
am: f0d7854e93

* commit 'f0d7854e93696c4a10c98bc94d7b5f869c80493a':
Handle error result from DrmManagerClient correctly
f0d7854e93696c4a10c98bc94d7b5f869c80493a 30-Nov-2015 Marco Nelissen <marcone@google.com> Merge "Handle error result from DrmManagerClient correctly"
90e8a97dd5c9d391d7a2ea6a2290ed976f928379 10-Nov-2015 Andy Hung <hunga@google.com> Use modulo position variables in AudioTrack and AudioRecord

More type safety, plus correct treatment for sanitization.

Bug: 25569906
Bug: 25232421
Change-Id: Id852277b81a1792c5e67392cd74bc39cba7ed1ad
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/Modulo.h
b65990f4a0cf01db0b9f21c68fcf8824ae03a178 10-Nov-2015 Marco Nelissen <marcone@google.com> MediaSource: use shared memory for transferring larger buffers

For small buffers we still copy the data as part of the binder transaction,
since that saves one extra binder call, but for buffers > 64KB we now use
shared memory.

Change-Id: I19aad7ea7f6104991b9b6b4f24ea880b54f739be
/frameworks/av/media/libstagefright/include/MediaBuffer.h
b2487f03f12dcafdb801fc0007c8df8412397f44 01-Sep-2015 Marco Nelissen <marcone@google.com> Extractor service

Run extractors in a separate process. Currently all data is copied through a
binder transaction, and WVMExtractor is still run in the mediaserver process.

Change-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13
/frameworks/av/media/libmedia/include/media/IMediaExtractor.h
/frameworks/av/media/libmedia/include/media/IMediaExtractorService.h
/frameworks/av/media/libmedia/include/media/IMediaSource.h
/frameworks/av/media/libstagefright/include/AACWriter.h
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/timedtext/TimedTextDriver.h
d373ede5e7737f7fec936f4c37f64805a538d584 26-Oct-2015 Marco Nelissen <marcone@google.com> Merge "ABuffer: remove unused code" am: d0f8fa383e am: cb0f20a313
am: 81f93f8176

* commit '81f93f8176fa30083b3fbf641278b8e17ccd6144':
ABuffer: remove unused code
81f93f8176fa30083b3fbf641278b8e17ccd6144 26-Oct-2015 Marco Nelissen <marcone@google.com> Merge "ABuffer: remove unused code" am: d0f8fa383e
am: cb0f20a313

* commit 'cb0f20a3138d3e1d5586fd127c4f2f6c05e78a48':
ABuffer: remove unused code
cb0f20a3138d3e1d5586fd127c4f2f6c05e78a48 26-Oct-2015 Marco Nelissen <marcone@google.com> Merge "ABuffer: remove unused code"
am: d0f8fa383e

* commit 'd0f8fa383e0f91b8a249729193f6f29ca55e1bed':
ABuffer: remove unused code
d0f8fa383e0f91b8a249729193f6f29ca55e1bed 26-Oct-2015 Marco Nelissen <marcone@google.com> Merge "ABuffer: remove unused code"
d066bc8faf68b9fcb034ceb203e8d7e8213dc1ce 22-Dec-2014 Patrik Lindgren <patrik2.lindgren@sonymobile.com> Handle error result from DrmManagerClient correctly

readAtDRM() must handle the case when DrmManagerClient::pread()
returns an error (-1) correctly. This is a degrade in Android L.

Change-Id: Id7ff124d178e26931dddac5ac73697cfe6da501c
/frameworks/av/media/libstagefright/include/FileSource.h
c4ac8173f911aeac8d5006b19ba48fb51a865115 21-Oct-2015 Wei Jia <wjia@google.com> AudioSink: move getPlayedOutAudioDurationUs() from NuPlayerRenderer to AudioSink.

Change-Id: Id22e10dc5f1cd7ade0e043ea56ed77497c2e32af
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
13b0a36a5dd1a92e2a49536e0668b81b9fd8e589 21-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Move overflow checks into SkipCutBuffer" am: 8be95ca80a am: 1f410f44a1
am: c396adf7c4

* commit 'c396adf7c434abb687e1dbce63fa084b6b6ec05e':
Move overflow checks into SkipCutBuffer
c396adf7c434abb687e1dbce63fa084b6b6ec05e 20-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Move overflow checks into SkipCutBuffer" am: 8be95ca80a
am: 1f410f44a1

* commit '1f410f44a17a01890244270b034cb00f74fedce7':
Move overflow checks into SkipCutBuffer
1f410f44a17a01890244270b034cb00f74fedce7 20-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Move overflow checks into SkipCutBuffer"
am: 8be95ca80a

* commit '8be95ca80ab8db3f8355b04f867e0bd42c22feeb':
Move overflow checks into SkipCutBuffer
f43f2cf4ae771069a86ffeaf732b53eb90191219 20-Oct-2015 Marco Nelissen <marcone@google.com> am a1563026: am 5642a2e0: Merge "Revert "Move overflow checks into SkipCutBuffer""
am: 5700f3eb20

* commit '5700f3eb20ac31fd1839e78364a60bb718e919cf':
Revert "Move overflow checks into SkipCutBuffer"
af0441dd9871c4c6a066076bff2f0100cc98ae6b 20-Oct-2015 Lajos Molnar <lajos@google.com> am 1f506048: am 32ba6ec7: am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge "stagefright: check bounds for MediaCodecList.getCodecInfo" into lmp-dev am: 00a1dcafd9
am: 22effff54a

* commit '22effff54af6ff60c5cf6ec66872478bcde7302b':
stagefright: check bounds for MediaCodecList.getCodecInfo
b1cf03160fa7e7bc6e5cf138db07a7e1ab2ecb26 17-Oct-2015 Marco Nelissen <marcone@google.com> Move overflow checks into SkipCutBuffer

Previously SkipCutBuffer would check its input parameters to ensure
they were sane, however since bogus values might be the result of
overflows, and overflow protection was recently turned on for
libstagefright, the compiler's overflow checks were performed before
SkipCutBuffer's, resulting in abort rather than just ignoring the
bogus values.
Moving the multiplication by framesize into SkipCutBuffer fixes this.

Change-Id: I1ad6744bb045a5212701bbf6ee44eecb5f318210
/frameworks/av/media/libstagefright/include/SkipCutBuffer.h
5700f3eb20ac31fd1839e78364a60bb718e919cf 19-Oct-2015 Marco Nelissen <marcone@google.com> am a1563026: am 5642a2e0: Merge "Revert "Move overflow checks into SkipCutBuffer""

* commit 'a1563026c59471183bbc3bc5f6183e663fa5099d':
Revert "Move overflow checks into SkipCutBuffer"
a1563026c59471183bbc3bc5f6183e663fa5099d 19-Oct-2015 Marco Nelissen <marcone@google.com> am 5642a2e0: Merge "Revert "Move overflow checks into SkipCutBuffer""

* commit '5642a2e06c7be0697ab5079dc8484ec3e3c6ecfa':
Revert "Move overflow checks into SkipCutBuffer"
e1054e74bb02ad4789bfce1e3a04f04825a572db 19-Oct-2015 Marco Nelissen <marcone@google.com> Revert "Move overflow checks into SkipCutBuffer"

This reverts commit 6867e1a1e25d4ec5344eae070f0fbc284bb92876.

Change-Id: I90d479dac014c72ffa7151a30e79e68d9ce967ac
/frameworks/av/media/libstagefright/include/SkipCutBuffer.h
22effff54af6ff60c5cf6ec66872478bcde7302b 19-Oct-2015 Lajos Molnar <lajos@google.com> am 1f506048: am 32ba6ec7: am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge "stagefright: check bounds for MediaCodecList.getCodecInfo" into lmp-dev am: 00a1dcafd9

* commit '1f50604822f432965d302fe6af7adca6998d8004':
stagefright: check bounds for MediaCodecList.getCodecInfo
74ee3ba4177c705e08b9af3bb94551f7f87dc5b3 19-Oct-2015 Marco Nelissen <marcone@google.com> am c6308741: am 510f7aca: am afd238af: Merge "Move overflow checks into SkipCutBuffer"

* commit 'c63087411817addc29d61d33a6d06089278bdbb4':
Move overflow checks into SkipCutBuffer
00a1dcafd944ff93eb4848f044adcbfb0784a0dd 19-Oct-2015 Lajos Molnar <lajos@google.com> am 32ba6ec7: am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge "stagefright: check bounds for MediaCodecList.getCodecInfo" into lmp-dev

* commit '32ba6ec761fc62f7da217281ac5bb598ffed2db8':
stagefright: check bounds for MediaCodecList.getCodecInfo
32ba6ec761fc62f7da217281ac5bb598ffed2db8 19-Oct-2015 Lajos Molnar <lajos@google.com> am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge "stagefright: check bounds for MediaCodecList.getCodecInfo" into lmp-dev

* commit '0378676b3f12158537a01916e69f6ab51817605f':
stagefright: check bounds for MediaCodecList.getCodecInfo
0378676b3f12158537a01916e69f6ab51817605f 19-Oct-2015 Lajos Molnar <lajos@google.com> am 92990810: am b1231923: am e550d213: am f70b69a8: Merge "stagefright: check bounds for MediaCodecList.getCodecInfo" into lmp-dev

* commit '92990810407a2e1101f5db156c1e264887886c82':
stagefright: check bounds for MediaCodecList.getCodecInfo
b1231923f134a167a0351091d8944b7583928a4f 19-Oct-2015 Lajos Molnar <lajos@google.com> am e550d213: am f70b69a8: Merge "stagefright: check bounds for MediaCodecList.getCodecInfo" into lmp-dev

* commit 'e550d21360287c752fd79a67f1962244ee272be1':
stagefright: check bounds for MediaCodecList.getCodecInfo
c63087411817addc29d61d33a6d06089278bdbb4 19-Oct-2015 Marco Nelissen <marcone@google.com> am 510f7aca: am afd238af: Merge "Move overflow checks into SkipCutBuffer"

* commit '510f7aca71dfa914869bd9709fc96e69d312e44f':
Move overflow checks into SkipCutBuffer
510f7aca71dfa914869bd9709fc96e69d312e44f 19-Oct-2015 Marco Nelissen <marcone@google.com> am afd238af: Merge "Move overflow checks into SkipCutBuffer"

* commit 'afd238af51e92e44c7b431b8ed9e148b8d8a52d2':
Move overflow checks into SkipCutBuffer
6867e1a1e25d4ec5344eae070f0fbc284bb92876 17-Oct-2015 Marco Nelissen <marcone@google.com> Move overflow checks into SkipCutBuffer

Previously SkipCutBuffer would check its input parameters to ensure
they were sane, however since bogus values might be the result of
overflows, and overflow protection was recently turned on for
libstagefright, the compiler's overflow checks were performed before
SkipCutBuffer's, resulting in abort rather than just ignoring the
bogus values.
Moving the multiplication by framesize into SkipCutBuffer fixes this.

Change-Id: I82497a05af17c91a8d271882f7354fae6497382a
/frameworks/av/media/libstagefright/include/SkipCutBuffer.h
c4b3c2a7737039d0fcbceaa36590468926bdd1d3 13-Oct-2015 Ronghua Wu <ronghuawu@google.com> am cb9124f5: am 5e20fad6: am e5200ea7: Merge "libstagefright: don\'t reclaim codec when there\'s buffer owned by client. Notify the client and try to reclaim again in 0.5s." into mnc-dr-dev

* commit 'cb9124f5c810b4777f8c6644135531477eeed79a':
libstagefright: don't reclaim codec when there's buffer owned by client. Notify the client and try to reclaim again in 0.5s.
e5200ea76c5d180b53087ae7825326ec61cc4687 13-Oct-2015 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: don't reclaim codec when there's buffer owned by client. Notify the client and try to reclaim again in 0.5s." into mnc-dr-dev
77c185d5499d6174e7a97b3e1512994d3a803151 13-Oct-2015 Lajos Molnar <lajos@google.com> stagefright: check bounds for MediaCodecList.getCodecInfo

Bug: 24445127
Change-Id: I1c6cb9e2518b852d48d5d0d625b54409bd4e13ec
/frameworks/av/media/libstagefright/include/MediaCodecList.h
f8a36b5850fa6f793f1d26ca9e35afd5f8d704d5 12-Oct-2015 Marco Nelissen <marcone@google.com> ABuffer: remove unused code

Change-Id: I88d6869578acf719a42c40b98946c9337fce98d5
/frameworks/av/media/libstagefright/include/foundation/ABuffer.h
91aa4a0aefa43ad53a20b3d4538a6a986c902818 08-Oct-2015 Wei Jia <wjia@google.com> am f106f9e4: am 15e991bd: resolved conflicts for 0b09da7a to lmp-mr1-dev

* commit 'f106f9e4eacc1cb10ccc851a37619ed4b37bbb1b':
DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.
15e991bdf8870c2c9820c2d98e0d30dae2e05a25 08-Oct-2015 Wei Jia <wjia@google.com> resolved conflicts for 0b09da7a to lmp-mr1-dev

Change-Id: Ib6a1aa4cee00e0449da30ae158d71403d6236487
dd184a4824acc31160895e2c6f8d93a7facfc2c8 08-Oct-2015 Wei Jia <wjia@google.com> am 3b4a72ac: Merge "DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer." into klp-dev

* commit '3b4a72acf039c58c33807b6d6fcdd5e09eafb1df':
DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.
d008275796ac4cccf85fefce53cef733a49bc1fa 31-Aug-2015 Wonsik Kim <wonsik@google.com> Implement pause/resume functionality to MediaRecorder

Bug: 20092236
Change-Id: Ia0e92ff246302fd5fdef53c4f961d6645cc26a86
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
2482595baadd16f20d3992c8c9d6a14061836872 28-Sep-2015 Wei Jia <wjia@google.com> DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.

Bug: 24310423
Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
(cherry picked from commit 8dde7269a5356503d2b283234b6cb46d0c3f214e)
/frameworks/av/media/libmedia/include/media/IOMX.h
4a03d784f7c0e3a9685d182eee92ba6580eaf5a1 28-Sep-2015 Wei Jia <wjia@google.com> DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.

Bug: 24310423
Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
(cherry picked from commit 8dde7269a5356503d2b283234b6cb46d0c3f214e)
/frameworks/av/media/libmedia/include/media/IOMX.h
f470bf3f3788062f77a0614ec693583fd85716c6 06-Oct-2015 Wei Jia <wjia@google.com> am 031e841e: am 8656914f: am b90b8291: am cb70fdbe: Merge "OMX: allow only secure codec to remotely call allocateBuffer." into mnc-dev

* commit '031e841e34f2358a71cc63ad8192e0f48a9f63a7':
OMX: allow only secure codec to remotely call allocateBuffer.
b90b8291e36ae079ac0ccd029bb6e6a987036f7c 06-Oct-2015 Wei Jia <wjia@google.com> am cb70fdbe: Merge "OMX: allow only secure codec to remotely call allocateBuffer." into mnc-dev

* commit 'cb70fdbe9be14002a4303a93f07a13c508c00d89':
OMX: allow only secure codec to remotely call allocateBuffer.
4b710f086070fabe022b3a1f474bfcbec842b8fc 15-Sep-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: don't reclaim codec when there's buffer owned
by client.
Notify the client and try to reclaim again in 0.5s.

Bug: 23703241
Bug: 23949540
Change-Id: I1afe50c71635645668bfb73ffa0d801765b5ae3c
/frameworks/av/media/libstagefright/include/MediaCodec.h
4802c0c507681634aee38518581a080bfa443ae2 29-Sep-2015 Praveen Chavan <pchavan@codeaurora.org> AudioSystem: Fix race condition in accessing ioDescriptors

The vector mIoDescriptors can be simultaneouly modified
and accessed by 2 threads. Acquire a lock while wrapping
the ioDescriptor in a sp<>

Bug: 24576810

Author: Haynes Mathew George <hgeorge@codeaurora.org>

Change-Id: I73c79ef8eca092b500a7ead3a5ebd0bcf75f9920
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
8dde7269a5356503d2b283234b6cb46d0c3f214e 28-Sep-2015 Wei Jia <wjia@google.com> OMX: allow only secure codec to remotely call allocateBuffer.

Bug: 24310423
Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
/frameworks/av/media/libmedia/include/media/IOMX.h
49fdeaff2f4c1405738320b7c3a540b528457e1b 29-Sep-2015 Praveen Chavan <pchavan@codeaurora.org> AudioSystem: Fix race condition in accessing ioDescriptors

The vector mIoDescriptors can be simultaneouly modified
and accessed by 2 threads. Acquire a lock while wrapping
the ioDescriptor in a sp<>

Bug: 24576810

Author: Haynes Mathew George <hgeorge@codeaurora.org>

Change-Id: I73c79ef8eca092b500a7ead3a5ebd0bcf75f9920
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
83b0fd9997b558f6c2ebf5e6e4db20570cb233b8 16-Sep-2015 Marco Nelissen <marcone@google.com> Optionally print name for fd

Add utility function to get the file name for a file descriptor,
and use it in various places.

Change-Id: I196b557a56d5ef0ef89e2020aab2699eafae61b0
/frameworks/av/media/libstagefright/include/Utils.h
e096621f94f708b8634ad76333e6ac1882b46328 02-Sep-2015 Marco Nelissen <marcone@google.com> Remove unused code

Change-Id: Ib4f194a1180b832ad39d9ded0962184e6daf5e29
/frameworks/av/media/libmedia/include/media/mediaplayer.h
02a65c4f599035bf6d58ceda766311f8cb188ba3 20-Aug-2015 Jon Larimer <jlarimer@google.com> am 8910f92a: am 2ea335b1: am fecbc5da: am 5b4a5cce: Merge "do not dequeue from native window after we hit fatal error -- DO NOT MERGE" into lmp-dev

* commit '8910f92aea5791f245da2c69a8c2ad3fb92bb310':
do not dequeue from native window after we hit fatal error -- DO NOT MERGE
27362395cec5673a9cbfe7179ad5490c4e475329 18-Aug-2015 Jon Larimer <jlarimer@google.com> am 2ed42aea: Merge "do not dequeue from native window after we hit fatal error -- DO NOT MERGE" into klp-dev

* commit '2ed42aea9c6fbca4bde52d647ff082b997b5968c':
do not dequeue from native window after we hit fatal error -- DO NOT MERGE
2ea335b11c1e328896a6c7a2e6d2bc190b7f06fc 18-Aug-2015 Jon Larimer <jlarimer@google.com> am fecbc5da: am 5b4a5cce: Merge "do not dequeue from native window after we hit fatal error -- DO NOT MERGE" into lmp-dev

* commit 'fecbc5da64a992f91f74ef6c67a7e247b0da7777':
do not dequeue from native window after we hit fatal error -- DO NOT MERGE
bf47eb9c67ed364f3c288954857aab9d9311db4c 14-Aug-2015 Chong Zhang <chz@google.com> do not dequeue from native window after we hit fatal error -- DO NOT MERGE

bug: 22845824
Change-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141
(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)
/frameworks/av/media/libstagefright/include/ACodec.h
734e65e6e7e1ee863781c1ebd87003933bb4a752 14-Aug-2015 Chong Zhang <chz@google.com> do not dequeue from native window after we hit fatal error -- DO NOT MERGE

bug: 22845824
Change-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141
(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)
/frameworks/av/media/libstagefright/include/ACodec.h
a89cfb6cab17700efa62665cda3bc4b87c6f1ad8 14-Aug-2015 Chong Zhang <chz@google.com> do not dequeue from native window after we hit fatal error

bug: 22845824
Change-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141
(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)
/frameworks/av/media/libstagefright/include/ACodec.h
346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a 14-Aug-2015 Chong Zhang <chz@google.com> do not dequeue from native window after we hit fatal error

bug: 22845824
Change-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141
/frameworks/av/media/libstagefright/include/ACodec.h
e0e37e13bc9e62e58484d1e54e66eaf506744548 07-Aug-2015 Marco Nelissen <marcone@google.com> am 48192b84: am 0625841d: am dfaea255: am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit '48192b84db39879e7d83a2f4e7023048fb81ee8e':
Fix crash on malformed id3
48192b84db39879e7d83a2f4e7023048fb81ee8e 07-Aug-2015 Marco Nelissen <marcone@google.com> am 0625841d: am dfaea255: am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit '0625841daae5bb1351034909ce705aab517eea2d':
Fix crash on malformed id3
dfaea255546340742b42c216663f61c6b7301c4f 07-Aug-2015 Marco Nelissen <marcone@google.com> am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit '578d5b66fc9f5e36ca0cb19b21771aa85ec131ee':
Fix crash on malformed id3
171b5fadb9d304f5e06686e4f3d060ef335d7250 07-Aug-2015 Marco Nelissen <marcone@google.com> am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit 'd6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3':
Fix crash on malformed id3
d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3 07-Aug-2015 Marco Nelissen <marcone@google.com> am f26400c9: Fix crash on malformed id3

* commit 'f26400c9d01a0e2f71690d5ebc644270f098d590':
Fix crash on malformed id3
f26400c9d01a0e2f71690d5ebc644270f098d590 05-Aug-2015 Marco Nelissen <marcone@google.com> Fix crash on malformed id3

Bug: 22954006
Change-Id: I488cb1e2c69fc7043b6040481b30fa866000515d
/frameworks/av/media/libstagefright/include/MetaData.h
f42917964a76720932b23e67a05d034cd0cf346b 29-Jul-2015 Chong Zhang <chz@google.com> add GRALLOC_USAGE_HW_COMPOSER flag to video usage bits

bug: 22657091
Change-Id: I6a11bc15bba34035ef31c2f4d41196ece60d4ad9
/frameworks/av/media/libstagefright/include/ACodec.h
f87d8341df3445fb4931a39deec2ec1d00c30918 22-Jul-2015 Ronghua Wu <ronghuawu@google.com> Merge "libmediaplayerservice: propagate caller pid to MediaCodec." into mnc-dev
68845c14ebf2c7282800b1abffde38d8e9a57aab 21-Jul-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: propagate caller pid to MediaCodec.

Bug: 22630317
Change-Id: I0337d74f4ef04bf96f2de83f33d98d0d7da47c12
/frameworks/av/media/libstagefright/include/MediaCodec.h
82a633b602a7ffe1efd9886744393f52a093a2f3 21-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: remove workaround for BQ not reporting dropped frames

Bug: 22234976
Related-bug: 22552826
Change-Id: Ic29b8d8533a4df8c15bcf3a9dab924aa24428304
/frameworks/av/media/libstagefright/include/MediaSync.h
f8f669d7a727e4ad5505cd85741f4d50dbaffbf9 18-Jul-2015 Chong Zhang <chz@google.com> Merge "fix soft renderer rotation" into mnc-dev
51390b48d311d1164a6638d3fe0b4a48aaa9028f 18-Jul-2015 Ronghua Wu <ronghuawu@google.com> Merge "mediaresourcemanager: add pid to removeResource method" into mnc-dev
505aab41c0e8e79a49d4506344fcd9d220d5965b 18-Jul-2015 Chong Zhang <chz@google.com> fix soft renderer rotation

bug: 13222807
Change-Id: I6f6f417422d3a18117b594670bb23e3019d449bb
/frameworks/av/media/libstagefright/include/MediaCodec.h
dd761ecee86cc24ac8774bf1f004ea29b1e0d3f7 17-Jul-2015 Chong Zhang <chz@google.com> Merge "MediaRecorder: enable audio for slow motion recording" into mnc-dev
46d26dd29195450db15704e84d65740628a821fb 16-Jul-2015 Chong Zhang <chz@google.com> MediaRecorder: enable audio for slow motion recording

bug:22460747

Change-Id: I23f773ecf7b86928a8eacd25a481636e645affbe
/frameworks/av/media/libstagefright/include/AudioSource.h
37c8924c508a7c9b8bd3c8ce80fc005070531902 15-Jul-2015 Ronghua Wu <ronghuawu@google.com> mediaresourcemanager: add pid to removeResource method

Bug: 22496209
Change-Id: I73311573e8d1ac15fec668a9ef6e6af7a07a1d30
/frameworks/av/media/libmedia/include/media/IResourceManagerService.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
08dc42c46c942ff316a69be1cf74f3c60cf53e7f 02-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: flush pending video frames for MediaSync

Bug: 22234976
Change-Id: Ib63c2286610181968658fb38f5526a489635cf3e
/frameworks/av/media/libstagefright/include/MediaSync.h
a3725d7b0cb79ddb49f81cba00a0164d8e645acd 02-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: MediaSync: use VideoFrameScheduler

Move VideoFrameScheduler to libstagefright as part of this change.

Bug: 22234976
Change-Id: Ib23fb52399cb700a1dcf789e8486b94a3edf9d95
/frameworks/av/media/libstagefright/include/MediaSync.h
/frameworks/av/media/libstagefright/include/VideoFrameScheduler.h
e3635355e4cae5af7550b49888c6a0e3530b8aea 11-Jul-2015 Lajos Molnar <lajos@google.com> MediaCodec: consider usage bits when changing surface.

The new surface cannot add usage bits not already present (as
already existing buffers may become unusable for the surface).

Bug: 22414343
Change-Id: Id8169c79cd0994be134a16782dd04687e46ca1dd
/frameworks/av/media/libstagefright/include/ACodec.h
9903589eacc655481acebc5b85632b3b84418bc9 27-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: allow controlling experiments from property

Bug: 20894667
Change-Id: Icb2209e12ed6a1820b8f33626ca02aabcff03321
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
ad949cd4ca52d19ea5e7a5c5dce84d1410fe5244 30-Jun-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: ask for flex-YUV camera buffers for software encoders" into mnc-dev
c93a13669ce1b5a9e6527b4c86c9d8f5e92be828 26-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: ask for flex-YUV camera buffers for software encoders

Bug: 13222807
Change-Id: I854b73a63cf9239311729598241725d84e8513aa
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/MetaData.h
e8726fea8a53bf3474aa3c6deaf2f6c1f565e694 26-Jun-2015 Eric Laurent <elaurent@google.com> reduce number of binder calls from mediaserver

Reduce the number of audio port, audio patch and
IO config changed binder calls from mediaserver to
client processes:
- Do not call IO config changed callback if selected
device is the same as previously selected one on a given
audio flinger playback or capture thread.
- Do not call the audio port or audo patch list update
callback on a client if this client as no listener registered.

Bug: 22045560.

Change-Id: If780e105404de79b7cb5c80c27b793ceb6b1c423
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
55a2dcce3a409393dc51ab2eb433914331f2df51 23-Jun-2015 Ricardo Garcia <rago@google.com> Merge "Using centralized isAudioPlaybackRateValid to validate parameters" into mnc-dev
6c7f062d3149d6890daaee64828959ad6f61ea54 01-May-2015 Ricardo Garcia <rago@google.com> Using centralized isAudioPlaybackRateValid to validate parameters

Centralized validation code
bug: 20701446

Change-Id: I9d9941c7639c05b2afe069ff4f858c693c910bfe
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
99b38856e91a55bb67085dbabffac9739998fe8b 22-Jun-2015 Ricardo Garcia <rago@google.com> Merge "Fix for Visualizer release bug" into mnc-dev
5cecaa9430ef1d721968f1cd621c1c45c52190ce 22-Jun-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: allow state change while handling OMX message list" into mnc-dev
e421a32aa696cd8abbf8fdc97cc8f37dbf372cac 20-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: allow state change while handling OMX message list

Bug: 21724210
Bug: 21925253
Change-Id: Id1c055ce611d4632ae13fbc69d79b65caf657a2a
/frameworks/av/media/libstagefright/include/ACodec.h
9b030df5ead9c039e4ebb16c745e2cc40e953d48 19-Jun-2015 Ricardo Garcia <rago@google.com> Fix for Visualizer release bug

Setting callback reference to NULL before requesting exit.

bug: 21804802
Change-Id: I54323959686880f4e7a10b766850f8c86c06edb6
/frameworks/av/media/libmedia/include/media/Visualizer.h
604bb9ea6e9bec763ae231330066ecffa90a2786 20-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: handle removal of a tracked buffer in ACodec

Bug: 21815057
Change-Id: Idd1c71b4b0b68028020c3e10615936870ffd2dec
/frameworks/av/media/libstagefright/include/FrameRenderTracker.h
6653c935d2518a713587b3887ca09aa09ebfa7fd 08-Jun-2015 Andy Hung <hunga@google.com> Return DEAD_OBJECT if getTimestamp cannot restore track

Bug: 21699132
Change-Id: I90443f8674ed949e2546048b231be75cd6fe6615
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
1f1db8356b599bc40703c907fb69e6e539343532 08-Jun-2015 Andy Hung <hunga@google.com> Fix AudioTrack comments relating to use of restoreTrack_l()

Bug: 21699132
Change-Id: Ib0d029a5e28676aeffbbbafc88c52a17367a413c
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
356f08476db6191cdcbad20caf69d7bd642a09b2 10-Jun-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: add support for output frame rendered callback" into mnc-dev
c75a989a38a157d48ca34bf127d5b4533e9356a7 09-Jun-2015 Eric Laurent <elaurent@google.com> Merge "Use only strong references to AudioEffect" into mnc-dev
90fcf68fd29f3cb695bd53a830ad984cb7d430c0 04-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for output frame rendered callback

- Added FRAME_RENDERED event in OMX, used by tunneled video decoders
to signal rendered event timing
- Track buffers sent for rendering in ACodec and in SoftwareRenderer, and
determine when they have rendered
- Propagate render times to MediaCodec

Bug: 20503131
Change-Id: Idf0a8714d5368b237c2285dd39fa82db847c232f
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/FrameRenderTracker.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
eecd7659823504c6c65a2b0f4267515a8e3f24cb 05-Jun-2015 Eric Laurent <elaurent@google.com> Use only strong references to AudioEffect

Do not refer to an AudioEffect instance by a raw pointer from the
child AudioEffectClient.

Also align destructor cleanup sequence on those of AudioTrack
and AudioRecord.

Bug: 21629892.

Change-Id: I970307aedbc38db2e41a2cc652fd6df9112f712c
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
d46a6b9fd8b2a4f9098757384711e2cd03a91651 15-May-2015 Eino-Ville Talvala <etalvala@google.com> Camera1 API: Support SW encoders for new camera HALs

- Support new set video format/dataspace command in camera service
- HALv3: Select gralloc usage flags based on format
- HALv1: Pass format command directly to HAL layer
- Use format/dataspace command in CameraSource
- Switch all API1 recording to use metadata mode
- Switch all >= HALv2 API1 recording to use kMetadataBufferTypeANWBuffer

Bug: 13222807
Change-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42
/frameworks/av/media/libstagefright/include/CameraSource.h
b4b4cd11c9b95af613f5c0f14f93e3c9590fda7c 08-Jun-2015 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: run codec profiling in worker thread." into mnc-dev
a09152c6317e0295773b91f529e63c4d7c107752 05-Jun-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: run codec profiling in worker thread.

Bug: 21645841
Change-Id: Ia15eb3b064b671c569afb0742db7535f6b03232e
/frameworks/av/media/libstagefright/include/MediaCodecList.h
26a48f304a8754d655e554178ffb6d7ba4c5aac3 04-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for batching OMX events

Bug: 20503131
Change-Id: I762c419ed1245f8b83fb1f6bf61e5557213ca07b
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
c8e09c610fabc7390297ecb48e939acbdfe27325 04-Jun-2015 Andy Hung <hunga@google.com> Improve AudioTrack offload timestamp startup glitch detector

New or existing glitch behavior for Nexus 5 offload audio:
we receive several 0 timestamps,
then we get a stale timestamp (very large),
then a few ms later we get a correct nonzero timestamp.

We attempt to hide the glitch because the retrograde timestamp
correction makes the glitch "sticky".

Bug: 21633313
Change-Id: I39153af718c151f9435e7d315651a811f72743da
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
179652ee2a508361df1aa18e99000373886f0816 01-Jun-2015 Andy Hung <hunga@google.com> NuPlayer: Add audio sink buffer configuration

Property media.stagefright.audio.sink (in milliseconds)
Also change the default buffer size for PCM playback to 500 ms.

Bug: 21198655
Change-Id: I5781288f59bf08fbecd9263a26c919570b58be0f
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
a7f03353d5f172016f324e2a01f301cca6794152 01-Jun-2015 Andy Hung <hunga@google.com> Compute sleep time when AudioTrack client callback returns no PCM data

Callbacks can go into a sleep-wait cycle if the client/app is unable to
deliver data. This can happen if the buffer is large, or if
the client/app cannot keep the buffer filled, or upon a stream end condition.
We improve the sleep time computation for AudioTrack PCM callbacks.

This minimizes the number of callbacks to NuPlayerRenderer.

Bug: 21198655
Change-Id: I4247798a6638def2f0d8f1b46f60323482065cb2
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
15ab4996019387f27a48b81cb4774c21502bc0e5 01-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for fences in OMX

Pass Fence between Surface and ACodec, and between ACodec and IOMX.

Bug: 12386081
Change-Id: Ifdc566979dec0d91ed8b07c3b69d2cf092accc73
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
0eafa9d8ee4069aa709ff85ceffe94d12995956d 02-Jun-2015 Andy Hung <hunga@google.com> Merge "Store server latency, sample rate, framecount information in AudioTrack" into mnc-dev
054219874873b41f1c815552987c10465c34ba2b 16-May-2015 Lajos Molnar <lajos@google.com> stagefright: rework metadata buffer support

- Add fence to new metadata buffer mode structure, but don't use it
yet, so that we don't have to add another mode soon.
- Change GraphicBuffers to ANativeWindowBuffer in new metadata mode.
This removes internal depencency from vendor codecs.
- Extend new metadata mode from SW encoders to all codecs.
- Fallback from new metadata mode to old mode (so Camera can always
use the new mode even with legacy codecs)

Related-bug: 19614055
Bug: 13222807
Change-Id: I405a21dd6ce8e99808f633bfeab8f14278eb7079
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
9f9e21ed9a342e0ca945818bdc6c0c4fb3bfb9bd 01-Jun-2015 Andy Hung <hunga@google.com> Store server latency, sample rate, framecount information in AudioTrack

Bug: 21198655
Change-Id: I24590196642a97ea5d61bc6356f0aff782bd37d3
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
cb18ec05b7097a63262b81afe1e866105d400f4a 02-Jun-2015 Ruben Brunk <rubenbrunk@google.com> Merge "Track camera and flashlight usage in battery stats." into mnc-dev
99e69716215cd0665379bc90d708f2ea8689831d 27-May-2015 Ruben Brunk <rubenbrunk@google.com> Track camera and flashlight usage in battery stats.

Bug: 15986092

Change-Id: I9dc6828332e4091fd93bf2d82839e8e3862a2fc2
/frameworks/av/media/libstagefright/include/MediaCodec.h
cc7cc67349b7a3f498882087aa42ffc05a2daf11 01-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: allow to overallocate OMX codec buffers

Specify allottedSize for useBuffer and allocateBufferWithBackup,
where OMX will see only the allottedSize, even though framework may
allocate and use a bigger buffer.

Bug: 13222807
Change-Id: Ibfa93f6c7b7c8ca0853ef17d4a0758e496eaf921
/frameworks/av/media/libmedia/include/media/IOMX.h
679e56914e83f05780003c71b84cc5b340e8fc0a 01-Jun-2015 Glenn Kasten <gkasten@google.com> Remove EVENT_NEW_TIMESTAMP symbol until fully implemented

Change-Id: I8e5dda004580ee97258d8d82721edee24ec2b929
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
ba3e7f5b31b8110ee93b69d28002a1827fd1346b 28-May-2015 Chong Zhang <chz@google.com> remove video editor from MediaProfile

bug: 17112465
Change-Id: Id59ba13e9c796298ad7dbaf03a595cc1fa62c169
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
92d824426e4621c2e8dfdd4e0f00d19c35d3c481 22-May-2015 Ronghua Wu <ronghuawu@google.com> media: rename doNotResuscitate to doNotReconnect to align with the implementation.

Bug: 21370108
Change-Id: I4c202d81507b29afb5e7f72231c4c7847d0b29bf
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
0a7989f5691f161fff97dd550eb602e44a6e6185 22-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "libmediaplayerservice: try to open audio sink in offload mode in error." into mnc-dev
faeb0f291330134dc4468359a36e099aae508449 21-May-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: try to open audio sink in offload mode in error.

Bug: 19061432
Bug: 21370108
Change-Id: Iaa757555ef37fd1ac87b6e2d5a9969bb58cc5ebc
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
4b6a2d71c2b1acd5ef5340b392f362c8cd09c176 22-May-2015 Chong Zhang <chz@google.com> Merge "stagefright: measure max encoder buffer count for persistent surface" into mnc-dev
79608158c2254fe1357959157f2d0c1560a8a6c6 20-May-2015 Chong Zhang <chz@google.com> stagefright: measure max encoder buffer count for persistent surface

bug: 19127604

Change-Id: I9a9b29b527d20f43a5a0188380baf2242bd31507
/frameworks/av/media/libstagefright/include/MediaCodecList.h
72e3f39146fce4686bd96f11057c051bea376dfb 20-May-2015 Eric Laurent <elaurent@google.com> audio flinger: do not call JAVA services until system is ready

Wait for system ready indication form AudioService before enabling
calls to scheduling service or power manager.

Bug: 11520969.
Change-Id: I221927394f4a08fd86c9d457e55dd0e07949f0cf
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
eca012646226d397a7076ff8d6da026db5d11d5b 16-May-2015 Robert Shih <robertshih@google.com> Merge "Change mime for HLS timed ID3 stream to application/x-id3v4" into mnc-dev
6f9c5e26c710dbee50e57316f1c460dda4850fa5 15-May-2015 Robert Shih <robertshih@google.com> Change mime for HLS timed ID3 stream to application/x-id3v4

Bug: 21151892
Change-Id: I6a243b0edbbb445df0caf65f395f81926fd515f0
/frameworks/av/media/libstagefright/include/MediaDefs.h
e6858d597ca98ce7e68e10545dfb604ed572d46a 14-May-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: prevent more crashes in ACodec" into mnc-dev
0806340688c937e7b78c2d89db3809274130df4e 13-May-2015 Lajos Molnar <lajos@google.com> stagefright: prevent more crashes in ACodec

Signal errors if OMX or native window reports an error

Bug: 20439174
Change-Id: Iebeb16f5a29c6819d39568a184b921799a234686
/frameworks/av/media/libstagefright/include/ACodec.h
55c3bd0cacfb6e1601cd03fdba814be544a34326 13-May-2015 Chong Zhang <chz@google.com> Merge "stagefright: rename usePersistentInputSurface to setInputSurface" into mnc-dev
8f469e18c307cb9dc0d16ed9225972aa8be4516f 13-May-2015 Chong Zhang <chz@google.com> stagefright: rename usePersistentInputSurface to setInputSurface

and clear persistent surface pointer when MediaRecorder is reset

bug: 21045118
bug: 21045402
Change-Id: Ifd0d6deeb969f2252123929541b30b518cecbf9a
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
814463259cfc0b3c30535e6cba89a736f56c4a16 13-May-2015 Lajos Molnar <lajos@google.com> am 0eb7c793: am b5fbb811: am c8c86c1d: am bcf2becf: am c531d995: am 438217a0: Merge "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into lmp-dev

* commit '0eb7c79398ef04e457c76f117feef6d7bcbbc684':
Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
94183482a089690278fbe2346fa6946c9c7d97ef 13-May-2015 Wei Jia <wjia@google.com> Merge "MediaSync: support changing surface on the fly." into mnc-dev
0eb7c79398ef04e457c76f117feef6d7bcbbc684 13-May-2015 Lajos Molnar <lajos@google.com> am b5fbb811: am c8c86c1d: am bcf2becf: am c531d995: am 438217a0: Merge "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into lmp-dev

* commit 'b5fbb81157eaab594bb37275176a0a178098dc46':
Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
bcf2becf206b5d56c89bf2b43356fd7995003302 13-May-2015 Lajos Molnar <lajos@google.com> am c531d995: am 438217a0: Merge "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into lmp-dev

* commit 'c531d9956513b9b82dad84aeb507b866e6b3951a':
Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
d9f493ebcd1830c76d7b1782e64c7ba9ad8ab4bd 12-May-2015 Andy Hung <hunga@google.com> Merge "Update sampling rate to 192kHz for devices" into mnc-dev
d0e25a2529584b07e4fe3544f973c6b0ebda7fc3 12-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "mediaresourcemanager: change resource manager service log to use ring buffer." into mnc-dev
db4c031f518ae5806af73756273ff32cd8d0e4f8 06-May-2015 Andy Hung <hunga@google.com> Update sampling rate to 192kHz for devices

Change-Id: I0a83206be51d7ae18ccf85b94b2127356307be69
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
022ed72e650f756288492ac7a10a7b41e0b14f82 12-May-2015 Ronghua Wu <ronghuawu@google.com> mediaresourcemanager: change resource manager service log to use ring buffer.

move the ring buffer implementation from libcameraservice to media include.

also add line prefix support to the service log.

Bug: 20637674
Change-Id: Ib6b32f31abe92c42644ef7012f1e3d46220ccfbd
/frameworks/av/media/libmedia/include/media/RingBuffer.h
b6ea1292f8adae45d95c6f37d50c96534219b6d2 08-May-2015 Wei Jia <wjia@google.com> MediaSync: support changing surface on the fly.

Bug: 19666434
Change-Id: I5809df2d3bb0dd6b4a982f11d62c4b7a452ed6fb
/frameworks/av/media/libstagefright/include/MediaSync.h
a3e8f60f5e409f65f12636df5fad7f20ff736df5 11-May-2015 Robert Shih <robertshih@google.com> am 7acac10a: Merge "DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into klp-dev

* commit '7acac10aae34da5ae4d628c5a270e7e3e94f7598':
DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
8bae3aa349f9d03934a170d3bafbf0008bfc3a9d 08-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: report special error when codec is released by resource manager." into mnc-dev
3af8a321d06b3ee59afe159479c58e6b549c7b8f 08-May-2015 Lajos Molnar <lajos@google.com> Merge changes from topic 'codec-surface' into mnc-dev

* changes:
stagefright: enable experiments
stagefright: allow connecting to surfaces that attach buffers
47a2e875bdd2bd25cb8500208940ff1488b01e08 13-Mar-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: report special error when codec is released by resource manager.

Bug: 19620911
Change-Id: I3403da361adbf2ea6979fcadb0d5ad0889d3513e
/frameworks/av/media/libstagefright/include/MediaCodec.h
9ba21b9418d10ddcc39f08901e24fbf43d82b2bc 21-Apr-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: config resource manager with secure codec co-existing policy.

Bug: 19620911
Change-Id: I0d729782c1622f23e9c37b7a9231e58e3f807470
/frameworks/av/media/libmedia/include/media/MediaResourcePolicy.h
2a834fc09e1b22e7f70250c55ae2f462f5f60987 08-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: export profiling results directly to xml." into mnc-dev
011778fd4cb9606b68bfea1ed483d73c04fc6dcd 06-May-2015 Lajos Molnar <lajos@google.com> stagefright: enable experiments

Bug: 20894716
Change-Id: I8c05b99dca8b3099a3a1b2b465f0f58bef786572
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
8b23759763dbf11b0c628a7e62dc5b3dea7dc188 06-May-2015 Lajos Molnar <lajos@google.com> stagefright: support push-blank-buffers-on-shutdown for SW renderer

Bug: 20885565
Change-Id: I2a361b8dd6d39d2cf994f6748ed562be4c642b77
/frameworks/av/media/libstagefright/include/MediaCodec.h
b2d0b487efd40700199852c9a18b369b1651f15b 06-May-2015 Lajos Molnar <lajos@google.com> stagefright: move native window helpers into SurfaceUtils

Bug: 20885565
Change-Id: I2ed14be8a7cb08b1ed4ea65cb9286dc1384fe64a
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/SurfaceUtils.h
d7ab7afa57ed1fa6fb9c4ce18ea0df3ec939c067 06-May-2015 Eric Laurent <elaurent@google.com> Merge "Implement audio device callback" into mnc-dev
296fb13dd9b5e90d6a05cce897c3b1e7914a478a 01-May-2015 Eric Laurent <elaurent@google.com> Implement audio device callback

Add class AudioSystem::AudioDeviceCallback notifying
AudioSystem clients upon device selection change on a given
input or output thread.
Maintain a list of installed callback per I/O handle in AudioSystem
and call registered callbacks when an OPEN of CONFIG_CHANGED event
is received on IAudioFlingerClient::ioConfigChanged().
Add methods to AudioTrack and AudioRecord to add and remove device
change callbacks.
Add methods to AudioTrack and AudioRecord to query currently selected
device.
ioConfigChanged() events now convey the audio patch describing
the input or output thread routing.

Fix AudioRecord failure to start when invalidation is
handled by start().

Change-Id: I9e938adf025fa712337c63b1e02a8c18f2a20d39
/frameworks/av/media/libaudioclient/include/media/AudioIoDescriptor.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
65c8fbcf91f0f0b5f60a45d2777c36d396c4ba16 21-Apr-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: export profiling results directly to xml.

Bug: 19620911
Change-Id: Icdeb1c30816d6de120ea0acd0880b3a9614bea8f
/frameworks/av/media/libstagefright/include/MediaCodecList.h
9f578d3297782be6de5373e171f3b4af49726709 05-May-2015 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioRecord keeps track of UID" into mnc-dev
4cb668392ee0433462251afbee109405c6efacc8 02-May-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioRecord keeps track of UID

Bug 20832981

Change-Id: If5f3c61fae02d86b9d6fdf411711f854fd56c77d
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
ce8c218ec9db7acd86f9f8929f8bbb668151b53d 05-May-2015 Wei Jia <wjia@google.com> MediaSync: clean up configureAudioTrack and configureSurface.

Bug: 19666434
Change-Id: I579956aad4a6d591b5338d518e610b8532a72402
/frameworks/av/media/libstagefright/include/MediaSync.h
8651c6f5069cca40ef805b800a9730617ff7f9b8 02-May-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: add support for dynamically setting MediaCodec output surface" into mnc-dev
e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049 01-May-2015 Chong Zhang <chz@google.com> MediaRecorder: implement persistent input surface APIs

Bug: 19127604
Bug: 19489395

Change-Id: I7dd8015a8fe029f9867fcdb52322629c77eff50b
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
d291c222357303b9611cab89d0c3b047584ef377 01-May-2015 Chong Zhang <chz@google.com> MediaCodec: implement persistent input surface APIs

Bug: 19127604
Bug: 19489395

Change-Id: Idaf1cc9008016f66903e93907a676f54e342e1a3
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaFilter.h
/frameworks/av/media/libstagefright/include/PersistentSurface.h
1dcdfead2971c1fa7c02f24ba86f706890c9f99e 30-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: add support for dynamically setting MediaCodec output surface

Bug: 11990461
Change-Id: I2aee89ef504234dc66eb5fcf6e62e1706088f758
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
64da6f045b1a1d1b8f01391b6e37287f77f85d1e 02-May-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: MediaCodec: rename mNativeWindow to mSurface" into mnc-dev
939270353bff5bc7497b0c77e203520b997268c9 01-May-2015 Phil Burk <philburk@google.com> Merge "AudioTrack: reduce retrograde motion spew" into mnc-dev
cc85abcf4ac398dca240db356b8b4db052b415a4 01-May-2015 Eric Laurent <elaurent@google.com> Merge "AudioSystem: refactor audio config cache and callbacks" into mnc-dev
73e26b661af50be2c0a4ff6c9ac85f7347a8b235 28-Apr-2015 Eric Laurent <elaurent@google.com> AudioSystem: refactor audio config cache and callbacks

Clean up implementation of audio configuration cache and
callback events from AudioFlinger:

- Define class AudioIoDescriptor for audio input and output
configurations outside of AudioSystem class.
- Do not use void * but an AudioIoDescriptor as argument to
audio config callbacks from AudioFlinger.
- Remove unused configuration events.
- Move AudioSystem audio input and output cache from static singletons to
members of AudioFlingerClient subclass.

Change-Id: I67c196c32c09ce2756af0755ee1fe631040c3270
/frameworks/av/media/libaudioclient/include/media/AudioIoDescriptor.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
4c5a3675ed6b429dfaa2707acf2b3faf2808baf2 01-May-2015 Phil Burk <philburk@google.com> AudioTrack: reduce retrograde motion spew

Change-Id: I96aced52b136ceea924aa3d9ef56374dd4c49784
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
f06cc24ce7aeb5ff6f45b770a15286c95f8cc9ff 01-May-2015 Lajos Molnar <lajos@google.com> stagefright: MediaCodec: rename mNativeWindow to mSurface

because mNativeWindow is of type sp<Surface>

Bug: 19489395
Change-Id: I5ddc78b04e387915a2293b71195d7a6494986356
/frameworks/av/media/libstagefright/include/MediaCodec.h
1de1e25cba872bd4c077c2e394f8ca9c70b65856 01-May-2015 Lajos Molnar <lajos@google.com> stagefright: remove NativeWindowWrapper

Now that Surface and SurfaceTextureClient are the same and Surface,
it does not add value.

Bug: 19489395
Change-Id: I016ecd1cf5cc51ce6244b6fa34ecd75f84e3db01
/frameworks/av/media/libstagefright/include/NativeWindowWrapper.h
3a474aa67fc31505740526dd249d96204c08bf79 25-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: support setting/getting playback/sync config in MediaSync

Bug: 18249558
Bug: 19666434
Bug: 20057497
Change-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/AVSyncSettings.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/MediaSync.h
/frameworks/av/media/libstagefright/include/Utils.h
457e82586d51c6d360ce4feb4c1dff1a31dcb8d3 30-Apr-2015 Wei Jia <wjia@google.com> Merge "MediaSync: map returned output buffers to previously received input buffers." into mnc-dev
dc0ac804721efff054ec9720d53e93ecca86cf5e 30-Apr-2015 Phil Burk <philburk@google.com> Merge "AudioTrack: fix spurious retrograde messages" into mnc-dev
5f9bf49397b36ad4ebd838aef66b83e9e9fa42bc 30-Apr-2015 Eric Laurent <elaurent@google.com> Merge "audio policy: session routes continued." into mnc-dev
8c7e6dac6f5eb38cef627dab92eac8b38513450c 22-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: session routes continued.

- Clear session routes when client process dies.
- Enforce the route only when the requesting session is active.
- Fix requested route not working if an output mix change is required
(e.g forcing to SPEAKER when the default route is USB or A2DP).
- Make sure all sessions sharing the strategy with a rerouted session
have the same route (needed for volume control consistency)

Change-Id: I0ab347a8fb97e73e2c5965374544c5f4fe509ef1
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
bac588208fadec78e3fa205c238089df277d3817 29-Apr-2015 Wei Jia <wjia@google.com> MediaSync: map returned output buffers to previously received input buffers.

Bug: 19666434
Change-Id: I81e9cb8e73d950b3be5d29cf010c6793894ad802
/frameworks/av/media/libstagefright/include/MediaSync.h
d641af3e9faf6c053ccbeea1bc20790021e57a11 30-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioSystem callback for dynamic policy mix activity" into mnc-dev
f613d42b12389335b2ecf06df18d0d095d6bfd44 24-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioSystem callback for dynamic policy mix activity

Add method to AudioPolicyServiceClient for dynamic policy mix
activity notification.
Propagate notification to a dedicated callback.

Bug 20226914

Change-Id: I37928ed38e15ea2b8fed022cccadeca8c4d6c876
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
1b42097f38e72574ed853a35f4e8a66e4739c421 22-Apr-2015 Phil Burk <philburk@google.com> AudioTrack: fix spurious retrograde messages

The retrograde motion was confused by some positions coming from
the DSP on offloaded tracks. So the retrograde check was moved up
into AudioTrack.cpp. This allows us to take advantage of the checks
for invalid positions based on timing.

Bug: 2047891
Change-Id: Ifcad2349201443a7f1711347c203297100449536
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
be71aa29a3c86d2e01cd17839d2a72ab09a1bce5 28-Apr-2015 Svet Ganov <svetoslavganov@google.com> Respect the record audio app op - media

Change-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/Visualizer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/AudioSource.h
466dc8ed6ca6b7f585104806c48613dd34e608c9 17-Apr-2015 Paul McLean <pmclean@google.com> Explicit routing in AudioRecord

Change-Id: I9cc5d54883a3e5c75d553fabb619fc8e49f4f9e5
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
4275065e89b121fd2f9bd4e0440577348d5ce663 28-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "DO NOT MERGE libmediaplayerservice: set priority and operating rate for the codec used by nuplayer." into mnc-dev
c721e71f4d7e3cd4fc9332fd55fb6942f54cec39 25-Apr-2015 Ronghua Wu <ronghuawu@google.com> DO NOT MERGE libmedia: add sub resource type audio-codec and video-codec.

Bug: 20559813
Change-Id: If231cb44337ca7dc74c39fc3cd73e2b6f3cb85b8
(cherry picked from commit d4c1f6b4ecfef7323422359fc38bd1edb1abf205)
/frameworks/av/media/libmedia/include/media/MediaResource.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
8db8813d39e3c8b5fbd580dfc3062830744afd63 22-Apr-2015 Ronghua Wu <ronghuawu@google.com> DO NOT MERGE libmediaplayerservice: set priority and operating rate for the codec used by nuplayer.

Bug: 20481562
Change-Id: I9806414962352fbcda726f8274f1cd348c961de0
(cherry picked from commit f19f5d716b39a5d9dc1abdcd5a16a7aaf1b1ab8b)
/frameworks/av/media/libstagefright/include/ACodec.h
67a30ebfe785f7cd5ecfb0d2fb487e54536a3d48 02-Apr-2015 Lajos Molnar <lajos@google.com> DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes

Bug: 19641538
Change-Id: I5aae3f100846c125decc61eec7cd6563e3f33777
/frameworks/av/media/libstagefright/include/foundation/AUtils.h
bfed843041b6aaec13ee19996748a7a1476db9c8 02-Apr-2015 Lajos Molnar <lajos@google.com> Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes

Bug: 19641538
Change-Id: I5aae3f100846c125decc61eec7cd6563e3f33777
/frameworks/av/media/libstagefright/include/foundation/AUtils.h
21db57282da8b3daba1549f3a8e41c4fbaf80059 24-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "mediaresourcemanager: add dumpsys support."
a739165147bd58f7396d605fed1dfa8b68aaf6a8 24-Apr-2015 Robert Shih <robertshih@google.com> Merge "Copy sei offset/size during ABuffer/MediaBuffer conversion"
f8bd851cc652501239a8e3759b21890dfa2afdea 24-Apr-2015 Robert Shih <robertshih@google.com> Copy sei offset/size during ABuffer/MediaBuffer conversion

Bug: 20537676
Change-Id: I0bd11527ccd022c39d94b7877df81de4da1b14a6
/frameworks/av/media/libstagefright/include/MetaData.h
8f9dd872366f54b6260506c75c3d0cc3f9f73f81 24-Apr-2015 Ronghua Wu <ronghuawu@google.com> mediaresourcemanager: add dumpsys support.

Bug: 20233206
Change-Id: Ic253985e408b05b488e87cd5c50c0d619ac568ef
/frameworks/av/media/libmedia/include/media/IResourceManagerClient.h
99d1f78c9b16b5668e78c353373e0e7f4592cab9 23-Apr-2015 Wei Jia <wjia@google.com> MediaSync: allow users to query play time for pending audio frames.

Bug: 19666434
Change-Id: I5cfd3e1a9b4f56aaa6482facd55a22ed1e7ed3e6
/frameworks/av/media/libstagefright/include/MediaSync.h
5a8a95de6dad1a3bcf3da5a37b35766e89086e13 18-Apr-2015 Ricardo Garcia <rago@google.com> Use AudioPlaybackRate to hold TimestretchBufferProvider parameters

Use this struct to handle the parameters for TimestretchBufferProvider all
across the system.
Add stretch mode and fallback mode to TimestretchBuffer Provider.

Change-Id: I19099924a7003c62e48bb6ead56c785cb129fba2
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
7184bab920699d49718e8fc3cf8a23d3c9d8d54a 18-Apr-2015 Chong Zhang <chz@google.com> Merge "HLS: reduce number of guessed wrong seq numbers"
6d339f1f764bbd32e3381dae7bfa7c6c575bb493 18-Apr-2015 Lajos Molnar <lajos@google.com> libmediaplayerservice: fix warnings, make warnings errors, use clang

Change-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
/frameworks/av/media/libstagefright/include/foundation/AString.h
/frameworks/av/media/libstagefright/include/timedtext/TimedTextDriver.h
978449984366946a2e5c9f7cf350746f4306caf8 12-Apr-2015 Chong Zhang <chz@google.com> HLS: reduce number of guessed wrong seq numbers

- account for playlist age in live streaming when calculating
segment time

- be more conservative on downswitching if bandwidth is unstable

- adjust forward or backward if guessed wrong seq number

- code refactor

bug: 19567254

Change-Id: I0b61cea888fdffd1b3ee2446747ed10152e9e7d7
/frameworks/av/media/libstagefright/include/Utils.h
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AACWriter.h
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaMuxer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
/frameworks/av/media/libstagefright/include/Utils.h
0852843d304006e3ab333081fddda13b07193de8 08-Apr-2015 Robert Shih <robertshih@google.com> stagefright: initial timed id3 support in hls

Change-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
3d66eb4128aebef31bb0fa44c4d53d6122294a26 16-Apr-2015 Chong Zhang <chz@google.com> MediaCodec: hold input buffers during FLUSHED state

bug: 20267388
Change-Id: I21a12cb2ebb74e17dcdb7b502c3f674e9e64b5dc
/frameworks/av/media/libstagefright/include/MediaCodec.h
c224ec53a17994fa97ab2f29304647c9f195c51c 16-Apr-2015 Chris Watkins <watk@google.com> Merge "Unhide the android.media.[Media]DataSource interface."
99f31604136d66ae10e20669fb6b5716f342bde0 20-Mar-2015 Chris Watkins <watk@google.com> Unhide the android.media.[Media]DataSource interface.

This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.

MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)

Only NuPlayer supports this new data source.

The change introduces:
* IDataSource: The binder interface for DataSource.
* JMediaDataSource: The native counterpart to the java interface. It
implements IDataSource.
* CallbackDataSource: A stagefright DataSource that wraps an
IDataSource.

Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
/frameworks/av/media/libmedia/include/media/IDataSource.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/DataSource.h
554a277d4e42a3d3df3d90ba0e7dfa2d31690e32 10-Apr-2015 Eric Laurent <elaurent@google.com> audio policy: add binder calls for audio source control

Add binder methods to IAudioPolicyService to control activity
of external audio sources (e.g FM tuner).

Change-Id: I2008308a6a996baeae502b68a790d87281efe2ff
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
cfdd52423cee9efea73023feeaa74279ebd45b7c 15-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> Merge "AudioPolicyManager: notification of dynamic policy mix activity"
a5bf4e0339a10b7db936c739fbfd6cf3cb00fbb8 15-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "Revert "stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.""
de80105c3f2db0eabd47640c49387ea3b44d4782 15-Apr-2015 Jean-Michel Trivi <jmtrivi@google.com> AudioPolicyManager: notification of dynamic policy mix activity

Implement non-stream type specific ref counting in output
descriptors to keep track of mix activity.
Notify audio policy client of mix activity changes.

Bug 20226914

Change-Id: Iec939cb640c58056f88947b611d23b4bb6d8a11b
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyServiceClient.h
7233234a32d22d2ffb63ed4e92df339458047887 15-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "media: use ResourceManagerService with MediaCodec"
be39e102a64f48fb3afe6ca412231f17df3c3c87 15-Apr-2015 Chong Zhang <chz@google.com> Merge "HLS: parse stream resolution and set maxWidth/maxHeight"
948dbbbe0d75f1975a80eafd53d6b8daa8f92223 15-Apr-2015 Chong Zhang <chz@google.com> Merge "stagefright: metadata retriever changes for capture fps"
67e7f543c7f1c4fe4ee1989ceb0aebe44a63b49e 13-Mar-2015 Ronghua Wu <ronghuawu@google.com> media: use ResourceManagerService with MediaCodec

Bug: 19620911
Change-Id: I235a97e5195b28645b7834dda0dd77307d93f4a8
/frameworks/av/media/libstagefright/include/MediaCodec.h
99acce4526db0f14be6e516ecb3920d5ed66877b 14-Apr-2015 Ronghua Wu <ronghuawu@google.com> Revert "stagefright: define CB_CODEC_RELEASED and ReleaseReason enum."

This reverts commit ea20d117ef9b4e867ec3982c7d070e719617ba2f.

Change-Id: Ia77448a81429814e6915eca9c1cd854ca0e623cc
/frameworks/av/media/libstagefright/include/MediaCodec.h
a0d0ba51ad60a68117a0ee78e37ab78715b8a069 11-Apr-2015 Chong Zhang <chz@google.com> HLS: parse stream resolution and set maxWidth/maxHeight

bug: 20160436

Change-Id: Ic3adb84d3c65cc65f62fc509a99d09602db862a1
/frameworks/av/media/libstagefright/include/MetaData.h
b23cabdb71b98dc5e852f5d06be271696fea92c7 14-Apr-2015 Glenn Kasten <gkasten@google.com> Merge "AudioRecord::obtainBuffer() can return nonContig like AudioTrack"
8cfad968d5ec429b033caff9743f1ef15090be61 08-Apr-2015 Chong Zhang <chz@google.com> stagefright: metadata retriever changes for capture fps

bug: 19460202
Change-Id: I20afded0b7eec45b2f25b51cf59d9f48eada74d8
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libstagefright/include/MetaData.h
551b5355d34aa42890811fc3606d3b63429296cd 20-Mar-2015 Glenn Kasten <gkasten@google.com> AudioRecord::obtainBuffer() can return nonContig like AudioTrack

And fix error handling in both AudioRecord and AudioTrack.

Change-Id: I4853d736cc6d2c05de5b18b0eac62716edfa62ec
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
9e6955a19bf77ebf27b770e910efbe1ebf1ceac0 26-Mar-2015 Ronghua Wu <ronghuawu@google.com> media: handle overrides and measure max codec instance.

Bug: 19620911
Change-Id: I68d5919284700f37ccc6c6b9f96cd87ccdd40e6a
/frameworks/av/media/libmedia/include/media/IMediaCodecList.h
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libstagefright/include/MediaCodecList.h
5795cb168634680fd5c835849c8fcf48dd6f532b 14-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: parse global settings from codec xml file."
c1f5cb4b11d0c9f52f69aec4fe2d36da2f8139c9 26-Mar-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: parse global settings from codec xml file.

Also parse a new codec limit "max-supported-instances".

Bug: 19620911
Change-Id: I6574c168b0c2b1aa649883958d3073edc01a4a03
/frameworks/av/media/libstagefright/include/MediaCodecList.h
e6109e2f10b43c2cc2561c6fd6633b5f988bd7a9 11-Apr-2015 Lajos Molnar <lajos@google.com> mediaplayer: support async mode for widevine legacy mode

Bug: 14679336
Change-Id: Id224eb8c31ec148ca9a144758cc56ddbf5465f5c
/frameworks/av/media/libstagefright/include/MediaCodec.h
ed5554fb1c837f6b1008d3910018c979c57da502 06-Apr-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: handle MediaFormat "operating-rate" key.

Bug: 19620911
Change-Id: I846d3cc10308a13f2ed92bb82ba7e8236d9c67d1
/frameworks/av/media/libstagefright/include/ACodec.h
4c1efbc76f1dfeb9427617e451042a12bfb59ad3 10-Apr-2015 Jeff Tinker <jtinker@google.com> Merge "Add a method to associate MediaDrm session with MediaCrypto"
1849570240443d1f75775c205fa658f7070849c6 10-Apr-2015 Jeff Tinker <jtinker@google.com> Add a method to associate MediaDrm session with MediaCrypto

Previously, to associate a MediaDrm session with MediaCrypto,
the MediaDrm sessionId was passed as initData to the MediaCrypto
constructor. This is not ideal for two reasons: it's pretty
obscure and you can't change the association without tearing
down the MediaCodec/MediaCrypto and starting all over. Use
cases like key rotation require being able to update the
MediaDrm session post-construction. This CL addresses both of
these issues.

bug: 19570317
Change-Id: Ieb32d04d61742fc1dee2105dd904690d44c46c7b
/frameworks/av/media/libmedia/include/media/ICrypto.h
7d014e50b3acd60e73ed7d7a74dc58485c7a413c 10-Apr-2015 Andy Hung <hunga@google.com> Merge "Add playback rate to AudioTrack"
e62e16371b6c2f33072b3345e1d1853673b9a3d8 10-Apr-2015 Andy Hung <hunga@google.com> Merge "Add playback rate to AudioMixer"
8edb8dc44b8a2f81bdb5db645b6b708548771a31 27-Mar-2015 Andy Hung <hunga@google.com> Add playback rate to AudioTrack

Bug: 19196501
Change-Id: I6411e1d3ce652b711a71a6d9df020cb5f60d4714
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
541c1721e517a44127f0086f77b4e679849bb8cc 10-Apr-2015 Wei Jia <wjia@google.com> Merge "MediaClock: allow user to query playback rate."
079e121934106860af5ff5491bd3884453d1fdb3 10-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "stagefright: define CB_CODEC_RELEASED and ReleaseReason enum."
ea20d117ef9b4e867ec3982c7d070e719617ba2f 09-Apr-2015 Ronghua Wu <ronghuawu@google.com> stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.

Bug: 19620911
Change-Id: I95e257c8aea2ef218f27ffaa2e62a8f12554d824
/frameworks/av/media/libstagefright/include/MediaCodec.h
fa6a06765e7b92b7ba265482bd4cf3074f9ff6cc 09-Apr-2015 Wei Jia <wjia@google.com> MediaClock: allow user to query playback rate.

Bug: 19666434
Change-Id: I306579e481cfcf923422d50d3d5cfae045ef2227
/frameworks/av/media/libstagefright/include/MediaClock.h
c5656cc900aeb4a705e27508dd82c70030a97709 27-Mar-2015 Andy Hung <hunga@google.com> Add playback rate to AudioMixer

Bug: 19196501
Change-Id: I42d1f90e6297cf3f1304860d1691a5dfedd4c37d
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
03763a9573fcfdd0f85dd9ac0203e7da525a6c98 09-Apr-2015 Jeff Tinker <jtinker@google.com> Merge "Pass crypto source data using a shared buffer"
c481b5012a5f6cf72e5e93b36f1ed4c9169916f2 07-Apr-2015 Jeff Tinker <jtinker@google.com> Pass crypto source data using a shared buffer

MediaCodec was using a binder transaction buffer
to pass encryption source data for protected content.
On some 4K content, the max binder transaction buffer
size was being exceeded. This change uses a shared
buffer for the encryption source data instead of a
binder transaction buffer, which avoids the problem and
may be more efficient.

bug: 20027687
Change-Id: I36a24ebf600d7e1064b78e48b167fdc29b2c65e9
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
6770c6faa3467c92eabc5ec9b23d60eb556a0d03 07-Apr-2015 Andy Hung <hunga@google.com> Enable 8 bit and float pcm record formats for AudioFlinger

Update sampling rate handling as well.

Bug: 19570772
Change-Id: I872248e64c0578b2e48869a68fee0d51bd0640c3
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15 08-Apr-2015 Paul McLean <pmclean@google.com> Merge "Adding explicit routing API to AudioTrack"
aa9811945f575614b3482d09e4d969792701cebb 21-Mar-2015 Paul McLean <pmclean@google.com> Adding explicit routing API to AudioTrack

Change-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
e58e2a168e4a8bbd55e31bf12bd03ffc437c8226 07-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "stagefright: add new MediaCodec callback CB_RESOURCE_RECLAIMED."
002135d149d8604e972d1b353d768f293fbce15f 03-Apr-2015 Chong Zhang <chz@google.com> Merge "HLS: misc bug fixes"
d47dfcb5a2e5901c96fc92662cec7aa30f7f8843 27-Mar-2015 Chong Zhang <chz@google.com> HLS: misc bug fixes

- fix no target-duration case

- fix for audio-only <=> audio/video switching

- disable audio-only variants if there is at least
one variant with video

- fix mpeg2ts PTS wraparound when bandwidth adapting

- tweak up/down switch marks

bug: 19567254

Change-Id: Ib46144203c56dfc96eccd6ddaa3867e8a4f2c6a9
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libstagefright/include/Utils.h
b28753e19550e5051cd02e6af72ab06e4eff04e0 01-Apr-2015 Eric Laurent <elaurent@google.com> audio port: support multiple clients

Add support for more than one audio port callback client per process.

Change-Id: I657c4fc28d5d2d993307551e3e69567dc60196cb
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
0f5d69123490bb3c4fe26129dfd23e21ce184c88 20-Mar-2015 Glenn Kasten <gkasten@google.com> Remove deprecation FIXMEs for TRANSFER_OBTAIN mode

Change-Id: I7f43aabdb092e1465d79cd0eea5944fff18b93db
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
957af4cef721c1eec1606850e77ad2ef1fd0eb0a 24-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "AudioRecord::read() can be non-blocking to match AudioTrack"
82ceac025459b5b8887441d709081ec29c6b9416 24-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "set() in AudioRecord and AudioTracks needs no lock"
21b51b61ee52e6aa74d98b138d3dd4f0e17b1441 24-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Remove AudioRecord::notificationFrames()"
ebb80468d8e31e22b867744d86b57bd4bc3186fd 24-Mar-2015 Ronghua Wu <ronghuawu@google.com> Merge "media: add ResourceManagerService"
6ce2ed7e9d003c4580e2813d657660ef18865df6 24-Mar-2015 Wei Jia <wjia@google.com> Merge "MediaSync: support MediaSync in native code."
ec648447b7dcab701c436a54bd38a1abd8037be1 24-Mar-2015 Jeff Tinker <jtinker@google.com> Merge "Report key request message type for unprefixed EME"
231c3d169ad029689f9d688b68179af7e96b8d78 11-Mar-2015 Ronghua Wu <ronghuawu@google.com> media: add ResourceManagerService

Bug: 19620911
Change-Id: Iea173d310d31781bc50effe3d9bd6553cb5139eb
/frameworks/av/media/libmedia/include/media/IResourceManagerClient.h
/frameworks/av/media/libmedia/include/media/IResourceManagerService.h
/frameworks/av/media/libmedia/include/media/MediaResource.h
/frameworks/av/media/libmedia/include/media/MediaResourcePolicy.h
3622cdff65f34a99d2f55936a895387ad41510ce 20-Mar-2015 Glenn Kasten <gkasten@google.com> AudioRecord::read() can be non-blocking to match AudioTrack

Change-Id: I23b9466b81ab6037d0bccd5e6f5974b7bd4aeacb
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
bfd318402924414fbde4d31c9d23cc423f10b630 20-Mar-2015 Glenn Kasten <gkasten@google.com> set() in AudioRecord and AudioTracks needs no lock

Change-Id: I9d61b3d117e9b21fbbfad772d8981a5abb8fafae
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
1d8b3b684f469f346c2e0d4420e25a23aa1dda55 20-Mar-2015 Glenn Kasten <gkasten@google.com> Remove AudioRecord::notificationFrames()

This API was unused, and is not present in AudioTrack

Change-Id: I66a1eedc149af085269c0f438c3c8d4e226a0e5b
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
d1e85c354bf08cbf7fb7619f91bda1c416b40627 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Update AudioRecord comments to match AudioTrack"
17fe26e5b500671ca0773b57b77fa63b113aadae 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Update AudioTrack constructor and set() comments"
0c5260cea542fdf8aa5f36b4f8de37f3b1331398 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Update AudioTrack comments to match AudioRecord"
c19dc82b6198d06b37018d649bdff3a16d871598 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "AudioTrack::dump() comment"
f85e854158cbed22a68625d2fafea50b86ca791f 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "AudioRecord::releaseBuffer() buffer is const *, like AudioTrack"
b6caa81602880670299393de833fc1d69043d581 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Remove dead AudioTrack::setAttributesFromStreamType()"
8681bd84965606a4540226b76ea1db1a2198809d 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Deprecate AudioRecord::getInput() and AudioTrack::getOutput()"
5c242217a809e13a1704100fb991e03ce4985e6c 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Move AudioTrack::isOffloaded() and isDirect() variants"
e063c308aaeaf85c9c41fda5df083a8aa90bdb24 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Whitespace"
0fe431544e5320a58508fb0533063d36dad1a473 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Add FIXME to deprecate AudioTrack::getMinFrameCount()"
999c894e18a64e0ded860a1bb51e14822ed31e86 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Update AudioRecord comments to match AudioTrack"
ad7345c0d3c4e3562a70ad89d797f7473c7be57a 23-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Fix typos"
d8772b24079b61018b455e602f3030284c30c7f5 20-Mar-2015 Glenn Kasten <gkasten@google.com> Update AudioRecord comments to match AudioTrack

Change-Id: I02cb51af058277991ad0b1b5dce45744b8e8c129
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
a5017872000a938667c76d760a866547c3719d09 20-Mar-2015 Glenn Kasten <gkasten@google.com> Update AudioTrack constructor and set() comments

Comments were missing for recently added parameters.

Change-Id: I414594fed56317112be5f3b415871d77e7f7e282
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
b882e936ead71ee407a5d6f1e7194115fc13c410 20-Mar-2015 Glenn Kasten <gkasten@google.com> Update AudioTrack comments to match AudioRecord

Change-Id: I176a4830513a0b37c38f86815fe637093b9ad52f
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
85fc799d4cde549c7cc82d9e5c84f21e161ecfbe 20-Mar-2015 Glenn Kasten <gkasten@google.com> AudioTrack::dump() comment

Change-Id: Id3b5210293a77404189555a0c797fb099e3c6c04
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
5014c94c1bbac4a4284576b0015ba75145237593 20-Mar-2015 Glenn Kasten <gkasten@google.com> AudioRecord::releaseBuffer() buffer is const *, like AudioTrack

Change-Id: If09689a8411392281ad06fcf781f3198941c642d
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
05163541326f51cefda91df5127d378c20b5a73f 20-Mar-2015 Glenn Kasten <gkasten@google.com> Remove dead AudioTrack::setAttributesFromStreamType()

Change-Id: I34feb3f9df49458f8a81ddcced4dd769fdaca945
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
32860f77787f41abac08afdfc2592272ccc31bcb 20-Mar-2015 Glenn Kasten <gkasten@google.com> Deprecate AudioRecord::getInput() and AudioTrack::getOutput()

Does not completely fix the bug, but is a step in the right direction.

Bug: 12593118
Change-Id: Id591cd700ab58fd927ae44c71c81dac55b5cac2d
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
a9757af8a140a1d5ae261c22f9d7eebef99cbe96 20-Mar-2015 Glenn Kasten <gkasten@google.com> Move AudioTrack::isOffloaded() and isDirect() variants

to be near each other.

Change-Id: Ic26681716ea48886f0bfed23803240466db5d8fa
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
d2027336b45f524a196403d351ec317782793792 20-Mar-2015 Glenn Kasten <gkasten@google.com> Whitespace

Change-Id: I4640be948ad3caff0eb7525991398a1353e4bfe6
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
6991ed25d8b5c2f75325ccd7cc522762da6f2b09 20-Mar-2015 Glenn Kasten <gkasten@google.com> Add FIXME to deprecate AudioTrack::getMinFrameCount()

Continuation of previous change, for all APIs that assume a route

Change-Id: Ia1315032cf6366f428db342b16b2e1c3b574f407
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
17ea1351633d4f5e4f9eafd0778eb8b59fa30f10 20-Mar-2015 Glenn Kasten <gkasten@google.com> Update AudioRecord comments to match AudioTrack

Change-Id: I6c3620c60c0ba159e4688b42de4ec8b91920e048
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
d198b85a163330b03e7507c9e8bfeb5f4d958a6c 16-Mar-2015 Glenn Kasten <gkasten@google.com> Fix typos

Fix typos in comments
Add formal parameter name to declaration where it was missing
Fix out of order comments

Change-Id: I1de81ae82af5ca507864e4c7b959111bac898b98
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
76fa9ec3e831ce97aeb2f1aa688972f5b85d9c30 22-Mar-2015 Marco Nelissen <marcone@google.com> am f1300d31: am cdf96ffa: Merge "ulaw and alaw aren\'t limited to 8kHz"

* commit 'f1300d31fe80c8e14cf2bbca6c7b6768110cd5ba':
ulaw and alaw aren't limited to 8kHz
c8db9712d9abe9b0d74193ea7d7cff428e32e62c 10-Mar-2015 Wei Jia <wjia@google.com> MediaSync: support MediaSync in native code.

Bug: 19666434
Change-Id: Ib6678153f43f5063bdaaf53dd8ad5e8d26434e1e
/frameworks/av/media/libstagefright/include/MediaClock.h
/frameworks/av/media/libstagefright/include/MediaSync.h
17c39e708ed657b8fa66f8acce5128e51696915c 20-Mar-2015 Marco Nelissen <marcone@google.com> ulaw and alaw aren't limited to 8kHz

Bug: https://code.google.com/p/android/issues/detail?id=158490
Change-Id: Ib30e156c99a997db861bb85e17244a5effdd55cf
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
3b8798ae4b3e27c7f7bee9794995b78a12adc4f8 19-Mar-2015 Ronghua Wu <ronghuawu@google.com> stagefright: add new MediaCodec callback CB_RESOURCE_RECLAIMED.

Bug: 19620911
Change-Id: I8db19cdbb1b93a7a6401e158f91285e7c395b719
/frameworks/av/media/libstagefright/include/MediaCodec.h
803b3e558022c6d0eb069308339dc84e6e8035dc 19-Mar-2015 Andy Hung <hunga@google.com> Event driven wake for AudioRecordThread notification changes

Used for setMarkerPosition and setPositionUpdatePeriod.

Change-Id: Iedd1be8725dea32bdba6908b78c5166780a66fec
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
d072c909d87f8150433860f6de4c11df6e09e2f9 16-Mar-2015 Jeff Tinker <jtinker@google.com> Report key request message type for unprefixed EME

bug: 19771299
Change-Id: I02f0a4532b5ea8a7e680d71f45ac0da06879f3d6
/frameworks/av/media/libmedia/include/media/IDrm.h
fdfce553a8ea19af59ecc95d8395fc50e2b5bf35 16-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Add FIXME to deprecate all APIs that assume a route"
74bebe401dd966308f29b0c4f42cf6946dc64582 16-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Update comments"
14bcacaed718a506f59e8f3af66e9e0137789da6 16-Mar-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: add ProcessInfo to get process priority.

Bug: 19620911
Change-Id: I240b814b8925b1d6266e6f998a7debd654a2145a
/frameworks/av/media/libstagefright/include/ProcessInfo.h
/frameworks/av/media/libstagefright/include/ProcessInfoInterface.h
eb0ee0e842d3b8294aa6c0b797eaf7aff3fd2f89 16-Mar-2015 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: handle MediaFormat "priority" key."
f5e837e3c7d4b1cee3b18d740bf7d07f4d1ddc1c 03-Jul-2014 Glenn Kasten <gkasten@google.com> Add FIXME to deprecate all APIs that assume a route

Change-Id: I84e160e3945004338c808edd86b5dbbca1e12874
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
f59497bd3c190e087202043de5450ef06e92b27d 27-Jan-2015 Glenn Kasten <gkasten@google.com> Update comments

Change-Id: I37d3c4ce22b74fe8581a886fe5a7f9fef8266dad
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
802a568f77b9a372537e4216b2a7cbb203958a87 13-Mar-2015 Glenn Kasten <gkasten@google.com> Merge "Fix warning while building mediaserver"
8b806ea894ca098366629458bfdd1df4866afcdf 10-Mar-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: handle MediaFormat "priority" key.

Bug: 19620911
Change-Id: I73675c7cc3d742b9a1a98d6c0f48dcf17557e2ad
/frameworks/av/media/libstagefright/include/ACodec.h
3f27436a9346f043f52265da1e6a74cde2bffd4d 05-Mar-2015 Lajos Molnar <lajos@google.com> stagefright: don't use ALooperRoster mutex for reply handling

Change replyID-s from uint32_t to an object
Move reply handling into the loopers (to reuse a common mutex)

Bug: 19607784
Change-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
/frameworks/av/media/libstagefright/include/foundation/ALooper.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
1c2a7a6391a5465cb5b059bb004fbbc884ce1a29 10-Mar-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: move MediaClock from NuPlayer to libstagefright."
5833b6aad2c46ba516bdc8262f4fc4667e8018ed 10-Mar-2015 Wei Jia <wjia@google.com> mediaplayer: move MediaClock from NuPlayer to libstagefright.

Bug: 19666434
Change-Id: I86865e594226419bbbbee217098f96434e43afbe
/frameworks/av/media/libstagefright/include/MediaClock.h
ec8930f218fa0c1acde631543b40b5a0b28bfe1f 09-Mar-2015 Glenn Kasten <gkasten@google.com> Fix warning while building mediaserver

In file included from frameworks/av/services/audiopolicy/managerdefault/AudioPolicyManager.h:31:0,
from frameworks/av/services/audiopolicy/service/AudioPolicyService.h:38,
from frameworks/av/media/mediaserver/main_mediaserver.cpp:36:
frameworks/av/services/audiopolicy/managerdefault/ConfigParsingUtils.h:29:0: warning: "ARRAY_SIZE" redefined
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
^
In file included from frameworks/av/media/libmediaplayerservice/MediaPlayerService.h:31:0,
from frameworks/av/media/mediaserver/main_mediaserver.cpp:35:
frameworks/av/include/media/stagefright/foundation/ABase.h:21:0: note: this is the location of the previous definition
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a)))
^

Change-Id: I4b80f783c592a78aa88b3dad297278353740466e
/frameworks/av/media/libstagefright/include/foundation/ABase.h
b46f394a85d704dd05287cf9bb77cf86e3c02a38 09-Mar-2015 Glenn Kasten <gkasten@google.com> AudioTrack::obtainBuffer() now returns number of non-contiguous frames

Change-Id: I1f61d7e3d057c3254babe456b4aa0f6a1809da55
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
54a8a456c2b4b382b3ffe3d99e40703df79c0717 09-Mar-2015 Glenn Kasten <gkasten@google.com> AudioTrack::releaseBuffer parameter is const *

Change-Id: I31ac20863107de05b83cd7f8cd7dd61bed98e456
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
3f02be2ceeaa4b67dc0b1a81aebcfa049276fad8 09-Mar-2015 Glenn Kasten <gkasten@google.com> AudioTrack obtain/release buffer comments

Change-Id: I0eb178d1ab4eea7f72f4c55852c19b216ca55f5f
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
f9d19514b3e620b6339c98a442da833a702915ed 06-Mar-2015 Chih-Hung Hsieh <chh@google.com> Merge "Include ABase.h to get definition of DISALLOW_EVIL_CONSTRUCTORS."
f22e0d8849dd8bd0581297288c2597d0666382aa 28-Feb-2015 Chih-Hung Hsieh <chh@google.com> Include ABase.h to get definition of DISALLOW_EVIL_CONSTRUCTORS.

Change-Id: I13e375e67f20203c542b5350a55f42e925205b11
/frameworks/av/media/libstagefright/include/BufferProducerWrapper.h
fa8b4792228083a4c95e8bd1c28690d44bb48bd6 05-Mar-2015 Lajos Molnar <lajos@google.com> stagefright: remove AMessage methods using id()

Bug: 19607784
Change-Id: I4b2ca396fb50cde5e7dc9801add69037febe698d
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
5804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14 05-Mar-2015 Lajos Molnar <lajos@google.com> stagefright: use handler instead of handler-id in AMessage

This avoids locking gLooperRoster mutex on post() and deliver().

Bug: 19607784
Change-Id: If6d9d7884dbb08fc390983bda896d223803476ba
/frameworks/av/media/libstagefright/include/foundation/AHandler.h
/frameworks/av/media/libstagefright/include/foundation/ALooper.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
7d3f4df0a77e052a7d37de9268aff8c2ed0909cc 04-Mar-2015 Wei Jia <wjia@google.com> mediaplayer: use non-blocking mode for AudioSink::write().

This cherry picks https://googleplex-android-review.git.corp.google.com/#/c/643541/ to master.

Bug: 19448263
Change-Id: I43dea830212de79c2b080185b6c6b36078f517d2
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
d4bd93b22ab9f7dfa32dfc6d48e008db3ea9c634 28-Feb-2015 Andy Hung <hunga@google.com> Merge "Change AudioTrack resampling buffers from 3 to 2"
212765f2d5ee6e533f3d032d6609125faa95bf48 26-Feb-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: support dynamic playback rate"
7c4820d23b68f748b8dfff3d4bb5b13e9d4811a8 24-Feb-2015 Chong Zhang <chz@google.com> MPEG4Writer: add software version to mp4 meta

and account for meta data and geo data when estimating moov size

bug: 19460202

Change-Id: I094d15f47dda5e41217181cdb3ac519c00330de5
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
9816016afb2a13c6a866cd047d57020566a8b9a9 05-Feb-2015 Wei Jia <wjia@google.com> mediaplayer: support dynamic playback rate

Bug: 19196501

Change-Id: I856b1507d5fa2cedfb645706d2435683a7d3e050
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
e76dba7af9589d9ed7b116eec3a74168a8352925 19-Feb-2015 Chong Zhang <chz@google.com> MPEG4Writer: add capture fps in meta data

bug: 19460202

Change-Id: I3a6ea3a5149d124ca9a2487a300dcc2db4405d0f
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
1f9b6745d7c88dac2bfd19d583c3d98b361f67b3 19-Feb-2015 Bill Yi <byi@google.com> Merge commit '56fbb4d7bcb34af71a08cd126891afafdec217f1' into HEAD
1fb8290c1f99e1db96b681e6eaae0193ea81674e 19-Feb-2015 Marco Nelissen <marcone@google.com> am a7c1df10: am a963dacc: am 64753517: Merge "Add dumpsys info"

* commit 'a7c1df10d39a8056ca755ccd77b06816c6de3225':
Add dumpsys info
a7c1df10d39a8056ca755ccd77b06816c6de3225 18-Feb-2015 Marco Nelissen <marcone@google.com> am a963dacc: am 64753517: Merge "Add dumpsys info"

* commit 'a963dacc1b44ec80742c86ce75611eb9cfa936ea':
Add dumpsys info
f09611f2f33752afc28141e1bbaa897651c05d6f 13-Feb-2015 Marco Nelissen <marcone@google.com> Add dumpsys info

Print a list of looper-handler pairs and the number of messages
they've processed, and optionally break those stats out by
message type.

Change-Id: I68ce4a7003152d5c9b5cb3f42e6f3949b471aa6e
/frameworks/av/media/libstagefright/include/foundation/AHandler.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
37b2b389139ed638831e49708c947863eef631ef 27-Jan-2015 Ronghua Wu <ronghuawu@google.com> stagefright: add support for limiting framerate in GraphicBufferSource

Bug: 19014096
Change-Id: I6de781e4d140a247dfd8fd8f12c3ddd7baa39ad4
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
49c9a53d098091791b0e6e2d97ce6bf0d562d17e 11-Feb-2015 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 157defdd to master

Change-Id: I14fd8063fa052f16868b8053a211190092131317
157defdde7013062bbd04f7e873b6856adce14ca 10-Feb-2015 Lajos Molnar <lajos@google.com> am 4fc5d758: am 0c11f31b: Merge "nuplayer: acquire wakelock during offload pause timeout" into lmp-mr1-dev

* commit '4fc5d758d6722bedf341e5d93a0ba5698c658c29':
nuplayer: acquire wakelock during offload pause timeout
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
/frameworks/av/media/libstagefright/include/foundation/AWakeLock.h
0e48d25606c82def035ad10a5b3923767a765cdd 26-Jan-2015 Andy Hung <hunga@google.com> Change AudioTrack resampling buffers from 3 to 2

Move computation of minimum AudioTrack buffer size to server
for normal streaming PCM tracks.

Use server-side computation to exactly determine requirements
for the resampler to avoid triple buffering.

This reduces latency for normal audio tracks that require resampling,
and makes things consistent with the minimum buffer size.

Change-Id: I2f2ca0e599ee20e16559bc5c5dab61ed100da16c
/frameworks/av/media/libaudioprocessing/include/AudioResamplerPublic.h
5549bb5b651db8465ac846b3490eee9378253a76 06-Feb-2015 Lajos Molnar <lajos@google.com> am e5760862: am bcd22f0f: am 0662f5b0: Merge "stagefright: add fallback for native flex-YUV support" into lmp-mr1-dev

* commit 'e576086224f6e630159eaeec59ab5146c8533dc7':
stagefright: add fallback for native flex-YUV support
e576086224f6e630159eaeec59ab5146c8533dc7 06-Feb-2015 Lajos Molnar <lajos@google.com> am bcd22f0f: am 0662f5b0: Merge "stagefright: add fallback for native flex-YUV support" into lmp-mr1-dev

* commit 'bcd22f0f3a4cd5f78e03af23aafadb2d1aec6794':
stagefright: add fallback for native flex-YUV support
e743a47f445f02a0612018fa5640301304844fbf 28-Jan-2015 Paul McLean <pmclean@google.com> Add additional info to AudioPort for enum/selection API.

Add "device name" member to AudioPort.
Moved unique device ID from DevicePort to AudioPort.
Straighten out confusion between "name" and "address"
Created string constants for Intent "extra" data keys.
Combine card/address data into "address" at sender.Add additional info to AudioPort for enum/selection API.

Change-Id: I1be308e12b09cd0ead9a3e9fbc9c385462299fb5
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
d6ad19fef4d5230f1003a3adc756d30b9338cdcf 04-Feb-2015 Lajos Molnar <lajos@google.com> am 3b5d1195: am 7b66f713: am 57f75272: Merge "stagefright: add support for native flex-YUV formats" into lmp-mr1-dev

* commit '3b5d119522bdf9c23be622be395d7a95d465616e':
stagefright: add support for native flex-YUV formats
3b5d119522bdf9c23be622be395d7a95d465616e 04-Feb-2015 Lajos Molnar <lajos@google.com> am 7b66f713: am 57f75272: Merge "stagefright: add support for native flex-YUV formats" into lmp-mr1-dev

* commit '7b66f713fc53ee81453763788c02f3c741d19520':
stagefright: add support for native flex-YUV formats
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
/frameworks/av/media/libstagefright/include/MediaCodec.h
0a08a1e0dd576f0682cf7d665fe940bc26af52d7 04-Feb-2015 Elliott Hughes <enh@google.com> am e91c3dd0: am 6a025acb: am ec0472ba: Merge "Move AString\'s StringPrintf out of the way."

* commit 'e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7':
Move AString's StringPrintf out of the way.
e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7 04-Feb-2015 Elliott Hughes <enh@google.com> am 6a025acb: am ec0472ba: Merge "Move AString\'s StringPrintf out of the way."

* commit '6a025acb630a3ac4a84715d188aeb48f1946bc3f':
Move AString's StringPrintf out of the way.
a1e8944a21e5833b7aadc451776f11797f5f9273 04-Feb-2015 Elliott Hughes <enh@google.com> Move AString's StringPrintf out of the way.

We should come back and replace AString with std::string and switch to the
"real" StringPrintf family, but this fixes the ODR violation that was
preventing us from booting.

Bug: 19265750
Change-Id: I798eb9ca5dd634e44625af5e583439ef9f0cdc35
/frameworks/av/media/libstagefright/include/foundation/AString.h
0d09182a1dde960f7acda1c28469e5deead1b996 30-Jan-2015 Lajos Molnar <lajos@google.com> stagefright: add support for native flex-YUV formats

Bug: 17906609
Change-Id: I14116796eaa94aa8ae62dcc29f67cb7d2c060d34
/frameworks/av/media/libstagefright/include/ACodec.h
82a4ca039f600569726df0326269b4ac1a78fc6c 02-Feb-2015 Rachad <rachad@google.com> am a601b862: am c9e11696: am 36dca156: Merge "Acodec: Send framerate information to OMX decoder if available" into lmp-mr1-dev

* commit 'a601b86287ab5437a7e9aaf6f09bc171803cdc3d':
Acodec: Send framerate information to OMX decoder if available
a601b86287ab5437a7e9aaf6f09bc171803cdc3d 02-Feb-2015 Rachad <rachad@google.com> am c9e11696: am 36dca156: Merge "Acodec: Send framerate information to OMX decoder if available" into lmp-mr1-dev

* commit 'c9e11696c4f80e9803f7e65e29af962f199a574d':
Acodec: Send framerate information to OMX decoder if available
78b01639c08fe5e7e9c1be5e9dc5de560f1383f9 30-Jan-2015 Rachad <rachad@google.com> Acodec: Send framerate information to OMX decoder if available

Bug: 19110889
Change-Id: Ia8dbe1b77aaac421ec9415884e1248b9b68168dc
/frameworks/av/media/libstagefright/include/ACodec.h
980b106908cb8e105bb8849749722c5088e2f6eb 28-Jan-2015 Marco Nelissen <marcone@google.com> resolved conflicts for merge of 9391844d to master

Change-Id: I348a71d1b3e3238bc3871a69454edc8247d03111
9391844deb3f6a442745cea62f78aca2cea19e50 27-Jan-2015 Marco Nelissen <marcone@google.com> resolved conflicts for merge of b955b722 to lmp-mr1-dev-plus-aosp

Change-Id: I385371869169eee4fe6330ffe0abc5eda4cb4f72
b7848f1c442bc8c71020957948d1b003a62a25b7 04-Dec-2014 Marco Nelissen <marcone@google.com> Remove MediaPlayerService::decode()

and make SoundPool use MediaCodec for decoding files to PCM.

Bug: 18239054
Change-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310
oundPool.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
dda683a2ccb84ccc840b76e2ced10052f65ce43e 15-Jan-2015 Andy Hung <hunga@google.com> Merge "Allow AUDIO_FORMAT_PCM_8_BIT AudioTrack buffers"
abdb990953ffe94a9dc544aea0bed17ef7d5f484 13-Jan-2015 Andy Hung <hunga@google.com> Allow AUDIO_FORMAT_PCM_8_BIT AudioTrack buffers

Previously conversion to AUDIO_FORMAT_PCM_16_BIT was required.
Client shared memory for static tracks and AudioFlinger track creation
and buffer delivery now use native 8 bit PCM data.

Change-Id: I485c07a4971fde9a25442bd43fed95019d39abcc
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
17c933cc07be9656aee8afc82dc866a67b3fd78e 14-Jan-2015 Marco Nelissen <marcone@google.com> am cec272df: am 724b9ea5: Merge "Replace MidiFile player with a Midi extractor"

* commit 'cec272dfe2cf6bf6cdb8a4afa5afdd0e910c915f':
Replace MidiFile player with a Midi extractor
a18eb9ea913e2cd19df9fe0f1b2a667339006581 12-Jan-2015 Glenn Kasten <gkasten@google.com> Merge "Move roundup from frameworks/av to system/media"
b60bf91d2b1b2e45166cbb1eff9499de8b1c1105 10-Jan-2015 Rachad <rachad@google.com> am 7e85361e: am 26c73acb: am 0b460ad7: Merge "ACodec: Added support for E-AC3 decoders" into lmp-mr1-dev

* commit '7e85361e364bf8f80ab43dd5feb0f584e481019e':
ACodec: Added support for E-AC3 decoders
7e85361e364bf8f80ab43dd5feb0f584e481019e 10-Jan-2015 Rachad <rachad@google.com> am 26c73acb: am 0b460ad7: Merge "ACodec: Added support for E-AC3 decoders" into lmp-mr1-dev

* commit '26c73acb73b5af94cb27e5d285d1708d25eb6892':
ACodec: Added support for E-AC3 decoders
0b460ad7557f6be56aad3fa027d93b38d5995ac4 10-Jan-2015 Rachad <rachad@google.com> Merge "ACodec: Added support for E-AC3 decoders" into lmp-mr1-dev
8840754c5bc44c7e11ed5e9acc15e9569f5814c5 08-Jan-2015 Marco Nelissen <marcone@google.com> resolved conflicts for merge of 2702d5a0 to lmp-mr1-dev-plus-aosp

Change-Id: Ic9841f0a66930f57a5ebea527c6a841d7c49cccf
0e8928bf4f2b01b783f6da97d15e8f1abb0fd7d7 08-Jan-2015 Marco Nelissen <marcone@google.com> Replace MidiFile player with a Midi extractor

This gets rids of a bunch of special midi handling and replaces it
with an extractor that works with NuPlayer and MediaMetadataRetriever.

Change-Id: I8d0f5bbdde2ca24267cf4d62ab26afe9630e0217
/frameworks/av/media/libmedia/include/media/MidiIoWrapper.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
bc11e713063f3f96f98256abc81c0d8ee1ddb312 08-Jan-2015 Marco Nelissen <marcone@google.com> Use callbacks for Midi I/O

Instead of having the Sonivox engine directly open the file and
use stdio to read from it, use caller-provided callbacks.

Change-Id: Ie55129109060a4a7862fee3177f994401e00b6c1
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/MidiIoWrapper.h
32479c9f7a004d2c1daeac015684529b0158f8a4 08-Jan-2015 Chong Zhang <chz@google.com> am 7993d6b3: am e0344754: am 468977f0: Merge "mark any copyrighted content as protected to disable capture" into lmp-mr1-dev

* commit '7993d6b343f2723872dac085756743630371454d':
mark any copyrighted content as protected to disable capture
7993d6b343f2723872dac085756743630371454d 08-Jan-2015 Chong Zhang <chz@google.com> am e0344754: am 468977f0: Merge "mark any copyrighted content as protected to disable capture" into lmp-mr1-dev

* commit 'e03447548d1c56fa9875cac7d500f1012a6b5c26':
mark any copyrighted content as protected to disable capture
1713460104b86f6be3a5d9993d9ace864d889b2d 08-Jan-2015 Chong Zhang <chz@google.com> mark any copyrighted content as protected to disable capture

bug: 18916274
Change-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340
/frameworks/av/media/libstagefright/include/ACodec.h
53dbe77b9f50cdd0de88b9d25dd643e90c8ba68b 06-Jan-2015 Glenn Kasten <gkasten@google.com> Move roundup from frameworks/av to system/media

Change-Id: I1083ab739e445e5bd3e3082fc1d3a20cc19601d5
/frameworks/av/media/libnbaio/include/NBLog.h
/frameworks/av/media/libnbaio/include/roundup.h
3c09c78aabcb9d314dfb400258fb99a37c7b50c9 30-Dec-2014 Andy Hung <hunga@google.com> Event driven wake for AudioTrackThread notification changes

Used for setMarkerPosition and setPositionUpdatePeriod.

Change-Id: I0d94b929438a5cd94b295d7c1884f876fae8b5e7
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
53c3b5fc1afe162a8669cb3d27d6bb14e1847e39 16-Dec-2014 Andy Hung <hunga@google.com> Improve AudioTrack EVENT_LOOP_END and EVENT_BUFFER_END accuracy

Fix timing computation to consider current position.
Fix EVENT_LOOP_END count accuracy (some could be dropped before)
for non-infinite loop static AudioTracks.

Change-Id: I255f692915b55ab6f08ccd6a2365fee3f5d0a4fe
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
4ede21d9c1f957baf5e561849ff9bbe4bcbefc20 13-Dec-2014 Andy Hung <hunga@google.com> Fix loop and position restoration in static AudioTracks

Allow restoration of loop and position.
Make position and loop synchronously readable.

Bug: 17964637
Change-Id: I8cfb5036e665f55fdff5c67d27e1363ce9a8665d
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
c52fb038dc91712fc5159226006e03ce59b21b9a 03-Jan-2015 Glenn Kasten <gkasten@google.com> Cleanup annoying whitespace that causes red markers

Change-Id: I0b1be110b0e0a9606d272c4d023f40ff93522725
/frameworks/av/media/libmedia/include/media/StringArray.h
b187de1ada34a9023c05d020a4592686ba761278 30-Dec-2014 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: I6c8fe626a3825fa9e139319656d682a57b887c97
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libnbaio/include/NBAIO.h
8a4728966dc9c78e21c3c93a927707e93c05e5e0 24-Dec-2014 Rachad <rachad@google.com> ACodec: Added support for E-AC3 decoders

Bug: 17883772

Change-Id: I05f674c33522eec0e6ceeece88dd800b1857b3ab
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
87a408dfa54a2dba79079e251761f93bd0cc9cdf 22-Dec-2014 Andy Hung <hunga@google.com> Merge "Add done() to SingleStateQueue"
774acea9bdaa1a8b2fac89a5bba9db4124f20192 15-Dec-2014 Andy Hung <hunga@google.com> Add done() to SingleStateQueue

This allows the SSQ sender to detect whether the SSQ receiver
has completed processing of the last queued item.

Change-Id: I4b962c9aec5f0d34b28b01e29b5af42e3dc9893a
/frameworks/av/media/libmedia/include/media/SingleStateQueue.h
84d8cf472c6f5b80f62c4eff8de0589b4b2fee74 22-Dec-2014 Andy Hung <hunga@google.com> Merge "Remove explicit instantiation of SingleStateQueue"
9b82924cbd203f1678c2f78aa73b15909efa3e81 13-Dec-2014 Andy Hung <hunga@google.com> Remove explicit instantiation of SingleStateQueue

Refactoring now possible due to changes in the Android
atomic include.

Change-Id: Ia0094d322d9ad3d8c186307306821376ca8002c4
/frameworks/av/media/libmedia/include/media/SingleStateQueue.h
faf4efc6a41e88adf85f76f48f020a6d681f5ff1 17-Dec-2014 Marco Nelissen <marcone@google.com> Replace MidiFile player with a Midi extractor

This gets rids of a bunch of special midi handling and replaces it
with an extractor that works with NuPlayer and MediaMetadataRetriever.

Change-Id: I8d0f5bbdde2ca24267cf4d62ab26afe9630e0217
/frameworks/av/media/libmedia/include/media/MidiIoWrapper.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
cb57f34c3933e68e65f37f494b797f00063082a2 16-Dec-2014 Marco Nelissen <marcone@google.com> Merge "Use callbacks for Midi I/O"
08b9e2d113213c37506a416bc95a36789bcab4ca 16-Dec-2014 Marco Nelissen <marcone@google.com> Use callbacks for Midi I/O

Instead of having the Sonivox engine directly open the file and
use stdio to read from it, use caller-provided callbacks.

Change-Id: I4d775c8458c48c591a15794c4517e006dcf034e1
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/MidiIoWrapper.h
a683bb2a7f92b44e9b04752a8126106ce3b0ecca 15-Dec-2014 Lajos Molnar <lajos@google.com> am d7aa535f: am 06f99521: am 2aa82e78: Merge "MediaCodecList: handle binder death" into lmp-mr1-dev

* commit 'd7aa535fc6ed1f4f0ee68bd3c7c483717d30205e':
MediaCodecList: handle binder death
d7aa535fc6ed1f4f0ee68bd3c7c483717d30205e 15-Dec-2014 Lajos Molnar <lajos@google.com> am 06f99521: am 2aa82e78: Merge "MediaCodecList: handle binder death" into lmp-mr1-dev

* commit '06f9952190357426445344090b4e20b8758a118a':
MediaCodecList: handle binder death
eee82e44548f17253c2e06b25725f91c7b549ec2 12-Dec-2014 Lajos Molnar <lajos@google.com> MediaCodecList: handle binder death

Bug: 18691591
Change-Id: Icc402d6ea9b0de4ac642c3b403fb64e865481b2e
/frameworks/av/media/libstagefright/include/MediaCodecList.h
2590fc421ccf5e8199d511ff3022b428ee9122e9 11-Dec-2014 Lajos Molnar <lajos@google.com> am 3e08ca67: resolved conflicts for merge of 6571ed31 to lmp-mr1-dev-plus-aosp

* commit '3e08ca6709b5a75dc3b779cf3eba8196b08a0245':
stagefright: misc fixes to software video encoders (and decoders)
3e08ca6709b5a75dc3b779cf3eba8196b08a0245 11-Dec-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 6571ed31 to lmp-mr1-dev-plus-aosp

Change-Id: Ibaea3a0766f75a61964615482a9ef28651a42b37
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
/frameworks/av/media/libstagefright/include/foundation/AUtils.h
e7fdebaf1f8993df076ea2ae84999bc62da3005b 10-Dec-2014 Glenn Kasten <gkasten@google.com> am 66b17e9d: Merge commit \'f5a968a0\' into mm

* commit '66b17e9dfe114ae968bfb2f8ad8325527e373c65':
audio policy: binder calls for dynamic audio policy mixes
b67eb5856203e9869aa1e5b5a13c1eff62790335 10-Dec-2014 Eric Laurent <elaurent@google.com> am b279f5ad: am c49d9cda: am 2dda40d6: Merge "audio policy: add support for custom mixes" into lmp-mr1-dev

* commit 'b279f5adfa2fd6f22c87b3a7106fbb62a0b9a5d2':
audio policy: add support for custom mixes
66b17e9dfe114ae968bfb2f8ad8325527e373c65 10-Dec-2014 Glenn Kasten <gkasten@google.com> Merge commit 'f5a968a0' into mm

Change-Id: Ifd30546c11def40ad483f27c9d7baa4008fcbac3
b279f5adfa2fd6f22c87b3a7106fbb62a0b9a5d2 10-Dec-2014 Eric Laurent <elaurent@google.com> am c49d9cda: am 2dda40d6: Merge "audio policy: add support for custom mixes" into lmp-mr1-dev

* commit 'c49d9cda49dab8b7dd0376cf56476b3e1895d5c6':
audio policy: add support for custom mixes
c6ac859f5a82ea8642bc6351a45508a15f224f32 08-Dec-2014 Marco Nelissen <marcone@google.com> Remove filename based writer constructors

MediaPlayerService can't open files (it needs an already opened
file descriptor), so these were just wasting space.

Change-Id: I323044a6c1814a7bff952ed71b5c7792df2abf03
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/AACWriter.h
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaMuxer.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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioPolicy.h
/frameworks/av/media/libaudioclient/include/media/AudioPolicyHelper.h
ccc3113681e2878e9c3ef98215f51db79ac034cc 10-Dec-2014 Lajos Molnar <lajos@google.com> am e09bf824: am 6874ed79: am a9d2f9fb: Merge "stagefright: preserve output format flags on format change" into lmp-mr1-dev

* commit 'e09bf82465ff83f4da966b77d551367f7c050154':
stagefright: preserve output format flags on format change
e09bf82465ff83f4da966b77d551367f7c050154 08-Dec-2014 Lajos Molnar <lajos@google.com> am 6874ed79: am a9d2f9fb: Merge "stagefright: preserve output format flags on format change" into lmp-mr1-dev

* commit '6874ed79fd525cf5d6ec8a953475c14f5a185cb4':
stagefright: preserve output format flags on format change
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
/frameworks/av/media/libstagefright/include/ACodec.h
4219e34b256cc7894fa73c1155db6f69f8af470d 27-Nov-2014 Eric Laurent <elaurent@google.com> am 61280541: am 390ef843: am f20c4356: Merge "AudioRecord: use audio attributes instead of audio source." into lmp-mr1-dev

* commit '61280541836947ce0b281b240ffa4c55bbf5bd55':
AudioRecord: use audio attributes instead of audio source.
61280541836947ce0b281b240ffa4c55bbf5bd55 27-Nov-2014 Eric Laurent <elaurent@google.com> am 390ef843: am f20c4356: Merge "AudioRecord: use audio attributes instead of audio source." into lmp-mr1-dev

* commit '390ef84373b7edd1397381f780ca235326357094':
AudioRecord: use audio attributes instead of audio source.
3458bb2356e711419487056fe1dd474e100466a3 26-Nov-2014 Eric Laurent <elaurent@google.com> am 121143d5: am bf14c62e: am 72bf901c: Merge "audio policy: new getOutputForAttr() prototype." into lmp-mr1-dev

* commit '121143d5242a790d0bd01fe1b9cec5d28a1ba1d7':
audio policy: new getOutputForAttr() prototype.
121143d5242a790d0bd01fe1b9cec5d28a1ba1d7 26-Nov-2014 Eric Laurent <elaurent@google.com> am bf14c62e: am 72bf901c: Merge "audio policy: new getOutputForAttr() prototype." into lmp-mr1-dev

* commit 'bf14c62e7973ed793a3b00c2c67beca4484c1c7a':
audio policy: new getOutputForAttr() prototype.
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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioPolicyHelper.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
aa1496ac8c4365b43b6504941b44903dc0f9b7e7 21-Nov-2014 Eric Laurent <elaurent@google.com> am 568689b1: am 3a2a32b5: Merge "AudioSystem: fix cross deadlock" into lmp-mr1-dev
automerge: c9769c5

* commit 'c9769c557e202df671e35196c8c735b49257be7d':
AudioSystem: fix cross deadlock
c9769c557e202df671e35196c8c735b49257be7d 21-Nov-2014 Eric Laurent <elaurent@google.com> am 568689b1: am 3a2a32b5: Merge "AudioSystem: fix cross deadlock" into lmp-mr1-dev

* commit '568689b169d8b0ae2cc252b88602db5e5acaa604':
AudioSystem: fix cross deadlock
8eeda89ae361ccd048d7bba0fd11291e05577e2a 21-Nov-2014 Dan Albert <danalbert@google.com> am d0e12a16: am 902dc42d: am 07715ac3: Merge "C++11 compatibility."

* commit 'd0e12a161471823d1ab269cb608be3f3b0a71ed1':
C++11 compatibility.
d0e12a161471823d1ab269cb608be3f3b0a71ed1 21-Nov-2014 Dan Albert <danalbert@google.com> am 902dc42d: am 07715ac3: Merge "C++11 compatibility."

* commit '902dc42d79b075395d484ce1c71f215b199aaa2a':
C++11 compatibility.
36802bd18b7b4e8c87fa019c7e3068bee330d174 20-Nov-2014 Dan Albert <danalbert@google.com> C++11 compatibility.

* Fix string literal concatenation to not be interpreted as UD
literals.
* Add constexpr compatibility for non-integral static members.
* Use __typeof__ instead of typeof (should become decltype once this
actually becomes C++11).
* Add an appropriate cast for atomic_uintptr_t, since moving to C++11
means moving from <stdatomic.h> to <atomic>, which has better
typechecking (hooray for not macros!).

Bug: 18466763
Change-Id: I9561dcb2526578687819ff85421ba80d8e1a9694
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
8bfb2e8b25146b5c8acfb7f234f6d71f1528abd8 19-Nov-2014 Eric Laurent <elaurent@google.com> am 57426fc6: am 4fd641be: am bbda5ce4: Merge "AudioSystem: Add mutex for output cache" into lmp-mr1-dev

* commit '57426fc6486c6c2fa27f4bc6fcf3349282c3fdd7':
AudioSystem: Add mutex for output cache
57426fc6486c6c2fa27f4bc6fcf3349282c3fdd7 19-Nov-2014 Eric Laurent <elaurent@google.com> am 4fd641be: am bbda5ce4: Merge "AudioSystem: Add mutex for output cache" into lmp-mr1-dev

* commit '4fd641be9fed70743ca4fe823b69e74c258ce275':
AudioSystem: Add mutex for output cache
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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
1c39c28ed6537cab06d681f8f3c0a4d17bb0543d 17-Nov-2014 Chih-hung Hsieh <chh@google.com> am 8c5ee61a: am d86450b9: am c80b9b83: Merge "Fix struct vs. class mismatches"

* commit '8c5ee61a057e3b87e8f0800b284642bf3b107fd0':
Fix struct vs. class mismatches
8c5ee61a057e3b87e8f0800b284642bf3b107fd0 17-Nov-2014 Chih-hung Hsieh <chh@google.com> am d86450b9: am c80b9b83: Merge "Fix struct vs. class mismatches"

* commit 'd86450b93ab3960ccd68aed14563aaa76b43ce9b':
Fix struct vs. class mismatches
86a58cabe322b746ab0eb17f0cade34ed68ba60e 17-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Fix struct vs. class mismatches

Fix something being declared a struct and forward-declared a class and
vice versa.

gcc doesn't care, clang complains about the mismatch.

Change-Id: I7a7a8e9040e3c86fa1d73eb112631ea140861657
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
/frameworks/av/media/libstagefright/include/foundation/AString.h
e5a9eb684921b75919b1a7fee97259b0ca48bd47 14-Nov-2014 Eric Laurent <elaurent@google.com> am 9ac0177d: am 990dad99: Merge "remove AudioSystem::getOutputSamplingRateForAttr()" into lmp-mr1-dev automerge: 0e8a328

* commit '9ac0177da562b8f4d2ac6f001a16658a76e6aad8':
remove AudioSystem::getOutputSamplingRateForAttr()
9ac0177da562b8f4d2ac6f001a16658a76e6aad8 14-Nov-2014 Eric Laurent <elaurent@google.com> am 990dad99: Merge "remove AudioSystem::getOutputSamplingRateForAttr()" into lmp-mr1-dev
automerge: 0e8a328

* commit '0e8a3284c6828e561f58e66a014c3b7ee37325cf':
remove AudioSystem::getOutputSamplingRateForAttr()
2acb139210fff39d9c357b90584c295e93f1902f 14-Nov-2014 Lajos Molnar <lajos@google.com> am 102b17b8: am 41907c44: am cede28e2: Merge "stagefright: add runtime debug support" into lmp-mr1-dev

* commit '102b17b8276f1f364f214f5d943d887f61f71765':
stagefright: add runtime debug support
888913c576024ab5a1da3800ec0e0d5dfba07907 14-Nov-2014 Chong Zhang <chz@google.com> am b6c785ee: am 08961d0b: am 97e6ca1a: Merge "Stagefright: use MediaCodec in async mode for recording" into lmp-mr1-dev

* commit 'b6c785eeeb8e265a64bc0210bcfbc6332d0291dd':
Stagefright: use MediaCodec in async mode for recording
audio policy: move intializations to onFirstRef()
990dad996b748fdaa2041cc6d039e96ccfeae6fb 14-Nov-2014 Eric Laurent <elaurent@google.com> Merge "remove AudioSystem::getOutputSamplingRateForAttr()" into lmp-mr1-dev
102b17b8276f1f364f214f5d943d887f61f71765 14-Nov-2014 Lajos Molnar <lajos@google.com> am 41907c44: am cede28e2: Merge "stagefright: add runtime debug support" into lmp-mr1-dev

* commit '41907c44a597ceb258495715d3dd391fef2907e3':
stagefright: add runtime debug support
cede28e22bce0c92a6d139b51d2c007d2e3f6fca 14-Nov-2014 Lajos Molnar <lajos@google.com> Merge "stagefright: add runtime debug support" into lmp-mr1-dev
b6c785eeeb8e265a64bc0210bcfbc6332d0291dd 14-Nov-2014 Chong Zhang <chz@google.com> am 08961d0b: am 97e6ca1a: Merge "Stagefright: use MediaCodec in async mode for recording" into lmp-mr1-dev

* commit '08961d0b57f33e0486db2ff135f0f7fa4b1a8c58':
Stagefright: use MediaCodec in async mode for recording
audio policy: move intializations to onFirstRef()
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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
f296e2b262d2a8f7c570eaed454a28cca99eb976 19-Jun-2014 Lajos Molnar <lajos@google.com> stagefright: add runtime debug support

Bug: 18285408
Change-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
/frameworks/av/media/libstagefright/include/foundation/AStringUtils.h
6d60079e97c5fd6ba7de7b60adb0a027c0608d19 11-Nov-2014 Eric Laurent <elaurent@google.com> am 99370d2d: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing

* commit '99370d2da54d7537ffda7fef1f6ef36f8b690321':
IAudioPolicyService: bound array size in queryDefaultPreProcessing
99370d2da54d7537ffda7fef1f6ef36f8b690321 11-Nov-2014 Eric Laurent <elaurent@google.com> am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing

* commit 'ae6965ae7664aaea489a8d58358035610075c9af':
IAudioPolicyService: bound array size in queryDefaultPreProcessing
ae6965ae7664aaea489a8d58358035610075c9af 11-Nov-2014 Eric Laurent <elaurent@google.com> am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing

* commit '3aef35600523eb6b4ccc8086a8913e80701a031a':
IAudioPolicyService: bound array size in queryDefaultPreProcessing
e360f0f6cad290f69e07fd3a20dcf11a1dbc4160 05-Nov-2014 Eric Laurent <elaurent@google.com> IAudioPolicyService: bound array size in queryDefaultPreProcessing

Bug: 18226810.
Change-Id: Ib8e2bfe835a8681aac50bf23161db14e50c9a124
(cherry picked from commit 74adca9ad30b7f8a70d40c5237bade0d16c4ea58)
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
62751c9c9bb9070eb7f44981079b65cb25045ee5 07-Nov-2014 Glenn Kasten <gkasten@google.com> am 5239bad2: am b177468b: Merge "Improve AudioTrack recovery from mediaserver death" into lmp-mr1-dev automerge: e662cd5

* commit '5239bad27472b9ae42be924a98850683e5e70476':
Improve AudioTrack recovery from mediaserver death
5239bad27472b9ae42be924a98850683e5e70476 07-Nov-2014 Glenn Kasten <gkasten@google.com> am b177468b: Merge "Improve AudioTrack recovery from mediaserver death" into lmp-mr1-dev automerge: e662cd5

* commit 'b177468bb1647c79ba48cd0a172cf3306b31ad69':
Improve AudioTrack recovery from mediaserver death
e662cd5cdbe1312d6b74754d2945fffe99e4fe2c 07-Nov-2014 Glenn Kasten <gkasten@google.com> Merge "Improve AudioTrack recovery from mediaserver death" into lmp-mr1-dev
048e913d58a59055af81dfa362db2c4ccf00f75a 07-Nov-2014 Dan Stoza <stoza@google.com> am f8d051fe: am 034d6747: am 1609e451: Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev

* commit 'f8d051fee37b1a0734e4142072d3053fed8df161':
Add a BufferItem parameter to onFrameAvailable
f8d051fee37b1a0734e4142072d3053fed8df161 07-Nov-2014 Dan Stoza <stoza@google.com> am 034d6747: am 1609e451: Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev

* commit '034d674721029e3b7e34fe30ee31814c521b62bf':
Add a BufferItem parameter to onFrameAvailable
1609e451cf6101efe6aeaaa2da61db2cb095c9e8 07-Nov-2014 Dan Stoza <stoza@google.com> Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev
72e4a570f52c0a866d6952d0a1edd07d2c2194fc 07-Nov-2014 Eric Laurent <elaurent@google.com> am caf27abc: am 7e88fac0: Merge "AudioSystem: remove obsolete method." into lmp-mr1-dev automerge: c339a92

* commit 'caf27abc62e15abc628c04183d3188728fe98990':
AudioSystem: remove obsolete method.
caf27abc62e15abc628c04183d3188728fe98990 07-Nov-2014 Eric Laurent <elaurent@google.com> am 7e88fac0: Merge "AudioSystem: remove obsolete method." into lmp-mr1-dev automerge: c339a92

* commit '7e88fac080e3bb1cdc95667f82727ea6c19fb173':
AudioSystem: remove obsolete method.
a36060891425c4ce0621e40344ac473ec14924dd 07-Nov-2014 Eric Laurent <elaurent@google.com> AudioSystem: remove obsolete method.

Bug: 18067208.
Change-Id: I9bbf9088485f5162c765ca504d9b784b956234c6
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
944f3112a6d3fca7c70602e9696508101385e57c 06-Nov-2014 Jeff Tinker <jtinker@google.com> am 6e0da022: am e0e8223c: am 1cf9ad1a: Merge "Pass resolution to Crypto plugin on format change" into lmp-mr1-dev

* commit '6e0da0226503ddea118d43962a76fa2fa56bad1e':
Pass resolution to Crypto plugin on format change
3db4166958f30d64ef57e7768420b4af6d226d4a 06-Nov-2014 Jeff Tinker <jtinker@google.com> am a4dd2e19: am 7ed62fb4: am 19a3f69d: Merge "Add missing secure stop methods" into lmp-mr1-dev

* commit 'a4dd2e19f917f25b3eee36f499b126dc115e5446':
Add missing secure stop methods
6e0da0226503ddea118d43962a76fa2fa56bad1e 06-Nov-2014 Jeff Tinker <jtinker@google.com> am e0e8223c: am 1cf9ad1a: Merge "Pass resolution to Crypto plugin on format change" into lmp-mr1-dev

* commit 'e0e8223c10e051b73fdcbed4fc67a69df2655c56':
Pass resolution to Crypto plugin on format change
a4dd2e19f917f25b3eee36f499b126dc115e5446 06-Nov-2014 Jeff Tinker <jtinker@google.com> am 7ed62fb4: am 19a3f69d: Merge "Add missing secure stop methods" into lmp-mr1-dev

* commit '7ed62fb4a7401adc3e8b4e082bcfa21de443ebbe':
Add missing secure stop methods
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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
3a077cd5efb86a42ff4291b7935e226c1aec978e 05-Nov-2014 Eric Laurent <elaurent@google.com> am 5fa013ea: am 7e31774e: am 74adca9a: IAudioPolicyService: bound array size in queryDefaultPreProcessing

* commit '5fa013ea79066ec47589f38f94f557d021bd56eb':
IAudioPolicyService: bound array size in queryDefaultPreProcessing
5fa013ea79066ec47589f38f94f557d021bd56eb 05-Nov-2014 Eric Laurent <elaurent@google.com> am 7e31774e: am 74adca9a: IAudioPolicyService: bound array size in queryDefaultPreProcessing

* commit '7e31774e7195bc0479e1a09b2ef8a114e893598f':
IAudioPolicyService: bound array size in queryDefaultPreProcessing
74adca9ad30b7f8a70d40c5237bade0d16c4ea58 05-Nov-2014 Eric Laurent <elaurent@google.com> IAudioPolicyService: bound array size in queryDefaultPreProcessing

Bug: 18226810.
Change-Id: Ib8e2bfe835a8681aac50bf23161db14e50c9a124
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/ICrypto.h
3c1285e8f86bd497e14c14fb6df7b42072ef52bd 31-Oct-2014 Jeff Tinker <jtinker@google.com> Add missing secure stop methods

b/18053197
b/18076411

Change-Id: I923dc893d48c70bf17980007b32f0ac5dfd22896
/frameworks/av/media/libmedia/include/media/IDrm.h
121ee5cf0c51008172658fe3d728613cf942c5af 28-Oct-2014 Chong Zhang <chz@google.com> am eb9ee3c0: do not hold mNotifyLock when calling MediaPlayer::notify automerge: df2592b automerge: ff41266

* commit 'eb9ee3c08f3e397a726395f8658a087fb659e780':
do not hold mNotifyLock when calling MediaPlayer::notify
eb9ee3c08f3e397a726395f8658a087fb659e780 28-Oct-2014 Chong Zhang <chz@google.com> do not hold mNotifyLock when calling MediaPlayer::notify automerge: df2592b
automerge: ff41266

* commit 'ff412661240d6ad34800512cb60841f8b0700107':
do not hold mNotifyLock when calling MediaPlayer::notify
df2592beab557663a471da2ac33ca463f7eee722 25-Oct-2014 Chong Zhang <chz@google.com> do not hold mNotifyLock when calling MediaPlayer::notify

Bug:18120688
Change-Id: Ia66dcfc3fd2d67d1ceba9808d21e0120cc8691d6
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
d48a3abfede5a95124ba11aec53f6d3e19adfc5d 23-Oct-2014 Lajos Molnar <lajos@google.com> am 11f437a6: am edcff417: am 42aae0c4: am f04e8b5e: am 25842048: Merge "stagefright: try to free codec instance if MediaCodec.release hangs" into lmp-dev

* commit '11f437a6665167d8aee6db59df6e4753aa190bf7':
stagefright: try to free codec instance if MediaCodec.release hangs
9b3d384753658a2b7985b1f4d124b09a8fb8f3b6 23-Oct-2014 Lajos Molnar <lajos@google.com> am ccaf667e: am ffe39811: am 8274b049: am cd3fc4e3: am 6ce19d24: Merge "Stagefright: MediaCodec: shutdown allocated codec on error" into lmp-dev

* commit 'ccaf667eb6e96a28caedb0d4f776b1ff9c4aed10':
Stagefright: MediaCodec: shutdown allocated codec on error
11f437a6665167d8aee6db59df6e4753aa190bf7 22-Oct-2014 Lajos Molnar <lajos@google.com> am edcff417: am 42aae0c4: am f04e8b5e: am 25842048: Merge "stagefright: try to free codec instance if MediaCodec.release hangs" into lmp-dev

* commit 'edcff417bbb2e76245b559e7c9a8b98c2a60e102':
stagefright: try to free codec instance if MediaCodec.release hangs
ccaf667eb6e96a28caedb0d4f776b1ff9c4aed10 22-Oct-2014 Lajos Molnar <lajos@google.com> am ffe39811: am 8274b049: am cd3fc4e3: am 6ce19d24: Merge "Stagefright: MediaCodec: shutdown allocated codec on error" into lmp-dev

* commit 'ffe398116e5049e80ac818dbc621f06fe0196038':
Stagefright: MediaCodec: shutdown allocated codec on error
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaCodec.h
d89eaddd1544dc9f6665e2578583e8083cac00da 07-Oct-2014 Marco Nelissen <marcone@google.com> Check for duplicate uuids when parsing audio_effects.conf

uuids need to be unique, and things don't work properly when they're
not.
Also fix/enhance/extend the dumpEffectDescriptor() method, and
include a list of effects in audioflinger dumpsys.

Change-Id: I3dfbc5ed0f7272c7809e337f2929212ece047ee4
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
703424dad7b1ffb7e55fb4780f609e3d3e514f5a 07-Oct-2014 Rachad <rachad@google.com> am 9d06b802: am 42fc04ff: am 584c14c3: Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev

* commit '9d06b8026d551c24527d6f72f134046d94068c46':
stagefright: do not allocate output buffers for tunneled playback
9d06b8026d551c24527d6f72f134046d94068c46 07-Oct-2014 Rachad <rachad@google.com> am 42fc04ff: am 584c14c3: Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev

* commit '42fc04ff4db20f2de12834818a73778ec9ede052':
stagefright: do not allocate output buffers for tunneled playback
292cf155f105915f896877a7be83e46bdf4275d2 07-Oct-2014 Rachad <rachad@google.com> am 584c14c3: Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev

* commit '584c14c370f141685b7e8963a13ed91584383ca1':
stagefright: do not allocate output buffers for tunneled playback
584c14c370f141685b7e8963a13ed91584383ca1 07-Oct-2014 Rachad <rachad@google.com> Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev
09f9478131d7903404e173d4ddd9224294bb1a84 04-Oct-2014 Chong Zhang <chz@google.com> am bb2c8147: am dfc2a8f8: am f0011d49: Merge "MediaRecorder: only dequeue available buffers from MediaCodec" into lmp-dev

* commit 'bb2c8147452144a19f45bc2e58f1885cec40b8dc':
MediaRecorder: only dequeue available buffers from MediaCodec
bb2c8147452144a19f45bc2e58f1885cec40b8dc 04-Oct-2014 Chong Zhang <chz@google.com> am dfc2a8f8: am f0011d49: Merge "MediaRecorder: only dequeue available buffers from MediaCodec" into lmp-dev

* commit 'dfc2a8f8a7d5062ecb2af4b940e54c3ce52795e3':
MediaRecorder: only dequeue available buffers from MediaCodec
7a252f81a9657bd41495ccfc9bfb25c579a6924b 04-Oct-2014 Dan Albert <danalbert@google.com> am 6b95616b: am 57c27c55: am dc28fa7e: Merge "Add missing #includes"

* commit '6b95616b21c449d9332430fe9500ade56924a3a1':
Add missing #includes
6b95616b21c449d9332430fe9500ade56924a3a1 04-Oct-2014 Dan Albert <danalbert@google.com> am 57c27c55: am dc28fa7e: Merge "Add missing #includes"

* commit '57c27c55006f0137a8ad5a87ec62eb89084dcdc6':
Add missing #includes
8d8a489c9a4b813b8e8f1510b3d369516f4b52f2 04-Oct-2014 Dan Albert <danalbert@google.com> am 57c27c55: am dc28fa7e: Merge "Add missing #includes"

* commit '57c27c55006f0137a8ad5a87ec62eb89084dcdc6':
Add missing #includes
f2a64852a4a48c5a3d8a08ffcda20d6884586672 04-Oct-2014 Chong Zhang <chz@google.com> MediaRecorder: only dequeue available buffers from MediaCodec

Bug: 17514968
Change-Id: If232f92d163deb2440b927315c69e0c4d51ca290
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
07ea94c589ea6d6ee3aeb1e9ef9d4100217738c8 03-Oct-2014 Lajos Molnar <lajos@google.com> am 9236887a: am 2e74aefd: am fc93499e: Merge "mediarecorder: set level if setting default profile" into lmp-dev

* commit '9236887ac5dfa526d1a90dd5e0a3c3095f443e70':
mediarecorder: set level if setting default profile
e1f2739b0a53e98a0d8dc124250f99c17515b90e 03-Oct-2014 Lajos Molnar <lajos@google.com> am f973c881: resolved conflicts for merge of 55fc6a77 to lmp-mr1-dev-plus-aosp

* commit 'f973c881e3f3c1cbb91e4eb0e65f57bb23ed5758':
stagefright: move math templates into AUtils.h
a147b4f91143d9f2fb608e22f9fca14bbd029573 02-Oct-2014 Lajos Molnar <lajos@google.com> mediarecorder: set level if setting default profile

Bug: 17676461
Change-Id: If01ccd09935945d330de0842be95c3544951b6b9
/frameworks/av/media/libstagefright/include/ACodec.h
e7c6790095545fa4e2bd6d534ae8d8a6fb486f37 02-Oct-2014 Chong Zhang <chz@google.com> am bc6b959b: am 52cb10c4: am d0b9efe7: Merge "add AAC audio decoder params for PCM limiter enable" into lmp-dev

* commit 'bc6b959b0ff5f4fc83a049cba989edc0a06ae043':
add AAC audio decoder params for PCM limiter enable
f75baebba3a35780df156d1378e18c38097f7c6c 02-Oct-2014 Robert Shih <robertshih@google.com> am b76c2702: am 8359c43a: am 3af67d03: Merge "GenericSource: support disconnect before NuCachedSource2 is created" into lmp-dev

* commit 'b76c2702fcae662b7ac0523d4735ef90c0f6dbba': (32 commits)
GenericSource: support disconnect before NuCachedSource2 is created
Camera1 shim: If there's no flash, the keys need to be null.
NuCachedSource2: more fixes for source read hang
NuPlayer: change assert to conditional check.
Camera2Client: log an error when autoFocus is called in wrong state
NuPlayer: use generation to filter out stale message from renderer.
MediaBuffer: ABuffer will release MediaBuffer when it's destructed.
AudioEffect acquires session
Add support for ANDROID_LOOP to NuPlayer
StagefrightRecorder: default to codec and fps from camcorder low profile
AudioPolicyManager: Use "safe" speaker for notifications if available
mediaplayer: release MediaBuffer in stale input buffers
NuPlayerDriver: do not set to paused state when receiving playback complete and reset is in progress.
Revert "Fix AAC timestamps for multiple aac frames per input buffer"
fix failure in MediaCodecTest#testException
mediaplayer: limit number of outstanding buffer requests
NuPlayer: make previous decoders obsolete when reset is done.
NuPlayer::Renderer::onPause() - Converted CHECK(!mPaused) to a warning.
NuPlayer: check mSource before deferencing it.
Move stale handler cleanup to constructor
...
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
17fa4e4f00f1985e180c13d4733d1847d531b60b 29-Sep-2014 Eric Laurent <elaurent@google.com> am 474d1d40: am 504de531: Merge "audio: fix stream type for accessibility usage" into lmp-dev

* commit '474d1d406130e6ad84e4b2c4eddef859953eb8c1':
audio: fix stream type for accessibility usage
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
/frameworks/av/media/libstagefright/include/ACodec.h
dff843f2fae88c10fe18d2925a4e802a35d74433 27-Sep-2014 Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> Add missing #includes

Some header files in stagefright try to use DISALLOW_EVIL_CONSTRUCTORS
(and even DISALLOW_IMPLICIT_CONSTRUCTORS, which isn't defined anywhere
in stagefright) without including the proper header.

With clang, this results in a build failure - with gcc,
it results in DISALLOW_EVIL_CONSTRUCTORS/DISALLOW_IMPLICIT_CONSTRUCTORS
not doing what they were intended to do, instead appearing as a method
in the DWARF debug sections of files using the headers.

Change-Id: Ie4e99affe98ed8fb1bfcf5ec604c19dcd5311c62
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
/frameworks/av/media/libstagefright/include/AACWriter.h
/frameworks/av/media/libstagefright/include/ClockEstimator.h
/frameworks/av/media/libstagefright/include/MediaMuxer.h
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
1a65cb0463b4456cc1110135bab39e86b86a99ce 23-Sep-2014 Andy Hung <hunga@google.com> am d20940ee: am d7f77cd7: Merge "MediaCodec: Fix deallocated pointer reference when calling reset()" into lmp-dev

* commit 'd20940ee9e9da7495a75569ccc513b4aa3ddc179':
MediaCodec: Fix deallocated pointer reference when calling reset()
d93ebc8aa9433678b36285f8d43dcbc00a8dd534 23-Sep-2014 Wei Jia <wjia@google.com> am 0973af24: am 0079b331: Merge "MediaBuffer: ABuffer will release MediaBuffer when it\'s destructed." into lmp-dev

* commit '0973af247786ff1be980390cc274364fca6b2d6e':
MediaBuffer: ABuffer will release MediaBuffer when it's destructed.
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/foundation/ABuffer.h
/frameworks/av/media/libstagefright/include/foundation/MediaBufferBase.h
82275a81a378a0548f4183a3865745e616426b15 19-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> am 30e4413f: am 6aadfce1: Merge "AudioEffect acquires session" into lmp-dev

* commit '30e4413f96da08520d499f3601d7fefc1074b470':
AudioEffect acquires session
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
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
598af9e9506cf9db5135ff7faf2d0e6fc7daab60 18-Sep-2014 Lajos Molnar <lajos@google.com> am 0601bea8: am 83266677: Merge "NuPlayer: use getTimestamp instead of getPosition" into lmp-dev

* commit '0601bea8a43ea47f0a83a9bdf72de373576dbb8c':
NuPlayer: use getTimestamp instead of getPosition
00d17677f8557b31a5a4c3e0ed981b1ae1dd28ef 18-Sep-2014 Lajos Molnar <lajos@google.com> am df676881: am a87be62b: Merge "Fix AudioTrack offloaded timestamp handling." into lmp-dev

* commit 'df676881dbfcf49bc169caee81385fc21b754f6b':
Fix AudioTrack offloaded timestamp handling.
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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
06ad1528e6dd4c866c085d3cad9235d2752eb3ed 28-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: use getTimestamp instead of getPosition

Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
43a3f499fc3ae1cc36a482696f154e534daa320e 12-Sep-2014 Glenn Kasten <gkasten@google.com> am 6c939b9d: am 7c12b035: Merge "Clean up AudioTrack position and timestamp handling" into lmp-dev

* commit '6c939b9d80d28c118f2b97088dda1ff6cec32cf7':
Clean up AudioTrack position and timestamp handling
c2f78c91f7cb5238b932ca8107f311630edebc88 11-Sep-2014 Lajos Molnar <lajos@google.com> am 87088150: am fd732779: Merge "stagefright: don\'t use AAtomizer in AMessage" into lmp-dev

* commit '87088150423676a8a0d6a0094e6b6e77e11fb3b5':
stagefright: don't use AAtomizer in AMessage
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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libnbaio/include/NBAIO.h
49b03d4ce121047015906cfe2bb01012343fa16b 10-Sep-2014 Zhijun He <zhijunhe@google.com> am ef2e3619: am 83ee5564: Merge "CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P" into lmp-dev

* commit 'ef2e361980531f0d315f89b783c2de3ea2abae95':
CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P
7ea429295a2eb31f2d9256c36c1ef53a195456ac 27-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: don't use AAtomizer in AMessage

Bug: 15094301
Change-Id: Ib82fb6d8fb6b48402d81f411123b3d924368eb93
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
83ee5564965408307e6f045ce5faed72bc3437b0 10-Sep-2014 Zhijun He <zhijunhe@google.com> Merge "CamcorderProfile: Add QUALITY_HIGH_SPEED_2160P" into lmp-dev
e86697a548f2cef6640bce72c64992bc50213796 10-Sep-2014 Jeff Tinker <jtinker@google.com> am 9b14dd23: am 9caf1f56: Merge "Add error code for insufficient output protection" into lmp-dev

* commit '9b14dd237d4fad006cae532464e0a46a24d89af7':
Add error code for insufficient output protection
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
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
c6c182f354142b47b7a5abfa9f95c82b236f5832 05-Sep-2014 David Smith <davidas@google.com> stagefright: generic RenderScripts in MediaFilter

Adds support for generic RenderScript filters to MediaFilter via RSFilter,
which calls an RSFilterCallback object to process buffers.

Bug: 17203044
Change-Id: Iadb7700c424d225fb5e98a5359cbca070c6e4283
/frameworks/av/media/libstagefright/include/RenderScriptWrapper.h
198a52c22d850291ed5ae58fd26666b394b9be03 06-Sep-2014 Jean-Michel Trivi <jmtrivi@google.com> am f14ae397: am 2adb3f32: Merge "Cache audio attributes when player not available" into lmp-dev

* commit 'f14ae397f726db7139e395753d88b40c1bb1f083':
Cache audio attributes when player not available
eab1bd40f9c9722239dc37a62ba81617abfc90f6 06-Sep-2014 David Smith <davidas@google.com> Merge "stagefright: filter surface input, config cacheDir"
e7f4e676bb88b17241d71731f9ea50c18cfcb039 29-Aug-2014 David Smith <davidas@google.com> stagefright: filter surface input, config cacheDir

Bug: 17203044
Change-Id: Ifb927429568fe68807143e8511065fea1a25b3a5
/frameworks/av/media/libstagefright/include/MediaFilter.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
/frameworks/av/media/libmedia/include/media/mediaplayer.h
5ede45b5b776581969924ed9a13c36f41d33a032 04-Sep-2014 Marco Nelissen <marcone@google.com> am e866880a: am d71233a8: Merge "Use CharacterEncodingDetector in metadataretriever" into lmp-dev

* commit 'e866880ae1709062e0a8b36e62a78d91c3f06cc9':
Use CharacterEncodingDetector in metadataretriever
d71233a846aca7035a851941c1530d04c6a65086 03-Sep-2014 Marco Nelissen <marcone@google.com> Merge "Use CharacterEncodingDetector in metadataretriever" into lmp-dev
7dce05439c44553f46f2744d309111563c9e788d 03-Sep-2014 Marco Nelissen <marcone@google.com> am ba19ee84: am ea8462cc: Merge "Fix more potential deadlocks in ALooperRoster" into lmp-dev

* commit 'ba19ee846cef06e2c70adfd6be7e17ae26cb14e1':
Fix more potential deadlocks in ALooperRoster
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
/frameworks/av/media/libmedia/include/media/CharacterEncodingDetector.h
/frameworks/av/media/libmedia/include/media/StringArray.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
d2503caa1e7d7c362f05424838dbac479a5c84e5 02-Sep-2014 Rachad <rachad@google.com> am 760cfc90: am b6b927fc: Merge "Tunneled Video Playback: Changed AudioHwSync token to int32_t to match Audio stack api." into lmp-dev

* commit '760cfc9000c815913305b8714bdde39855df3753':
Tunneled Video Playback: Changed AudioHwSync token to int32_t to match Audio stack api.
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
/frameworks/av/media/libstagefright/include/ACodec.h
0671947255321526cb1ba1ec3a20af9e8579c257 29-Aug-2014 Jeff Tinker <jtinker@google.com> Add error code for insufficient output protection

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

Bug: 17059501
Change-Id: I242f2859527bed2d6e275c27de94fb19f4dcdc28
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
744f5739019d1fd917f981e740b353c3d73fd1a8 16-Aug-2014 David Smith <davidas@google.com> stagefright: MediaFilter and SimpleFilter(s)

MediaFilter implements CodecBase and provides video filtering support
via filter modules which extend SimpleFilter.

Bug: 17203044
Change-Id: Ifb30c501e2901c44999d95d7d150e863b2bd06c6
/frameworks/av/media/libstagefright/include/MediaFilter.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
/frameworks/av/media/libstagefright/include/DataSource.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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioprocessing/include/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
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
7c4f0d757bfeedaab4b7ef4ccf5b0a72ec8f4306 10-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer: getSelectedTrack

Change-Id: If5251f89b881e7f268e11a06cd3685d794c958b6
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
1381d4b5c0385aec3741073e5998773b064c1fb0 08-Aug-2014 Lajos Molnar <lajos@google.com> media/playerservice: add getCodecList() to MediaPlayerService

Bug: 11990470
Change-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IMediaCodecList.h
/frameworks/av/media/libmedia/include/media/MediaCodecInfo.h
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
8accee4f0e94f19866d260be6eecd6c219eb4982 06-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: add AString parceling, and equal/compareIgnoreCase

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

Bug: 11990470
Change-Id: Ifae790b774a0fb210acbe33a1310d3d6ba46e7fa
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
b97cc6a9a3c81215e365c61b071a932073b56ff2 02-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> AAC encoder: add support for SBR mode selection

Change-Id: Ibc07bff7710398929c135f38324dd29857fa0ea6
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.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
/frameworks/av/media/libstagefright/include/MediaCodecSource.h
68b15554f6dca3b056eac517fe5fa2fd4ee80a33 30-Apr-2014 Jeff Tinker <jtinker@google.com> Allow device to be unprovisioned

bug: 12247651
Change-Id: I564ac8de3da2430342a028f4058e2c5ac2d85d5e
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaCodec.h
e9e63bcf6c36351f1129b0bdc5e93f17f0f9f0b4 31-Jul-2014 Chong Zhang <chz@google.com> handle rotation in NuPlayer

Bug: 16653284
Change-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
03c556ae1eb409ad088c49037e185946c54e1d25 25-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add flexible YUV support

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

Bug: 10706245
Change-Id: I8c4e96a2581a039e9e8237c3e09e2c22226da055
/frameworks/av/media/libstagefright/include/foundation/ABuffer.h
6c28f1fb6d8262a327ffa8be5bb4c84c9ef7ce62 26-Jul-2014 Zhijun He <zhijunhe@google.com> Merge "CamcorderProfiles: add high speed profile constants" into lmp-dev
e07909715b44cc56df723750af93f0608210f94d 24-Jul-2014 Zhijun He <zhijunhe@google.com> CamcorderProfiles: add high speed profile constants

Change-Id: I8f783466f8c2560820db14488acc1a309d27ab0f
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/mediarecorder.h
114819633470ebd5b346c13c2a82a0025d2d39c0 10-Jul-2014 Robert Shih <robertshih@google.com> StagefrightRecorder: webm (video only) support

Bug: 16329805
Change-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
oundPool.h
/frameworks/av/media/libaudioclient/include/media/AudioPolicyHelper.h
d8cf55d878edddfc36bb821a95b88dfb2453c2c3 17-Jul-2014 Robert Shih <robertshih@google.com> MediaWriter: make get/setStartTimeOffsetMs virtual

Bug: 16329805
Change-Id: Ib971dd95b54829438c8af97528f9e00b87ab3f1e
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
513d967dae82cd03e67bff17b927cf869d9bc43e 15-Jul-2014 Lajos Molnar <lajos@google.com> Add MediaCodecList capabilities

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

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

Bug: 15699665
Change-Id: I2aaddc4c937cf5c1e36386bafd7d396d5781bf6d
/frameworks/av/media/libstagefright/include/MediaSource.h
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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
b3b1660ecb67f61f9da54efced8677fa3a6f4863 16-Jul-2014 Glenn Kasten <gkasten@google.com> Add audio_input_flags_t to IAudioPolicyService::getInput

Change-Id: I9f37be05f8dc7b85a8827a94e76ca0f45453e170
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
dd235727a1b4e283deeb581559f99c2c8889da07 12-Jun-2014 Robert Shih <robertshih@google.com> GenericSource: implement getTrackCount/getTrackInfo

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

Bug: 12034929
Change-Id: I326f1356df89474aa088c1c87f8505b33654139d
/frameworks/av/media/libstagefright/include/MediaCodec.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
/frameworks/av/media/libstagefright/include/MediaCodec.h
c5619c7a6dcc1137fde7520351ad5284e3e958ab 09-Jul-2014 Chong Zhang <chz@google.com> MediaCodec async callbacks

Bug: 11990118

Change-Id: I6fe4b407d9c85cddec8d958620d5d356735273cf
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/CodecBase.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
7c6f87856c0880ee39c2107a0fc3c9b41f8c195c 03-Jul-2014 Glenn Kasten <gkasten@google.com> Add new API AudioRecord::notificationFrames()

Change-Id: I27fb888f01ed547242ffaa8d4626d38c7999ad53
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/ACodec.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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
3c1da7224155516a08d94598eb64b64204bf10f8 18-Jun-2014 Lajos Molnar <lajos@google.com> AString: add startsWithIgnoreCase and endsWithIgnoreCase

Change-Id: I340159aa14d4d3d28ea675c6c5b8a82f7e731069
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaDefs.h
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
/frameworks/av/media/libmedia/include/media/mediascanner.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
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
/frameworks/av/media/libaudioclient/include/media/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>
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
f3e80dddd7376aa9deeb27de25e1d50030a2ad98 11-Jun-2014 Elliott Hughes <enh@google.com> Offer a type-safe album art interface.

Bug: 15514223
Change-Id: Iddfc33a00e6cd3779ca09c01a55f62b151f6ec95
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
/frameworks/av/media/libstagefright/include/StagefrightMediaScanner.h
5f6af1a8e34381ca2ac2527fcefe220a22f49b53 10-Jun-2014 Zhijun He <zhijunhe@google.com> MediaProfiles: Add 4K video related constants

Bug: 15287656
Change-Id: I4c49640a349afb336f52db1636902fc216bff6ad
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
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
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
f947dbce4390f2c3c460325d37002a34f09c0b74 01-Jun-2014 Glenn Kasten <gkasten@google.com> Remove obsolete IAudioFlinger::channelCount()

Change-Id: Ie623edae2e795f9155f1f452fe4e6c7217a4a4c8
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyServiceClient.h
203b1a18a806e2c56c701aac49cda963bccfad5b 01-Apr-2014 Eric Laurent <elaurent@google.com> DO NOT MERGE - IAudioPolicyService interface extension for patch panel

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

Change-Id: Iaabe0a7e315d5725e00a74a6ed40339b98f20330
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
ddde219f2f93c1d81ff1cfaf4d3d31d95156f7a3 20-May-2014 Rachad <rachad@google.com> Merge "Add HEVC decoder support to ACodec bug: 14571712"
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>
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
2472b1c0d63454e5d90a982bd6c555de6c3127bd 06-May-2014 Rachad <rachad@google.com> Add HEVC decoder support to ACodec
bug: 14571712

Change-Id: I221625a42e143cb1c581059694f6730211e251ae
/frameworks/av/media/libstagefright/include/MediaDefs.h
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
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
c26d923712a59e669d18191d93fbe3696789d592 09-May-2014 Glenn Kasten <gkasten@google.com> Allow placement of Pipe buffer to be specified

Change-Id: I2f6b68089ecfe85cd975d29ad0d0afd13c487002
/frameworks/av/media/libnbaio/include/Pipe.h
fe9570c7b937b49d3603ccb394aed732b79bc6be 07-May-2014 Glenn Kasten <gkasten@google.com> Remove obsolete IAudioRecord::getCblk()

Change-Id: Id20b5efd765b9796b0e391610e06dc928a829ebf
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
fc7fca77caa12993dd938d5ff43797d781291027 08-May-2014 Lajos Molnar <lajos@google.com> MediaCodec: add renderAndReleaseOutputBuffer() method with timestamp

Bug: 11784827
Change-Id: Ia1dcbd6c1d1a4380db04b750c0eb3fa0bd58d7b4
/frameworks/av/media/libstagefright/include/MediaCodec.h
96b292fd3c76f9af155ee6f7a8559258eeedc6fd 08-May-2014 Glenn Kasten <gkasten@google.com> Merge "Add client side support for more AUDIO_FORMAT_PCM_*"
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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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>
/frameworks/av/media/libmedia/include/media/IOMX.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libnbaio/include/NBLog.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaSource.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
/frameworks/av/media/libstagefright/include/Utils.h
bcf08569453dcb42730cda3230d5d375a697005b 05-Apr-2014 Lajos Molnar <lajos@google.com> stagefright: add AString constructor from String8

Change-Id: I85b37b6dee4ea9d5f7f1c1a40ff405a01a0c67f1
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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"
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
2301acc6a9c7a3af4ad01f3d1d0f76f13eca7350 17-Jan-2014 Glenn Kasten <gkasten@google.com> Update comments

Change-Id: I5776313b9b49072cd666d28880f0d07cc73f827b
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
684d47301aeddd137fb1ba2e42f9fb8b9e8a6a16 26-Mar-2014 Glenn Kasten <gkasten@google.com> Use symbol AUDIO_SESSION_OUTPUT_MIX from <system/audio.h>

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

Change-Id: Ie7346e93436ddc215cad7d16be555dcb6c277d54
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
85d109a4b0eddd76a8c5cee170bc2bcc99d00118 17-Jan-2014 Glenn Kasten <gkasten@google.com> Document AudioSystem::newAudioSessionId() failures

Change-Id: Iaa168722f362c36bdfa87fe20dc0a59b43cf1ca3
/frameworks/av/media/libaudioclient/include/media/AudioSystem.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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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
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
5205977929c8a63d3bba026c6bd7b4cc1e236627 12-Mar-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Bug: 13415624
Change-Id: I1a824d09ce582ee54753683d30cdc23813c13b6b
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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)
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libnbaio/include/NBAIO.h
f69f9869514730aebe5724c461768507084dfff7 07-Mar-2014 Glenn Kasten <gkasten@google.com> NBAIO::Format_from_SR_C requires audio_format_t parameter

Change-Id: I4b65f6ed2f6ca3608b3a5f88f52a93af0b9b1f4a
/frameworks/av/media/libnbaio/include/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
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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/MetaData.h
c326e1c3d122917462f1cda4f03d9c639ad92902 06-Mar-2014 Glenn Kasten <gkasten@google.com> Remove Format_frameBitShift()

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

Change-Id: I940324dce9b51fd8d7e2e362e12ad74b70e658dd
/frameworks/av/media/libnbaio/include/NBAIO.h
f95a3c4122d67273d930c7d83c3df99f136603ed 06-Mar-2014 Glenn Kasten <gkasten@google.com> Add format parameter to Format_from_SR_C

Change-Id: I891138b7754342fe2a4f02de30ee616dbd078474
/frameworks/av/media/libnbaio/include/NBAIO.h
4d693d6b8cc1283f92f5301daf19a07abc772a2b 06-Mar-2014 Glenn Kasten <gkasten@google.com> Use mFrameSize instead of mBitShift

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

Change-Id: Icb1edefeb6a0e659503f6b7a92c9d15784df9865
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libeffects/factory/include/media/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.
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/MetaData.h
720ad9ddb2ac6b55b0dfbfcd2d8360151d8ac427 04-Feb-2014 Jean-Michel Trivi <jmtrivi@google.com> AudioTrack non-blocking write

Bug 7531968

Change-Id: I6d0e79fa8cab5b6eb36bcc34977f4cf0d7eec8ea
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libnbaio/include/NBLog.h
26cee964ab4e0a2bd6ae9ad199ba78ea9634421c 15-Feb-2014 Ruben Brunk <rubenbrunk@google.com> Handle recording failure more gracefully.

Bug: 13027666
Change-Id: Iec8239bfcd293c8f466b3780e69883b97f387949
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
c940c38242e8e0265db25a646ad63263934f2bb9 13-Feb-2014 Marco Nelissen <marcone@google.com> Merge "Track pid for each session"
d457c970c8d08519cd77280a90b61ae1e342cfe3 11-Feb-2014 Marco Nelissen <marcone@google.com> Track pid for each session

so they can be properly freed.

Change-Id: I6f389035bc29e74e7c367c1c6d0252b180f666b3
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/DataURISource.h
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
01d3acba9de861cb2b718338e787cff3566fc5ec 06-Feb-2014 Glenn Kasten <gkasten@google.com> Fix clang warnings in AudioFlinger

Change-Id: I0fa61025c979709ad7d655bc717df5f194b6089e
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/IMediaHTTPConnection.h
/frameworks/av/media/libmedia/include/media/IMediaHTTPService.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MediaHTTP.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libnbaio/include/NBAIO.h
1ec712f180072a7eb2131be09862921ae62dc2b4 31-Jan-2014 Glenn Kasten <gkasten@google.com> Add FIXMEs about audio_format_t assumption

Change-Id: I0d38241b61f70013573f4a0b9306547afe5f38ad
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
dd432ce03eccf280d83672f95076b6fbd561047f 28-Oct-2013 Changwan Ryu <changwan@google.com> [DO NOT MERGE] Support TS + AC3 for ATSC standard

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

Change-Id: I12016b424bd069413bd6e380ff11484e175e05f3
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libnbaio/include/AudioBufferProviderSource.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libeffects/factory/include/media/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
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
75832930a28fd70f6fc683ed966477ceea810668 24-Jan-2014 Robert Shih <robertshih@google.com> Added support to query ACodec whether adaptive playback is enabled.

Change-Id: I6b0308aa8550c643706959277e46dad586c37297
/frameworks/av/media/libstagefright/include/ACodec.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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
b5ccb2d99b2af400c70777a6452f090ac14f5a96 13-Jan-2014 Glenn Kasten <gkasten@google.com> Make copy of audio_offload_info_t for future use

Change-Id: I515970aa0660418d5d1640fb1bf477e112c89bdd
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
23a7545c4de71e989c2d8ebf1d5b9dcf463c36a9 13-Jan-2014 Glenn Kasten <gkasten@google.com> Document locking rules for mFlags, and fix discrepancies

Change-Id: Id45ba544cc84133ed5e578fb4fd8a11b62211dc1
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
1c5977d03935be8c385e90501b34083714fbdab1 13-Jan-2014 Glenn Kasten <gkasten@google.com> Remove obsolete AudioTrack::processStreamEnd()

Change-Id: I7c01b9d2e109acf8c393d2c3b7b1985f6647d96c
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
7c7be1e05634d96d08210efb4bdeb012ffba440d 20-Dec-2013 Glenn Kasten <gkasten@google.com> Fix some (but not all) unused parameter warnings

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

Change-Id: I0ee7bc13cf64f50b1ea780f4d99899aed20421a0
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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)
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/DataSource.h
d3c079ae9859011d118f94616d0069c2987013ed 28-Oct-2013 Changwan Ryu <changwan@google.com> Support TS + AC3 for ATSC standard

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

Change-Id: I12016b424bd069413bd6e380ff11484e175e05f3
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.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
598de6c701e989385eeffa7c5dfd61f0459a2631 17-Oct-2013 Glenn Kasten <gkasten@google.com> Fix race condition in AudioTrack::pause followed by start

Bug: 11148722
Change-Id: Iec88f00c8510363d4418e4b8d5b34feb06ecf04d
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
b7f82eaed2876bacc3a402182b75323026813c30 04-Oct-2013 Lajos Molnar <lajos@google.com> am aa50cc78: am 56ce7260: IOMX: Add prepareForAdaptivePlayback method

* commit 'aa50cc78be8a1067a0694a97b04d5a24b80af475':
IOMX: Add prepareForAdaptivePlayback method
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
/frameworks/av/media/libmedia/include/media/IOMX.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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
71de2f20e884a380de58148ccdfc8ee70f2d5974 23-Sep-2013 Glenn Kasten <gkasten@google.com> Add missing namespace for AudioTimestamp

Change-Id: I775624b71b4446ee6d1599c6614ab8a8340bbfdb
/frameworks/av/media/libaudioclient/include/media/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>
/frameworks/av/media/libeffects/factory/include/media/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
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.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
/frameworks/av/media/libaudioclient/include/media/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
oundPool.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
a6cdabf38b29ee98bdb3e874b4e2978dbc409624 18-Sep-2013 Marco Nelissen <marcone@google.com> Fully reset SkipCutBuffer state in clear()

b/8543366

Change-Id: I1b90d56ba3d672fd12b4ee91fa9ba24c665126ed
/frameworks/av/media/libstagefright/include/SkipCutBuffer.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
/frameworks/av/media/libstagefright/include/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>
/frameworks/av/media/libeffects/factory/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/MonoPipeReader.h
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/MonoPipe.h
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
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/NBAIO.h
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
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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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)
/frameworks/av/media/libaudioclient/include/media/AudioTimestamp.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
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
33142e1e318c0c766a385d88d2434f62f9e2dfe7 24-Aug-2013 Chong Zhang <chz@google.com> Merge "wifi-display: pass session info to wifi display settings" into klp-dev
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
/frameworks/av/media/libmedia/include/media/IDrm.h
87ecf19404586672008e98babc225e094292ceb5 06-Jun-2013 Chong Zhang <chz@google.com> wifi-display: pass session info to wifi display settings

Bug: 9371882

Change-Id: I9e4b8c2154b03ce8ff3e14c465a5224bb6e8db9a
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
dcb89b3b505522efde173c105a851c412f947178 06-Aug-2013 Chong Zhang <chz@google.com> MediaPlayer: add listener for raw track data

Bug: 10326117

Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
/frameworks/av/media/libmedia/include/media/mediaplayer.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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
e198c360d5e75a9b2097844c495c10902e7e8500 13-Aug-2013 Glenn Kasten <gkasten@google.com> Whitespace

Change-Id: Id3ccc183a03421330d0498faaa62a45915cdc3d6
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
2fc14730e4697a6f456b4631549c9981f6b0b115 05-Aug-2013 Glenn Kasten <gkasten@google.com> Comments

Change-Id: I56f82904cb3855bad6f33ad1ff4ddf66a61c5720
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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>
/frameworks/av/media/libmedia/include/media/IOMX.h
deeef54487a34034dc0cfaab20b20d557224c07c 02-Aug-2013 Mathias Agopian <mathias@google.com> separte producer and consumer interfaces

Bug: 9265647
Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaErrors.h
7cd9cf70e36ad4b8eb12e24f9adbbe6fd69edebd 01-Aug-2013 Glenn Kasten <gkasten@google.com> AudioRecord notification frames

Change-Id: I76ec536d1504eb9a558178b62bf225aace4b40d1
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
28f1351369682801e1bb40a835bdae3c97b73c1c 31-Jul-2013 Glenn Kasten <gkasten@google.com> AudioRecord callback thread waits for priority boost

Change-Id: Iae38fa4ac20a45751566169213a08a15deb0a2f6
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
f0f33c4acd231fa95deb9eeef2c46b0129e64463 31-Jul-2013 Glenn Kasten <gkasten@google.com> AudioRecord has no default sample rate

Change-Id: I72feefdd6f3a623fd3669b80d4b264518fdc0929
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
6ca126d5c83386941c5cb9600099e5510e4430d6 31-Jul-2013 Glenn Kasten <gkasten@google.com> Make AudioRecord and AudioTrack comments more similar

Change-Id: I122a7cf7bfc162090cb27f37c325db7a23985bc7
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
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
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
4d74828fc0f6c13d49a36147a4250bcfa8ad0a47 19-Nov-2012 Glenn Kasten <gkasten@google.com> Remove default channel mask in AudioRecord constructor and set()

Change-Id: I22ad4ba8777842bf6705e79c6ad796fdb9a4104c
/frameworks/av/media/libaudioclient/include/media/AudioRecord.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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
eced2daaa6c91a3731eef978ce65c6ec319c5e6a 17-Jul-2013 Glenn Kasten <gkasten@google.com> Use correct type for OutputDescriptor::format

Change-Id: Ide608ef452d57da29b708180d90470361c123d1d
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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>
/frameworks/av/media/libstagefright/include/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>
/frameworks/av/media/libmediaplayerservice/include/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>
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
4182c4e2a07e2441fcd5c22eaff0ddfe7f826f61 15-Jul-2013 Glenn Kasten <gkasten@google.com> Use AudioSystem::setLowRamDevice() to configure memory

Bug: 9798886
Change-Id: I9321e3f369f1ed9429ae222e3926ebdeb012b8b0
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/foundation/ANetworkSession.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IOMX.h
fb1fdc9d6603aa228362e7349451f6455c9849c2 11-Jul-2013 Glenn Kasten <gkasten@google.com> Add comments

Change-Id: Ifbf3a46a4183c8abc0feee1c588953ab10303cc1
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libnbaio/include/NBLog.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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libmedia/include/media/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>
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/Utils.h
3b6d6b1b95b9aefc4b2c78808ad7c873f1e8f0f5 26-Jun-2013 Lajos Molnar <lajos@google.com> Merge "Adds VP9 decoding support for stagefright."
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.
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
e2ffd5b583da9d30d96710b0e8879e90b2b51d30 13-Jun-2013 Glenn Kasten <gkasten@google.com> AudioRecord must be used as sp<> only

Bug: 9423855
Change-Id: I78ba8228c60dff11fb466156bb632c5dda45cdaf
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libstagefright/include/ACodec.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
oundPool.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libstagefright/include/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)
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IHDCP.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaErrors.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
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
5544c66ba0aa789a997b376df503a5ffae425dc7 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IDrm.h
/frameworks/av/media/libmedia/include/media/IDrmClient.h
0cb126a34fe32f81c830858102471e7be2ce85b1 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b
/frameworks/av/media/libmedia/include/media/IDrm.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IDrm.h
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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/ICrypto.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
/frameworks/av/media/libstagefright/include/MediaMuxer.h
11287471298193ff51ffb429686f5d63a84a621b 12-Mar-2013 ztenghui <ztenghui@google.com> Add the presentation rotation support

bug:7991013

Change-Id: I10cb034b432876c724baa4974efcb3d67b8a99b6
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IDrm.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
cc82dc6d500023eba6048616301a4b12682458db 08-Feb-2013 Jeff Tinker <jtinker@google.com> Implementing MediaDrm APIs

Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
/frameworks/av/media/libmedia/include/media/IDrm.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
99617adda9bc46c43f511f0940bc735c73de61de 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor or IGraphicBufferProducer

Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
33da402287605e40e189289b11a08b8f5d515818 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor or IGraphicBufferProducer

Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IStreamSource.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/SingleStateQueue.h
538f498bbd5a2da51c9037a2689afc97f8bded8f 26-Nov-2012 Glenn Kasten <gkasten@google.com> Add template class SingleStateQueue

Change-Id: If7e2bc9b2a216524ee9cbb68682e2634933b4973
/frameworks/av/media/libmedia/include/media/SingleStateQueue.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
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/BufferProducerWrapper.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/BufferProducerWrapper.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/NBLog.h
409e3749a5627f1b360feb1479fcd341067a90b8 27-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Logging to investigate a crash"

This reverts commit f0ff908da019a44115109f1b4d1b6864b35a8a29.
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
3c3c527a792249d07938c5c6cb9b465344a22383 27-Feb-2013 Glenn Kasten <gkasten@google.com> Revert "Logging to investigate a crash"

This reverts commit f0ff908da019a44115109f1b4d1b6864b35a8a29.
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.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
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/NBLog.h
1a2952aee048ca7b1765e2bc09ebe9aeddaeafa3 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/NativeWindowWrapper.h
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
b1e7cd156ca3e1747374e0d20cdd1ce467210453 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/NativeWindowWrapper.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libstagefright/include/MediaAdapter.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaAdapter.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IHDCP.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IHDCP.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
6f1c1918d0dfece10f728711b055441e4d135c73 19-Jan-2013 Glenn Kasten <gkasten@google.com> Add media.log service based on NBLog

Change-Id: Ie45093df6ac9a739d05c8d408fab52a9a8a27e7f
/frameworks/av/media/libmedia/include/media/IMediaLogService.h
fdf4e4f1859771b95585cbc87f8cd038ea2815c6 19-Jan-2013 Glenn Kasten <gkasten@google.com> Add media.log service based on NBLog

Change-Id: Ie45093df6ac9a739d05c8d408fab52a9a8a27e7f
/frameworks/av/media/libmedia/include/media/IMediaLogService.h
11d8dfcc063425ae7d59229f54b6752fd8987c10 14-Jan-2013 Glenn Kasten <gkasten@google.com> Add non-blocking event logger NBLog

Change-Id: I6c136cf3d7f46a8af84c69ecfc199dab394c10dc
/frameworks/av/media/libnbaio/include/NBLog.h
10eb4b33545a58e4b09249c30c100bc7b992250a 14-Jan-2013 Glenn Kasten <gkasten@google.com> Add non-blocking event logger NBLog

Change-Id: I6c136cf3d7f46a8af84c69ecfc199dab394c10dc
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
f37971f624164c3ed185d3f976404a6f60f49b9a 03-Feb-2012 Glenn Kasten <gkasten@google.com> Remove unnecessary parameter

Just get the parameter on server side

Change-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplayClient.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplayClient.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
ef5abc369823f634c460c8f24d3cbf310542fe3b 07-Dec-2012 Glenn Kasten <gkasten@google.com> Logging to investigate a crash

Bug: 6490974
Change-Id: Ib926a9258bde4ee05ed42eea662dff68e426a997
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
516dacfb02d0b0eafe21114330c98ce0e7d90da9 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
/frameworks/av/media/libstagefright/include/MetaData.h
e9810fae2ca6620337b75a787786cc0ea52adecd 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
01437b7cdaecf53acb46b50ff8b5d86b9d36eb20 29-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack inline short const methods

Change-Id: I142917edb454d510bbe545e94e6eaea30b650fae
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
ab5bfb15f63887f999f11239e12d78a7babcd112 29-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack inline short const methods

Change-Id: I142917edb454d510bbe545e94e6eaea30b650fae
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
3b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use uint32_t for sample rate

Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
1127d65d536ebbe447ee17ce0926a7ce4a2a3c08 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use uint32_t for sample rate

Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
020f79fd967736d36c7ec860814e2e93866a020f 07-Nov-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: I85d7d2f6381b251db5695202fec75128883a8662
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
a552d6049ccf674b083d011ce7b8a443a9cd68a4 14-Nov-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioSystem methods

Change-Id: I952d504e03af9a1d3e1e0aa379c82dfb00197d9f
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
f6fd99cc07deb0fa4f3e8fc278836bd90649964f 14-Nov-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioSystem methods

Change-Id: I952d504e03af9a1d3e1e0aa379c82dfb00197d9f
/frameworks/av/media/libaudioclient/include/media/AudioSystem.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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"
d5ed6e88a9bea1879e41d7defaf1edea7c09f554 02-Nov-2012 Glenn Kasten <gkasten@google.com> Fix call to restoreTrack_l() without lock held

Also document lock order

Change-Id: I2c1f273a0a51fa79ee3dd766de8d23083e270051
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
05d499958e4030938ed77a924ebdd9899f36752e 06-Nov-2012 Glenn Kasten <gkasten@google.com> Remove unused fields in AudioTrack::Buffer

Change-Id: Iab75f6e2348d8b6d1f3cec95aeb3fcd5135dfb50
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
8424361609e0a94b9a240b43920529a84a63ed15 06-Nov-2012 Glenn Kasten <gkasten@google.com> Remove unused fields in AudioTrack::Buffer

Change-Id: Iab75f6e2348d8b6d1f3cec95aeb3fcd5135dfb50
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
26ba972eafde73a26271ecf027a1d5988ce50eb8 22-Jun-2012 Glenn Kasten <gkasten@google.com> Removed unused fields in AudioRecord::Buffer

Change-Id: I89fc6d8f695b48516d956b0a9a4a43d408f369f9
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
6608582c5fc4dc4041d18d0e619fb3042380607b 22-Jun-2012 Glenn Kasten <gkasten@google.com> Removed unused fields in AudioRecord::Buffer

Change-Id: I89fc6d8f695b48516d956b0a9a4a43d408f369f9
/frameworks/av/media/libaudioclient/include/media/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"
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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
847d05dc8fa144dcf8f4f435d6a6ac1727f00937 28-Feb-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioTrack APIs

Change-Id: I88be6525f3e33df529c0c3cb701d12a484809477
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
7c28540fccf996bed1744686aca1ee9e67b9cf22 28-Feb-2012 Glenn Kasten <gkasten@google.com> Remove deprecated AudioTrack APIs

Change-Id: I88be6525f3e33df529c0c3cb701d12a484809477
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
c28c03b0b819d705522929852ecdb5a8bb50b13b 01-Nov-2012 Glenn Kasten <gkasten@google.com> AudioRecord comments

Change-Id: Ibec910608948d778dc655d900255a80384e9b06f
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
c4bae46d8bc833f200c2d460df73d42130efb5bc 01-Nov-2012 Glenn Kasten <gkasten@google.com> AudioRecord comments

Change-Id: Ibec910608948d778dc655d900255a80384e9b06f
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
c5b0fa3b2f6d9ac3aa274b973c331399312adf76 01-Nov-2012 Glenn Kasten <gkasten@google.com> AudioTrack comments

Change-Id: I08988f635c5bc6f4c35e9c4188f3d6fa557bc4c2
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
85ab62c4b433df3f1a9826bed1c9bec07a86c750 01-Nov-2012 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: Ib28fd7b9ce951a6933f006e7f8812ba617625530
oundPool.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
8af901cdea0af7e536579dee6d56e69987035a01 01-Nov-2012 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: Ib28fd7b9ce951a6933f006e7f8812ba617625530
oundPool.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.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
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libnbaio/include/NBAIO.h
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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaCodec.h
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
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
003d9f71937070791418bf7efc1f7fe1e4c6b821 28-Sep-2012 Glenn Kasten <gkasten@google.com> Enable write side of MonoPipe to be shutdown

Bug: 7253033
Change-Id: Iea8390763b59ffa7a8e2a6b77dd04ea23442698f
/frameworks/av/media/libnbaio/include/MonoPipe.h
9bb6e65def86afb36a03643c50456e646cdf98a8 28-Sep-2012 Glenn Kasten <gkasten@google.com> Enable write side of MonoPipe to be shutdown

Bug: 7253033
Change-Id: Iea8390763b59ffa7a8e2a6b77dd04ea23442698f
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
cc0f1cfb69ce8b8985fc2c0984847a06a13ad22d 24-Sep-2012 Glenn Kasten <gkasten@google.com> Implement android.media.AudioManager.getProperty()

Bug: 6635041
Change-Id: I3386a4a6c226bc4eceaf65556119e4fb15f73224
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
4c6db4ce1e2760682d1c9e66448dbb39bb5d14d8 24-Sep-2012 Glenn Kasten <gkasten@google.com> Implement android.media.AudioManager.getProperty()

Bug: 6635041
Change-Id: I3386a4a6c226bc4eceaf65556119e4fb15f73224
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
207e18540fefbaf530a4fdf506d266f34ddec84f 21-Sep-2012 Andreas Huber <andih@google.com> Remove legacy code and APIs in wifi display related code.

Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
45d76bb6c8f15335f89c287dbae04cc38f79d0a8 21-Sep-2012 Andreas Huber <andih@google.com> Remove legacy code and APIs in wifi display related code.

Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
efbb781c15abf8e085f5ab8d39710bd58ea0b6e4 18-Sep-2012 Andreas Huber <andih@google.com> HDCP module binderized

Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
59451f8ced48874427ff1550391c4f3cd2ba2e35 18-Sep-2012 Andreas Huber <andih@google.com> HDCP module binderized

Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
03e2ffa64470eec4e886614a4fa4facbae58a862 14-Sep-2012 Andreas Huber <andih@google.com> Support IDR requests in wifi display, MediaCodec and ACodec.

Change-Id: I596cf8dd61b63465437f78413186fad2be287244
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
00f41327264fa2e59cc05abaa5c554b2a32938e1 12-Sep-2012 Andreas Huber <andih@google.com> Throttle SurfaceMediaSource.

Change-Id: I214ce60f8d94df9c07041577e34ed1ad5e199fdb
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
b62f95145293bf1a39959166a4964088bb413224 12-Sep-2012 Andreas Huber <andih@google.com> Throttle SurfaceMediaSource.

Change-Id: I214ce60f8d94df9c07041577e34ed1ad5e199fdb
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/OMXCodec.h
2e5f22e85d177b34e790f832789d03aee438a7db 24-Aug-2012 John Grossman <johngro@google.com> Add a small hook to support gapless in AAH.

Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
5f7e55ea443c80ef8b6173efd1c2551e07309b0a 24-Aug-2012 John Grossman <johngro@google.com> Add a small hook to support gapless in AAH.

Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
/frameworks/av/media/libmediaplayerservice/include/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
/frameworks/av/media/libmedia/include/media/IRemoteDisplay.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IRemoteDisplay.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/Utils.h
e104596061b219e9bce6d4db49a9d15242f8d2e5 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Implement remote display service stubs.

Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplay.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplayClient.h
2013a54981d4ffb036dff279b88cc9f08c0ee1c2 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Implement remote display service stubs.

Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IRemoteDisplay.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IStreamSource.h
330accb419ebfb1d8b9d7dcc3b616f56f737f29a 31-Aug-2012 Andreas Huber <andih@google.com> Added an additional virtual method IStreamSource::flags().

Change-Id: I89e62d84328e12f08c8f73cbfd53cfb42569de97
/frameworks/av/media/libmedia/include/media/IStreamSource.h
c3ae93f21280859086ae371428ffd32f39e76d50 30-Jul-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
2662ac9220c9e07cd343e78bf3a0c21ca3e4ffd1 30-Jul-2012 Glenn Kasten <gkasten@google.com> Update audio comments

Change-Id: Ie7504d0ddb252f7e4d4f99ed0b44cfc7b1049816
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libnbaio/include/AudioBufferProviderSource.h
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
/frameworks/av/media/libnbaio/include/LibsndfileSink.h
/frameworks/av/media/libnbaio/include/LibsndfileSource.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/MonoPipeReader.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/Pipe.h
/frameworks/av/media/libnbaio/include/PipeReader.h
/frameworks/av/media/libnbaio/include/SourceAudioBufferProvider.h
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libaudioclient/include/media/AudioBufferProvider.h
/frameworks/av/media/libmedia/include/media/ExtendedAudioBufferProvider.h
/frameworks/av/media/libnbaio/include/AudioBufferProviderSource.h
/frameworks/av/media/libnbaio/include/AudioStreamInSource.h
/frameworks/av/media/libnbaio/include/AudioStreamOutSink.h
/frameworks/av/media/libnbaio/include/LibsndfileSink.h
/frameworks/av/media/libnbaio/include/LibsndfileSource.h
/frameworks/av/media/libnbaio/include/MonoPipe.h
/frameworks/av/media/libnbaio/include/MonoPipeReader.h
/frameworks/av/media/libnbaio/include/NBAIO.h
/frameworks/av/media/libnbaio/include/Pipe.h
/frameworks/av/media/libnbaio/include/PipeReader.h
/frameworks/av/media/libnbaio/include/SourceAudioBufferProvider.h
/frameworks/av/media/libnbaio/include/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
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
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>
/frameworks/av/media/libmediaplayerservice/include/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>
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
58e5aa34f01d663654d8bafad65db1dda42161ff 20-Jun-2012 Glenn Kasten <gkasten@google.com> effect_descriptor_t const correctness

Change-Id: Iad008f20d35a18acf500f773900164552fd0c19e
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
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
/frameworks/av/media/libmedia/include/media/mediaplayer.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
28b76b334f92a15a2be3cc9e2f7d229a3275d1ac 04-Jul-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t for channel mask

Change-Id: I1c1896da48983aa9f1462a4b471f910498816f60
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
d4070955e28ae62aa4be1657f9d32acde104bb86 12-Jul-2012 Glenn Kasten <gkasten@google.com> Remove dead code in libmedia

Change-Id: I7d8201590cda29c9fa99662a4fdba222091febfe
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
983995747ed3adaf25035c433df1ccbaa056a898 23-Jan-2012 Paul Fariello <fariello@archos.com> MPEG2TSWriter: Write a proper CRC in PAT and PMT

Change-Id: I6ec8039b176878da6f02691194d96b0a1e894055
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
d4e5af6bc0a012e8d43975ca8b5627631333920d 23-Jan-2012 Paul Fariello <fariello@archos.com> MPEG2TSWriter: Write proper continuity counters for PAT and PMT

Change-Id: If94e31e51c563867db6d2376ad771f9751416084
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
20010053daabfa43fcfe781bbf004473b4c08538 22-Jun-2012 Glenn Kasten <gkasten@google.com> Remove acoustics from AudioSystem::getInput()

Change-Id: I29fb3ee5664c1f0ee0409c1bb2be087ecca637db
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
624a7fcb377f2a40109c16de5109ae8ea1f67a69 22-Jun-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t in AudioRecord

Change-Id: I9e1b918b2635d961604a4a9d88eb1c7179a167a7
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
868a6a357018e5872e064b7a13a9b891e2078962 22-Jun-2012 Glenn Kasten <gkasten@google.com> Include what you use

Change-Id: I12ef9367d05dbe069c037b1b4acd6347a8cf3ece
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
46ec58976b3c04a99ce6e7eda2531543bfb151c7 25-Jun-2012 Glenn Kasten <gkasten@google.com> Merge "Remove AudioRecord record_flags"
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
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
f92eec53f886f43e4374a36195be55f2a7bbcf36 07-Mar-2012 Glenn Kasten <gkasten@google.com> Remove AudioRecord record_flags

Change-Id: I021ddcc1bcb63132a4597d13e3d09db2a5f2c628
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
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
/frameworks/av/media/libaudioclient/include/media/AudioParameter.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
/frameworks/av/media/libstagefright/include/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
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/AudioPlayer.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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b 19-Apr-2012 Dave Burke <daveburke@google.com> Add Fraunhofer AAC encoder with AAC-ELD support.

Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/AACWriter.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
dc7431e70b4b030b5f42d0dfc3ef244d4f583dd2 23-Apr-2012 Andreas Huber <andih@google.com> Make sure NuMediaExtractor is thread safe.

Change-Id: If261c4d87d5569a0d7cfd75afe311803a6ce0109
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/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"
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
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/timedtext/TimedTextDriver.h
0ca3cf94c0dfc173ad7886ae162c4b67067539f6 18-Apr-2012 Eric Laurent <elaurent@google.com> rename audio policy output flags

Change-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
4a4a0959bca78e03e3c3f486ba17829c28314d8c 19-Mar-2012 Glenn Kasten <gkasten@google.com> AudioTrack client fast policy

Change-Id: I42ce691df3f586ac061b62237f35a263a0116f1f
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
df7e6ea0c755fb95a77d21010105e3a2eac69ff8 30-Mar-2012 Mathias Agopian <mathias@google.com> reduce IPCs in BufferQueue

Change-Id: I1f8c32a771a411476d225adc62d1f07c24f39a3e
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
oundPool.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
/frameworks/av/media/libmedia/include/media/ICrypto.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.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
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/IMediaRecorderClient.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
/frameworks/av/media/libmedia/include/media/MemoryLeakTrackUtil.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
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/MetadataBufferType.h
/frameworks/av/media/libstagefright/include/OMXPluginBase.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Audio.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Component.h
/frameworks/av/media/libstagefright/include/openmax/OMX_ContentPipe.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Core.h
/frameworks/av/media/libstagefright/include/openmax/OMX_IVCommon.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Image.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Index.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Other.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Types.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
679ab0b0792846a89162ce41c953819d70030112 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use AudioRecord::record_flags consistently

Change-Id: I6f369a2b99eb515603bc7d5629a07db2b96783fe
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/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>
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodecList.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
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."
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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
606ee61616efdba4696ae591ad10a4be33d8c946 25-Feb-2012 Glenn Kasten <gkasten@google.com> AudioRecord const methods

Change-Id: Ifae4fd7820b650aaca2b13c8658c292db1c46c0f
/frameworks/av/media/libaudioclient/include/media/AudioRecord.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
/frameworks/av/media/libstagefright/include/timedtext/TimedTextDriver.h
9eeafeb52fecf90882e9b44eeefcb7c3e16aa915 25-Feb-2012 Mathias Agopian <mathias@google.com> remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
/frameworks/av/media/libstagefright/include/HardwareAPI.h
417c27304c67057779693007a7bc08e4dd80c262 24-Feb-2012 Glenn Kasten <gkasten@google.com> Fix typos and line length in AudioRecord comments

Change-Id: I85cfb9a2b9b3ade098161aa7687b4d4f7eb226ea
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaCodec.h
/frameworks/av/media/libstagefright/include/MediaErrors.h
/frameworks/av/media/libstagefright/include/NativeWindowWrapper.h
/frameworks/av/media/libstagefright/include/NuMediaExtractor.h
/frameworks/av/media/libstagefright/include/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>
/frameworks/av/media/libmediaplayerservice/include/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>
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
/frameworks/av/media/libmedia/include/media/MemoryLeakTrackUtil.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
f1d5aa162c02a16b7195a43a9bcea4d592600ac4 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
/frameworks/av/media/libstagefright/include/MediaDebug.h
38f5d71e72f3b76c5b519614d27f051d53cd2712 08-Feb-2012 Glenn Kasten <gkasten@google.com> Remove dead code AudioTrack::getLoop

Change-Id: I868329c52f31bc20125f068500d8f892b4ec9796
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
5e92a7861196ddae14638d4b7a63fc4892b7ef59 30-Jan-2012 Glenn Kasten <gkasten@google.com> Effect UUID inputs passed by pointer are const

Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
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
/frameworks/av/media/libstagefright/include/OMXCodec.h
60c2b4ece6528d6d3f4e9e2c7e45772b65c4b87d 04-Feb-2012 James Dong <jdong@google.com> Don't call virtual function in destructor of SurfaceMediaSource

Change-Id: I3cbc2b1222335b61c814b5cdcfaefa495148b0ec
/frameworks/av/media/libstagefright/include/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"
a5224f319e2ba4b51ddb4287705ccf8d4b8ecc51 04-Jan-2012 Glenn Kasten <gkasten@google.com> AudioTrack declare more methods const

Change-Id: I4999e984460893961d0d8092cff17f3cf07d7214
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/Visualizer.h
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
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/AACWriter.h
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/IOMX.h
211eeaf17e5565b68447d29799dbf158a33cf4cf 20-Jan-2012 Glenn Kasten <gkasten@google.com> More audio_stream_type_t

Change-Id: I1260259efe0aa3fc1ef13de69758aaa592e1f815
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
de9719b3ec71472e6bf75117152176af51d1a515 27-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_in_acoustics_t consistently

Change-Id: I0a9dd668fb2e57b1c3ece3190588194974b99062
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libstagefright/include/AudioSource.h
2b1892db4a2ab47bfc09e59a4c11751aea99e4ea 26-Jan-2012 Andreas Huber <andih@google.com> The software AAC encoder is now an OMX component.

Yay.

Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
/frameworks/av/media/libstagefright/include/OMXCodec.h
335787fe43596f38ea2fa50b24c54d0823a3fb1d 21-Jan-2012 Glenn Kasten <gkasten@google.com> Remove AudioFlinger dependencies on client

Change-Id: Ibb591e41a3ca5d7015e2b66b98b8fef5f415fb37
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/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
hread_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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
0b07b8085d7b837b4dd5f09e0c8c39408f6bdbf7 18-Jan-2012 Glenn Kasten <gkasten@google.com> Remove dead setRingerMode(mode, mask)

Change-Id: Ia4cc8be8424a40b3dcb7ebd0264fdff4e5247f7f
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
63ad6aacc6ce6b729bf25f41376cfea731a2c1eb 18-Jan-2012 Eric Laurent <elaurent@google.com> Merge "audio framework: manage stream volume per device"
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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/Visualizer.h
613882293184e575a44bff681a3decaefe889e69 17-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use size_t for frame size"
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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
362c4e697d8e9c034e964ac7b40227e054491547 14-Dec-2011 Glenn Kasten <gkasten@google.com> Audio C++ comments

Change-Id: I84906ebb9dfcfa5b96b287d18364b407f02a30c1
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.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
/frameworks/av/media/libmedia/include/media/IStreamSource.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
b68a91a70bc8d0d18e7404e14443d4e4020b3635 15-Nov-2011 Glenn Kasten <gkasten@google.com> Make AudioTrack a RefBase so wrappers not needed

Change-Id: I2305abe586ac41251af04a194bc818c110a1b293
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libstagefright/include/MetaData.h
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
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.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
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
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IOMX.h
f337772630b0a1b48d7828647d1079ebdc22919d 13-Oct-2011 Andreas Huber <andih@google.com> Merge "Support for an MPEG2 Program Stream extractor."
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>
/frameworks/av/media/libstagefright/include/OMXCodec.h
2944eca607304a095ea43ba2b8f0b9de61249f9f 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
/frameworks/av/media/libstagefright/include/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>
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/ACodec.h
669012d77b00a2aacb6fd12837f2870f9ec17865 20-Sep-2011 James Dong <jdong@google.com> Add QVGA resolution to CamcorderProfile

Change-Id: Icebbafb68d8164370f98a2c36699845d10ef081b
related-to-bug: 5145483
/frameworks/av/media/libmedia/include/media/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/mediascanner.h
d681bbb1767bed09415e050ba78975df214bcd68 30-Aug-2011 Dave Burke <daveburke@google.com> Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.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
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
af6764da53c022768290e735bbcc3088bec333d8 31-Aug-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Fix SurfaceMediaSource timestamp handling."
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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
5df775d2f509c76e76a46615fca83dba95299f6e 26-Aug-2011 Andreas Huber <andih@google.com> Support for posting messages and synchronously waiting for a response.

Change-Id: Id6c7a08c34fd5cb6c4632f78ece9e7898b29e52c
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/SurfaceMediaSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/MediaProfiles.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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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.
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MediaBuffer.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
/frameworks/av/media/libmedia/include/media/mediaplayer.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
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/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
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/MetadataBufferType.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/DataSource.h
1a2fafbaa36390a06cc9a066fcbe147c8c47ea77 01-Jul-2011 Pannag Sanketi <psanketi@google.com> Renaming SurfaceEncoder to SurfaceMediaSource

Related to bug id: 4529323

Change-Id: Id820d45a536bd2c65e0a59def564eb5b3ea4a71c
/frameworks/av/media/libstagefright/include/SurfaceEncoder.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libstagefright/include/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
/frameworks/av/media/libmedia/include/media/mediascanner.h
/frameworks/av/media/libstagefright/include/StagefrightMediaScanner.h
cabd5f867ec69c0dfe8333cba46323cb58917402 07-Jul-2011 Hong Teng <hongteng@google.com> fix for issue 4142219
Don't hard code platform-specific limitations-jni/java part

Change-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
4a621e6d3438876eb1d9001719c688a2329ee675 19-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "MediaPlayer: add ANativeWindow (dis)connect calls"
db4d3717b4677b3239546a248dc0a7d82db4ba50 18-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add option to query hardware decoders only"
df57a0d6d3b0609e69ff79afa63fe44dfa91f6f5 18-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Add option to query hardware decoders only

Add an option to OMXCodec::QueryCodecs() to filter out
software codecs.

Update stagefright command line tool to list the roles of codecs.

Change-Id: Icddb79118c30fe13cc3aea20f340174cc082c4e0
/frameworks/av/media/libstagefright/include/OMXCodec.h
7c7f10bd4fda9a084e5e7f0eb3a040dfcbf01745 18-Jun-2011 Eric Laurent <elaurent@google.com> Audio framework: support for audio pre processing

Audio effect framework is extended to suport effects on
output and input audio path.

AudioFlinger: Support for audio effects and effect chains is
moved from PlaybackThread class to ThreadBase class so that
RecordThread can manage effects.
Effects of type pre processing are allowed on record thread
only. When a pre processing is enabled, the effect interface handle is
passed down to the input stream so that the audio HAL can call the
process function. The record thread loop calls the effect chain process
function that will only manage the effect state and commands and skip the
process function.

AudioRecord: The audio session is allocated before calling getInput() into
audio policy serice so that the session is known before the input theead is
created and pre processings can be created on the correct session.

AudioPolicyService: default pre processing for a given input source are
loaded from audio_effects.conf file.
When an input is created, corresponding effects are created and enabled.

Change-Id: Id17119e0979b4dcf189b5c7957fec30dc3478790
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
a57a9a491272aa884494b2ec7854960827a73742 16-Jul-2011 James Dong <jdong@google.com> Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens

o Deal with vendor codec hang bug

Change-Id: Ic8449afd43045f09a9e0bd3d1be9a320e59ccabe
/frameworks/av/media/libstagefright/include/OMXCodec.h
61c7ef5bde2c7ed94a078396aa65da67b47e5402 13-Jul-2011 Jamie Gennis <jgennis@google.com> MediaPlayer: add ANativeWindow (dis)connect calls

This change makes MediaPlayer connect to the ANativeWindow to which it
is going to render video frames and disconnect when it is done.

Change-Id: I88ab5c2fe62493aabdc84a283ff31634f795d415
/frameworks/av/media/libmedia/include/media/mediaplayer.h
15825c7b6f6b19092a5949b4e46aea4fa229932c 14-Jul-2011 James Dong <jdong@google.com> Merge "Support profile and level query for SW video decoders"
dab718bba3945332dc75e268e1e7f0fe2eb91c4a 14-Jul-2011 Andreas Huber <andih@google.com> Remove legacy http support from stagefright, chromium is the new hotness.

Change-Id: I6725d42d38b91e6a1cbca43174870f445aeb3d99
/frameworks/av/media/libstagefright/include/ShoutcastSource.h
42e549e4ab54802d788c43e3a04a85b7a1a95e97 13-Jul-2011 Andreas Huber <andih@google.com> Enable signalling of a stream discontinuity involving a format-change

through IStreamListener.

Change-Id: Ic0409cdc4891ad26b61f2f98bdda3c7fb2e2de6a
related-to-bug: 5022434
/frameworks/av/media/libmedia/include/media/IStreamSource.h
5a5f9d636ed6c116993c6cad5abdad7a734992e8 12-Jul-2011 James Dong <jdong@google.com> Make MetadataBufferType.h C-friendly

Change-Id: I4388d8f6cf30f08858aec73aa971647feae4a5e3
/frameworks/av/media/libstagefright/include/MetadataBufferType.h
3623b481fa2734b95d4553dafabca931e5d0502a 11-Jul-2011 James Dong <jdong@google.com> Merge "Do not wait for unlaunched threads in stop()"
411ba422e3635d534928ffd81abf54f4f291c739 09-Jul-2011 James Dong <jdong@google.com> Do not wait for unlaunched threads in stop()

Change-Id: If681749753bb96ee98c1539658cfd919eeb0cb65
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
457116d3a01618acf9a875020ca5860551ba03a6 11-Jul-2011 James Dong <jdong@google.com> Support profile and level query for SW video decoders

Change-Id: I9c20db128be96cd36cf2083e08e8c21f5e6d1fdf
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
ae4c1ac6401185539c03ce0819e174fd1b04b136 09-Jul-2011 James Dong <jdong@google.com> Release camera if CameraSource::start() has not been called

Change-Id: I2f7e4b8501db3d80b9aa6f99d896d778bec29e8c
/frameworks/av/media/libstagefright/include/CameraSource.h
6d8b694d999e9be7d5dcc336535832a80fb6f61f 24-Jun-2011 Eric Laurent <elaurent@google.com> Moved and renamed effect API header files

Moved specific effect header files to
system/media/audio_effects/include/audio_effects
and renamed to lower case (effect_xxx.h).

Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
ffectBassBoostApi.h
ffectEnvironmentalReverbApi.h
ffectEqualizerApi.h
ffectPresetReverbApi.h
ffectVirtualizerApi.h
ffectVisualizerApi.h
/frameworks/av/media/libmedia/include/media/Visualizer.h
5895e970ae119210773a5184c019178e2516b132 06-Jul-2011 Gloria Wang <gwang@google.com> Merge "- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager"
0d0edfb024f65f7e1097bf1814ae229ce9cb367d 27-Jun-2011 Gloria Wang <gwang@google.com> - Retrieve is_drm in MediaMetadataRetriever.
- Add one more column in MediaStore to indicate whether a
media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager

Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
13b263c0fb2f03f12089150c3d05b545c25257ca 01-Jul-2011 Andreas Huber <andih@google.com> Merge "Charge network traffic to the uid of the process using the MediaPlayer."
3eeab1a71b7e222b60c5413916c2f3c7ec61e37d 01-Jul-2011 James Dong <jdong@google.com> Merge "Add extended metadata buffer support by defining different types of metadata buffers"
9b80c2bdb205bc143104f54d0743b6eedd67b14e 01-Jul-2011 Andreas Huber <andih@google.com> Charge network traffic to the uid of the process using the MediaPlayer.

Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067
related-to-bug: 4517282
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
0bb6b4c5da2451ee0973372b0a3858b15c742689 30-Jun-2011 Andreas Huber <andih@google.com> Support a "secure input buffer" mode for use by Widevine DRM in OMXCodec.

Change-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
32eea24fe93fd43e8078b1080db17304b27ed95a 28-Jun-2011 James Dong <jdong@google.com> Add extended metadata buffer support by defining different types of metadata buffers

Change-Id: I6aa6b5da004c240c9986f6b9036950e234c8bd42
/frameworks/av/media/libstagefright/include/MetadataBufferType.h
3e1763ecdf14769a534f75e94a56785f63174b47 28-Jun-2011 Andreas Huber <andih@google.com> Support for writing output data to a provided callback function instead of a file

in MPEG2TSWriter

Change-Id: Ie54a5677c7b789a973aa50b7f197c6db238425bc
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
1065b3f17d3048948e7d522049d1980b90df3dc1 28-Jun-2011 Andreas Huber <andih@google.com> Multiple changes to ACodec/codec tools:

Make sure sf2 does not coalesce input buffers, generalize ACodec's codec
instantiation based on OMXCodec's list of eligible component names.

Some changes/additions to the "sf2" commandline tool

Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s'
New option '-R' renders surface-allocated buffers.

Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.

Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
/frameworks/av/media/libstagefright/include/OMXCodec.h
4ca2c7c913f8bd4ada13aca56d36045d42d1e00f 01-Jun-2011 Wu-cheng Li <wuchengli@google.com> Add framework support for camcorder zoom.

The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.

Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.

ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()

ICameraRecordingProxyListener
dataCallbackTimestamp()

The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.

The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().

bug:2644213

Change-Id: I15269397defc25cbbcae16abc071c8349c123122
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
cb62bc3fe54222cf05824e6f98fefafee552049a 22-Jun-2011 Anu Sundararajan <sanuradha@ti.com> Integrating TI OMAP4 Video Decoder

Added the video decoder component name to kDecoderInfo.
Set the quirks for the video decoder.
Add a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format.
Added a color conversion routine [ from NV12 to RGB ] for thumbnail generation.

Change-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
/frameworks/av/media/libstagefright/include/ColorConverter.h
/frameworks/av/media/libstagefright/include/openmax/OMX_IVCommon.h
8e51d58fca9b7669f271378f9245e180f4360cbc 23-Jun-2011 Gloria Wang <gwang@google.com> - Public part of the Metadata API.
- Modify the media framework test for Metadata.

Change-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf
/frameworks/av/media/libmedia/include/media/Metadata.h
3b573f7bf1c5736d500e39013b8d32478a1429e6 01-Jun-2011 Gloria Wang <gwang@google.com> Timed text display format support:
1. Extract 3GPP global format descriptions
2. Extract 3GPP local format descriptions
3. Define data structure (TimedText) for applications to
retrieve the format metadata

Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
/frameworks/av/media/libstagefright/include/MetaData.h
3f1545d22a71f960c9598a24e7e48ec16dd16267 14-Jun-2011 Dima Zavin <dima@android.com> Merge "audio: update for audio/audio_policy header names/locations"
7394a4f358fa9908a9f0a7c954b65c399f4268e6 14-Jun-2011 Dima Zavin <dima@android.com> audio: update for audio/audio_policy header names/locations

Change-Id: I36c49352eee57559403cd1597f56a8485a360289
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
965e4239ca1cf6c824c1f8ce23116f9ba8cf6ebd 08-Jun-2011 James Dong <jdong@google.com> Add B frame support for MPEG4Writer

o requires the support of negative ctts duration values (ctts version 1)

Change-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
a0b1d4b161599c2bb2a47119e50c51e75bbe980e 08-Jun-2011 Andreas Huber <andih@google.com> Make dumpsys(media.player) more useful by having AwesomePlayer populate it.

Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
57ca262f8d1c0aabeea294ddb53e4db172fc6bec 03-Jun-2011 James Dong <jdong@google.com> Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h

Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
/frameworks/av/media/libstagefright/include/openmax/OMX_IVCommon.h
b33d2ac90cfce0fe6db8c3e979e7ae2bbfc28163 02-Jun-2011 James Dong <jdong@google.com> Do not call getEstimatedBandwidth if the streaming is not HTTP-based

Change-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261
/frameworks/av/media/libstagefright/include/DataSource.h
d217a8c4632b3e3065f8c2a26b9ce4dc4c97171f 02-Jun-2011 Glenn Kasten <gkasten@google.com> Revert "Use AudioTrack::event_type not int in callback"

This reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
013b5a67d6f8e12a1b06e74863daec1bee4d99c1 05-May-2011 Glenn Kasten <gkasten@google.com> Use AudioTrack::event_type not int in callback

Change-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
8a72c54e74eb365971288a81687e5c2aa47963e7 01-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Use channel mask instead of channel count for track creation"
0d255b2d9061ba31f13ada3fc0f7e51916407176 25-May-2011 Jean-Michel Trivi <jmtrivi@google.com> Use channel mask instead of channel count for track creation

Record and playback objects (resp AudioRecord and AudioTrack)
are created using a channel mask, but this information is lost
in the mixer because only the channel count is known to
AudioFlinger. A channel count can always be derived from a
channel mask.

The change consists in:
- disambiguiting variable names for channel masks and counts
- passing the mask information from the client to AudioFlinger
and the mixer.
- when using the DIRECT ouput, only verifying the format of
the track is compatible with the output's for PCM.

Change-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
5b1b8a93a07326f1cbc627f09e02988375189e0a 26-May-2011 James Dong <jdong@google.com> Send estimated bandwidth value as informational event when cache fetcher pauses

o Application can make informed decision about the available network bandwidth
when cache fetcher pauses.

o Application can also adjust how frequently the bandwidth is estimated within
a range from one second to one minute.

Change-Id: I90068001343e79da1886de03c565537787e1580b
/frameworks/av/media/libmedia/include/media/mediaplayer.h
65580f9adf6c4d98449ad0716488f9fe3869aa5a 28-May-2011 Eric Laurent <elaurent@google.com> Removed interface to load audio effects libraries

Removed unused functions allowing dynamic loading of audio effects libraries
from effects factory API.

Change-Id: I06cc5a51dc10aca87c7a8687bbb874babd711eca
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
e1315cf0b63b4c14a77046519e6b01f6f60d74b0 18-May-2011 Eric Laurent <elaurent@google.com> New effect library API

Moved and renamed media/EffectApi.h to hardware/audio_effect.h
Modified the effect library API to expose a library info structure
containing an interface functions table.
Also removed enums for audio channels, audio format and devices
from effect API and use values from system/audio.h instead.

Modified effects factory to support new library interface format and
load libraries and efffects listed in audio_effects.conf file.
The file audio_effects.conf is first loaded from /vendor/etc and
then from /system/etc/audio_effects.conf if not found.

Modified existing effect libraries to implement the new library interface.

Change-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9
ffectApi.h
ffectBassBoostApi.h
ffectEnvironmentalReverbApi.h
ffectEqualizerApi.h
ffectPresetReverbApi.h
ffectVirtualizerApi.h
ffectVisualizerApi.h
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
8d91237333c60c4a6839358109265e8847df23f3 26-May-2011 Andreas Huber <andih@google.com> Merge "Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams."
965d08ba16ee82bc85f69546360c18e7da907406 11-May-2011 Gloria Wang <gwang@google.com> For out of band timed text support (timed text in a separate file).

Change-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96
/frameworks/av/media/libmedia/include/media/mediaplayer.h
386d609dc513e838c7e7c4c46c604493ccd560be 19-May-2011 Andreas Huber <andih@google.com> Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.

Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
/frameworks/av/media/libstagefright/include/MediaDefs.h
2cf9c5073ca3342ee52673ad68763fadd2c2be79 18-May-2011 James Dong <jdong@google.com> Revert "Add const to the finders method in MetaData.cpp"

This reverts commit 78fed171d9d62b25aa846d7373a7040e3fd2241e.

Conflicts:

include/media/stagefright/MPEG4Writer.h

Change-Id: Ie6f497f67a473ad95b50bb949c1aa49e1804bac3
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
07ec01904613a0bac32caaa8444b4690998faed7 14-May-2011 James Dong <jdong@google.com> Make track informational event optional, depending on system property

o also add a track informational event to return the encoded data in kilo-bytes

Change-Id: I7c383360d57048c8a3606d0b8141ba53e4f4b224
/frameworks/av/media/libmedia/include/media/mediarecorder.h
86b7f47aa7482424cf8fd248f1315311919be3b0 10-May-2011 James Dong <jdong@google.com> Support platform and camera dependent recording start time offset

related-to-bug: 4390777

Change-Id: Icb52973ad4ac716f04fb103ef527915a966d06d5
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
9b1e4f1a18ac2489e24b4272a0a7ccfd0018efcc 14-May-2011 James Dong <jdong@google.com> Merge "Add support for platform-specific recording start time offset"
07b1bb529a1ae76c46a71b01338c166f9490629d 12-May-2011 James Dong <jdong@google.com> Support for storing geo information in the recorded mp4/3gpp file.

o Geo data (latitude and longitude) is stored in udta box

Change-Id: I76e4aeb741c4b339f3753d3d28190151f3ea4919
related-to-bug: 4260295
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
6b25afcd9df2f1f0cc3ae03bf133f75464910560 13-May-2011 Gloria Wang <gwang@google.com> Merge "Add one more DRM error code. For bug 4422428."
5c26937264d9748a3db2a554c188e517523aa31a 13-May-2011 Gloria Wang <gwang@google.com> Add one more DRM error code. For bug 4422428.

Change-Id: I4e333f474c96c0e0f162dde4013ad32b336bebd6
/frameworks/av/media/libstagefright/include/MediaErrors.h
64760240f931714858a59c1579f07264d7182ba2 11-May-2011 Dima Zavin <dima@android.com> update for new audio.h header location

Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libstagefright/include/AudioSource.h
bbba88cb1bdc34705d1477208990a06904c022e7 11-May-2011 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c80992e419ed567abef451042f09c4958534b90d
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 14:00:07 2011 -0700

Support for the mp3 audio decoder as a software OMX component.

Change-Id: I66e10c4d0be4c3aecdef1c21b15a2c7359ceb807

commit a358d0e1bf2a88897887445f42ccdda0f5f2f528
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 13:11:23 2011 -0700

Support for G.711 alaw and mulaw decoders as software OMX components

Change-Id: Ia5c76c02cb83a9f94ce39a27b2251e5880218f03

commit 79088b9c9a5c8b8c97ea66cb4f90a2b0f0d34553
Author: Andreas Huber <andih@google.com>
Date: Thu May 5 15:43:32 2011 -0700

Instead of using an RGB surface and conversion yuv420->rgb565

convert from OMX_COLOR_FormatYUV420Planar to HAL_PIXEL_FORMAT_YV12 instead.

Change-Id: I8c4fc3c54c963f0d4ba6377f3c4ab4e0013152e5
related-to-bug: 4394005

commit 69469d3bd84425777b11b9fc938c5e0c61af26a7
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 15:46:42 2011 -0700

voip mustn't link against libstagefright.so

Change-Id: I4d0ba9a8b9dc9380b792a1bd04bcda231964862c

commit 2a9a9eeeeeb36ae3a9e680469c3016d509ff08c3
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 14:37:10 2011 -0700

Remove most non-OMX software decoders by default

Change-Id: Ic56514bc1b56b8fa952e8c4a164ea7379ecb69d0

commit a4de62c37b335c318217765403a9fb282b20a216
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:50:02 2011 -0700

Conditionally build the old-style software decoders.

Change-Id: I5de609e1d76c92d26d6eb81d1551462258f3f15f

commit 5d8b039f9449dc3dad1e77c42c80cc0b54b0c846
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:13:12 2011 -0700

Support for MPEG4 and H.263 video decoders as soft OMX components.

Change-Id: I5e3a4835afab89f98e3aa128d013628f5830eafe

commit b25a1bfbeb0ff6e62e1cc694ce2599c91489c7d0
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:49:10 2011 -0700

Boost Soft OMX thread priority, fix timestamp handling in vorbis Soft OMX decoder.

Change-Id: I68d26d4999f06fcc451d69e5303663fab0cba9e8

commit c0574362f8dc3319ce84d981097867062a698527
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:28:53 2011 -0700

Support for the AMR decoders (NB and WB) as Soft OMX components.

Change-Id: Ia565f59833fb52653e23f26536e7e41fc329a754

commit 3e5575a8f0e27a490cb7bde77bd9456087837f08
Author: Andreas Huber <andih@google.com>
Date: Wed May 4 13:41:25 2011 -0700

Signal an error if the aac decoder failed to initialize from codec specific data.

Change-Id: I01da7831bdf722edd7d6dc5974486daa2cf2b209
related-to-bug: 4272179

commit f94aeaa9886e772ff4823e671ed237096649f4af
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 13:07:38 2011 -0700

Software OMX nodes don't (yet?) support native_window mode.

Change-Id: I7d9ca9164ef4abf66b573ca21dba12d672f8b12d

commit eefdfabac8dc659e00daa56da69aea705c49cb67
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 12:57:16 2011 -0700

Fixing the OMX tests to refer to appropriate files from test content.

Change-Id: I5b61c3498749bfb876abbd3946a5132356e3f6ff

commit f31b7326aef14b6a1b7946520a9688f092e844d5
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 11:08:38 2011 -0700

Soft OMX components are now dynamiclly loaded/unloaded, not directly linked against.

Change-Id: I1e2ecfbfab67a8869886f738eaf0c7b3c948b6d9

commit b7f0343879e4df06f0a1c9bfece24df557954e2f
Author: Andreas Huber <andih@google.com>
Date: Mon May 2 15:58:36 2011 -0700

Support for the AVC software decoder as an OMX component.

Change-Id: I13c12df435ba4afbd968a9fc659f66b91c818bc2

commit 5bb9e616d6c8e1b13d531fe996b9a9affdfb2977
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:37 2011 -0700

Fix Vorbis OMX decoder's component role.

Change-Id: I5e871e5e11b3f951c93590210e63fd7987c467b5

commit 089c91f2333062e196c7afd5fb0ca914878aa474
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:18 2011 -0700

Support vorbis_decoder OMX testing.

Change-Id: I1985be178a12ae3f8768bc72067d9236238be170

commit 56e241fa36fc37219bc536b823bdc2ab82dc1fad
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:01:46 2011 -0700

SoftVorbis OMX component now respects the number of valid frames per page.

Change-Id: I82a117a064d9b083fc58a54ad900a987a763ef03

commit fcd618ec520c376fdb78f4cbb44b8d9f5d213e2b
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:59:38 2011 -0700

Support for the vorbis audio decoder as a soft OMX component.

Change-Id: Iaeb057e58ca306d3dce205c0445b74d5aefef492

commit d1fcc3203fc8003ad79c6e96b3a1fc4261743f16
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:07:50 2011 -0700

VPX decoder now properly resizes buffers after a port settings change.

Change-Id: I110749a31b6cba087891d8e5dfe420830bdbf831

commit 35c7168243cb69849d88911144a2c7fdfed5c54e
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 13:23:34 2011 -0700

Support for the VPX video decoder as a Software OMX component.

Change-Id: Ic345add2d6d768d4af631160153f2e9b97fcea71

commit 923b2534b4211fc5405377b5190bfa6f2dd27f32
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:34:40 2011 -0700

Table-based registration of soft omx components.

Change-Id: I7f45f0fa5b3a7950776e69c66349731f7674e937

commit 04a88f3edb2266a463da9c4481b80178be460902
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:22:31 2011 -0700

Apparently OMX_GetParameter is valid in any state other than OMX_StateInvalid

OMX_SetParameter is still constrained to OMX_StateLoaded or a disabled port.

Change-Id: I1032d7cf4011982d306aa369d4158a82830d26fb

commit 9d70ca68445e7c40f5c9b2d12466e468f514de88
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 27 15:03:18 2011 -0700

Use the new soft OMX aac decoder for HTTP live playback.

Change-Id: Ifbcfb732a9edb855cb46b49f6d0ac942170ee28f

commit 213fe4a10ea93cce08e8622dc3908053f29878a1
Author: Andreas Huber <andih@google.com>
Date: Tue Apr 12 16:39:45 2011 -0700

Foundation for supporting software decoders as OMX components

Change-Id: I7fdab256563b35d1d090617abaea9a26b198d816

Change-Id: I83e9236beed4af985d10333c203f065df9e09a42
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Video.h
0f056290cb16763453f18bbef80cde673041dbbc 10-May-2011 James Dong <jdong@google.com> Add support for platform-specific recording start time offset

o This start time offset is used in the media framework to eliminate
the recording sound in the recorded file.

Change-Id: I97926a74f0743b8a4f985d51334e8d1486a318ea
related-to-bug: 4390777
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
70ccfd44c4bfe95ddecc2df6c3695efc48229d72 06-May-2011 James Dong <jdong@google.com> Add send session recording summary report to application

Change-Id: I9c63ddae432f0c93486c39776ed0a058a8649602
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
4650ff0e86f9e815e3152a806a06c700418d071d 09-May-2011 James Dong <jdong@google.com> Add const to the finders method in MetaData.cpp

o also fixed the MPEG4Writer writeFtypBox() to take a const pointer to MetaData

Change-Id: Iaecdbe6aeab345f6dc72aac0d19f9704b6e0d28a
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
43ec1dfc5dc3934680a52a026c5519ddc51bdbd3 06-May-2011 James Dong <jdong@google.com> Add end of recording summary track info

Change-Id: I2fcf589e70db225776ef7c8d0f28505ceb824c45
related-to-bug: 1854633
/frameworks/av/media/libmedia/include/media/mediarecorder.h
b21c564ce47041f9dd3ab65e36fed57c4937a42d 07-May-2011 James Dong <jdong@google.com> Refactor MPEG4Writer::writeTrackHeader() method

o most of the mp4 file boxes has its own method now
TODO: remove some of the duplicated code for esds box, for instance.

Change-Id: Iae3dbb2410b79bc79aaee081b80569d339993c47
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
760943b5e7a09b602aba04ec451e97662f48b0a4 21-Mar-2011 James Dong <jdong@google.com> Initial check-in for AACWriter

Change-Id: Ia21ca39a404484b2dda25c6101780d2ff11c4623

related-to-bug: 4211046
/frameworks/av/media/libstagefright/include/AACWriter.h
89dc0dffdcbf0999a854a9b1bbea8f56395cc209 04-May-2011 Gloria Wang <gwang@google.com> Merge "Initial CL for the timed text support: - Add support for MP4 timed text - Add API for app to turn on/off a text track - Add timed text metadata(language) in the MediaMetadataRetriever"
7a1e3e81264189e23a1db2b174e1b5a5d4c7d1c3 04-May-2011 Gloria Wang <gwang@google.com> Initial CL for the timed text support:
- Add support for MP4 timed text
- Add API for app to turn on/off a text track
- Add timed text metadata(language) in the MediaMetadataRetriever

Change-Id: I0055beba38ac761627dbcc6d581ae9582d68bb94
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/MetaData.h
8ce2364512f7c32c824f5ec5719688830ba72427 01-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: android_native_buffer_t -> ANativeWindowBuffer

Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/media/libstagefright/include/HardwareAPI.h
d2b0088df550e3ddfa44dbdfd1cd9a79ff80a2de 30-Apr-2011 Gloria Wang <gwang@google.com> Merge "Add setParameter/getParameter to MediaPlayer API. for bug 1982947"
7340743ce30766af6334bbd9acf813eb66dd5a60 29-Apr-2011 Gloria Wang <gwang@google.com> Add DRM errors in the DRM frameworks to MediaErrors also.
For bug 4350156.

Change-Id: Ib5711ec642178a49203a448b7f5114e675d49394
/frameworks/av/media/libstagefright/include/MediaErrors.h
4f9e47f2c03ce36261c4717cd7e131d7940bb068 26-Apr-2011 Gloria Wang <gwang@google.com> Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
5d4478556299c656b5bb940e83277e01233ec015 28-Apr-2011 Dima Zavin <dima@android.com> Merge changes I22d9e018,Ib0701fcc,Ibc637918,I9eb7e002,I4adcec73

* changes:
audioflinger: don't do work in constructor, instead do it in onFirstRef
audioflinger: enumerate all the possible audio interfaces
audio/media: convert to using the audio HAL and new audio defs
libmedia: move AudioParameter out of AudioSystem
audioflinger: move legacy audio hw/policy out to libhardware_legacy
fce7a473248381cc83a01855f92581077d3c9ee2 20-Apr-2011 Dima Zavin <dima@android.com> audio/media: convert to using the audio HAL and new audio defs

Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
ffectApi.h
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AudioSource.h
6a62b8747b0d0c05ed315d26612d61ca085f32b7 27-Apr-2011 Gloria Wang <gwang@google.com> am d84df054: am 96974931: am 83ddcdf7: Add heartbeat error codes into MediaErrors.h

* commit 'd84df05490e8b102e81cca848f65c174398be1b6':
Add heartbeat error codes into MediaErrors.h
db5cb14318bb24cd6ea14ff7ceea0d5e1f83d903 20-Apr-2011 Dima Zavin <dima@android.com> libmedia: move AudioParameter out of AudioSystem

Change-Id: I9eb7e002d141936258050d4fa4f0ccd8202bfc54
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/media/libaudioclient/include/media/AudioParameter.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
84f64d2a48a267c6517df69dd757c1ead54db036 27-Apr-2011 Gloria Wang <gwang@google.com> Add heartbeat error codes into MediaErrors.h

related-to-bug: 4322415

Change-Id: I78137c61e3a8ce9afcb9fb38cb77a83561b9b72d
/frameworks/av/media/libstagefright/include/MediaErrors.h
c5182e31b23dc381d21ef43b7f7d682ffc54bd79 24-Apr-2011 Mike Lockwood <lockwood@android.com> MediaScanner: reimplement the ".nomedia" feature for hiding files from the media provider

Previously we ignored any files and directories that had name started with '.'
and ignored any directories that contained a ".nomedia" file.
Now to support transferring any file via MTP, we now add these previously ignored files
to the media database, but will not mark them as audio, video, image or playlist files.
That way they will be included in the files table but will be hidden from the
audio, video, images and playlist views that are used by apps like Music and Gallery.

Bug: 3405327

Change-Id: I2d7285bd32e06c1a5c4ef6a8a15f8f8b2c33b39b
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/av/media/libmedia/include/media/mediascanner.h
b483c4724846c0b8d4e82afcbb7c17f671bae81c 12-Apr-2011 Gloria Wang <gwang@google.com> - Add another parameter in notify() to be able to send timed text sample
through listener during video playback.
- Add OnTimedTextListener in the MediaPlayer
For feature request 800939.

Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
c30268b9d118309a0514bcf280a03ee69f81403f 06-Apr-2011 Glenn Kasten <gkasten@google.com> Merge "Miscellaneous code cleanup in audio framework"
4bcae82f9b07d1a39956c45a6f5bec0b696c4dd1 04-Apr-2011 Glenn Kasten <gkasten@google.com> Miscellaneous code cleanup in audio framework

Changes:
- Move declaration of kClassPathName to top of file so it can be used
in more than one place, instead of "android/media/AudioSystem".
- Make private methods static.
- Add comment to stream_type, audio_mode, force_use types that they must match
values in AudioSystem.java.
- Add comment about unused types mp3_sub_format and vorbis_sub_format.
- Fix typos.
- Use @ in javadoc comments.
- Delete dead APIs setMode, getMode, setRouting, getRouting in AudioSystem.java
(they are all hidden, deprecated, and unused by rest of framework)
- Delete unused private log method.
- Fix pathname for android_media_AudioSystem.cpp.
- Improve code formatting for space after == and !=.
- Add logging of delta for changing audio policy manager ref count.

Change-Id: I18037c7beb8ab76d1fda08c11e589f6e591d36e1
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
abf471f9d25f7a3104c5723657e3c6c329f3f08c 05-Apr-2011 Mathias Agopian <mathias@google.com> Remove unused references to ISurface

Change-Id: I542806b5c91c525ed7cde821f6963f1e020ddf1a
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
f8374dec590223ebdd6959b26d9ba90749dd8328 24-Mar-2011 Andreas Huber <andih@google.com> Support for divx files, i.e. mpeg 4 video + mpeg audio layer III in .avi files

Change-Id: I6e1e989c43300ddb0d341e3e9183cdccd69eeae6
related-to-bug: 4192562
/frameworks/av/media/libstagefright/include/MediaDefs.h
6511c9755c3a3360ba869772600c7aae048a7ffc 30-Mar-2011 Andreas Huber <andih@google.com> Stagefright DataSources now expose the underlying content mime type.

Use that mime type to determine if we should do upfront buffering at the start of
playback and don't for audio streams to ensure playback starts fairly instantly.

Change-Id: If21e36d1b024f0e5c723911bceadaa2e0307ab42
related-to-bug: 4090916
/frameworks/av/media/libstagefright/include/DataSource.h
108dddf924d714c811dd565b8f4c7a0178cca2f2 29-Mar-2011 Iliyan Malchev <malchev@google.com> frameworks/base: some camera-interface cleanup

Methods getNumberOfVideoBuffers() and getVideoBuffer() as well as struct
image_rect_struct are no longer used (instead, the necessary information is
passed through ANativeWindow.)

Change-Id: If4b11446fc9ccbde1f6b45bc70c0d0b8e54376eb
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/media/libstagefright/include/CameraSource.h
84b343f29063fbfa2ee61b2e3d37ba059ca507d4 22-Mar-2011 Andreas Huber <andih@google.com> Delay signaling the end of audio playback until all frames have actually played.

Change-Id: I1fa07358a885a818fd0a5d7da425740f86095e10
related-to-bug: 3404000
/frameworks/av/media/libstagefright/include/AudioPlayer.h
af8791e112c8072452bd14ef3c43a47511d19542 21-Mar-2011 Andreas Huber <andih@google.com> Support passing headers to MediaMetadataRetriever's setDataSource API

Change-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26
related-to-bug: 3506316
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
bc07bcc65e91c7aea9713631ae67760dcf1b0286 18-Mar-2011 James Dong <jdong@google.com> Better organize media recorder error and information event and types

Change-Id: I45f1f953596985494725525c1fabf57eccc19175
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
c901f74404435cc1cf2717016e2b0092b6dcea24 17-Mar-2011 James Dong <jdong@google.com> am 782ffe91: am 9c0c5b56: am 2f1f2248: Fix missing AOSP copyright headers for a bunch of media framework files

* commit '782ffe91da665c6b1fb9e297faa6e0dc6035f40c':
Fix missing AOSP copyright headers for a bunch of media framework files
27c174483a8ae9688d5d4897c19074f62c7f1701 17-Mar-2011 James Dong <jdong@google.com> Fix missing AOSP copyright headers for a bunch of media framework files

bug - 4119349

Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/MediaDebug.h
/frameworks/av/media/libstagefright/include/foundation/AHandlerReflector.h
/frameworks/av/media/libstagefright/include/foundation/AHierarchicalStateMachine.h
8635b7b095fbf7ffc63d3ce791891a9116ace1f6 15-Mar-2011 James Dong <jdong@google.com> Add memory leak tracking/debugging code to drm server

bug - 4099038

Change-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66
/frameworks/av/media/libmedia/include/media/MemoryLeakTrackUtil.h
884d064fbf7f45f8089abd7d87bdca5d325cc2ab 11-Mar-2011 Glenn Kasten <gkasten@google.com> am 055066e1: am 92f2f3ff: Merge "Bug 3012968 DRM output control" into honeycomb-mr1

* commit '055066e1e77d944383360d50057f5b8187f23c0b':
Bug 3012968 DRM output control
2eb62955eb84b97695e8a7e56e14310cbb86412b 28-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3012968 DRM output control

Modifies Stagefright to verify that there is a hardware-protected path
to video sink for DRM content.

Change-Id: I18b8741390e803a05a88c7f180b860a24ba88a10
/frameworks/av/media/libstagefright/include/OMXCodec.h
b5ce361d19e69fe156f7188c9ee0f4734b259874 25-Feb-2011 Gloria Wang <gwang@google.com> Fix for bug 3477330
This patch fixs a crash bug caused by using a NULL DecryptHandle pointer.
Fix by using sp<DecryptHandle> instead.

Change-Id: Icbd59858385e8256125a615a3c82656b25319d44
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
2aac40fe9d42a15dab0af6a0efea7a2468cd9e4f 09-Mar-2011 Eric Laurent <elaurent@google.com> am 2dc78477: am cc34967f: Merge "Fix issue 3439872: video chat and bluetooth SCO" into honeycomb-mr1

* commit '2dc78477364bd4accb9a603baaafca9a5523dcec':
Fix issue 3439872: video chat and bluetooth SCO
1703cdfee717b1b312bf8979816a9e2f16a82e5d 07-Mar-2011 Eric Laurent <elaurent@google.com> Fix issue 3439872: video chat and bluetooth SCO

This change fixes the stability problems experienced when using
a bluetooth headset supporting both A2DP and SCO. Problems occur
when starting the video chat at which time the A2DP output is being
stopped to start SCO. At that time, active AudioTracks are invalidated
by AudioFlinger so that a new AudioTrack binder interface can be
recreated by the client process on the new mixer thread with correct parameters.
The problem was that the process to restore the binder interface was not
protected against concurrent requests which caused 2 binder interfaces
to be created sometimes. This could lead to permanent client deadlock
if one of the client threads was waiting for a condition of the first
created binder interface while the second one was created (as the AudioFlinger
would only signal conditions on the last one created).
This concurrent request situation is more likely to happen when a client
uses the JAVA AudioTrack as the JNI implementation uses simultaneously the
native AudioTrack callback and write push mechanisms. By doing so, the code
that checks if the binder interface should be restored (in obtainBuffer()) is
much more likely to be called concurrently from two different threads.

The fix consists in protecting the critical binder interface restore phase
with a flag in the AudioTrack control block. The first thread acting upon the binder
interface restore request will raise the flag and the second thread will just wait for
a condition to be signaled when the restore process is complete.

Also protected all accesses to the AudioTrack control block by a mutex to prevent
access while the track is being destroyed and restored. If a mutex cannot be held
(e.g because we call a callback function), acquire a strong reference on the IAudioTrack
to prevent its destruction while the cblk is being accessed.

Modified AudioTrack JNI to use GetByteArrayElements() instead of
GetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would
cause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem
callback being called during the critical section when media server process restarts.
Anyway with current JNI implementation, either versions do not copy data most of the times
and the criticial version does not guaranty no data copy.

The same modifications have been made to AudioRecord.

Change-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
2256d515e6fa1dd95b8fd0de05b56d8c83af8327 04-Mar-2011 Andreas Huber <andih@google.com> Added more metadata published by the MediaMetaDataRetriever

- presence of audio/video content
- video dimensions
- avg. bitrate

Change-Id: Ie6d478a3c2d0bb6bebaea99ac0a20a4c17808934
related-to-bug: 3506316
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
4f46fed004b76d462ef859aa94a3c056b0e79b60 03-Mar-2011 Gloria Wang <gwang@google.com> Merge "- To track the usage of all audio output devices - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()"
9ee159b79022b2e1a050acb3890ce948e99e9ccb 24-Feb-2011 Gloria Wang <gwang@google.com> - To track the usage of all audio output devices
- To track the currently used audio device
- The devices are separated as speaker and other audio devices
- Provide the collected data to battery application through pullBatteryData()

Change-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
32f3cefa373cd55e63deda36ca9d07c7fe22eaaf 03-Mar-2011 Andreas Huber <andih@google.com> Allow optional specification of a PTS timestamp when signalling a discontinuity.

If present, rendering will be suppressed until reaching the timestamp.

Change-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19
related-to-bug: 3489454
/frameworks/av/media/libmedia/include/media/IStreamSource.h
2a7e0a1eb29306982fd77bdc64d324464a48a2b9 01-Mar-2011 James Dong <jdong@google.com> Get rid of redundant media profiles

bug - 3330679

Change-Id: Idc55aea32746c0c57552c5e15a289681421aa859
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
e2ce6458659c6e1bad420357b61dc10cd8bbe2ab 24-Feb-2011 Jamie Gennis <jgennis@google.com> Add an OMX IL API for querying buffer usage flags.

This change defines an OpenMAX IL API for querying from the IL component
the gralloc buffer usage flags that should be used to allocate the
buffers. It also adds the Stagefright plumbing for using the new OMX IL
API.

Change-Id: I046b5e7be70ce61e2a921dcdc6e3aa9324d19ea6
Related-Bug: 3479027
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
1173118eace0e9e347cb007f0da817cee87579ed 09-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3438258 Add SurfaceTexture as MediaPlayer sink

This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/NativeWindowWrapper.h
51b9a8b53eaa1a0188be95d4d6a749424787e0d6 23-Feb-2011 Gloria Wang <gwang@google.com> Merge "- Add method in MediaPlayerService to collect and pull codec usage (duration) for the battery app - Collect MediaPlayer decoding usage data"
7cf180c9bff69e5cc4a2f4e53b432db45ebbebab 20-Feb-2011 Gloria Wang <gwang@google.com> - Add method in MediaPlayerService to collect and pull
codec usage (duration) for the battery app
- Collect MediaPlayer decoding usage data

Change-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
55e26193c885b7d5acdae9978848e6587987790f 22-Feb-2011 Andreas Huber <andih@google.com> Support more MPEG4-LATM audio functionality.

related-to-bug: 3474610

Change-Id: I6dab40e8b465922c62be9ee7f168718822c6caac
Now skipping extra header that the spec claimed shouldn't be present in LATM...
/frameworks/av/media/libstagefright/include/foundation/ABitReader.h
a472613aec322e25891abf5c77bf3f7e3c244920 16-Feb-2011 James Dong <jdong@google.com> A/V synchronization at the beginning of a recording session

o do not use edts/elst boxes since these optional boxes are ignored
o manipulate the first video/audio frame duration to make sure that the rest
of the audio/video is in sync (ideally, we should only manipulate
the vidoe frame duration, not the audio)
o reduce the initial audio mute/suppression period, which is used to
eliminate the "recording" sound.

bug - 3405882 and 3362703

Change-Id: Ib0acfb4f3843b365157288951dc122b006299c18
/frameworks/av/media/libstagefright/include/AudioSource.h
6b61f4355db1974cd0f0dfaa4effdd7117b9f09b 15-Feb-2011 James Dong <jdong@google.com> Decouple AudioRecord read and audio encoding

bug - 3313754

Change-Id: I951dd0e21e34aa1412c391f003bc32103d0424b0
/frameworks/av/media/libstagefright/include/AudioSource.h
d48a6044fddc910f17e67650f280e91e7aaf5e65 16-Feb-2011 Gloria Wang <gwang@google.com> Merge "Add AAC extractor"
50c44c79d2d7dd6cd1485d9d939f67f80b8da1ca 02-Feb-2011 Gloria Wang <gwang@google.com> Add AAC extractor

Change-Id: Iedb08525ac72e65ba98e5c791734da0720a0e3f6
/frameworks/av/media/libstagefright/include/MediaDefs.h
244ba87d20aeb29c9cad727820fa1e803ec3643c 12-Feb-2011 James Dong <jdong@google.com> Make available h263 DSI information from MPEG4Extractor

bug - 3446863

Change-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88
/frameworks/av/media/libstagefright/include/MetaData.h
6b2718c67aa7b1a8e3b0f25a73a0d5f72c59ffc3 04-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3352047 Wrong message when adjusting volume

Add hidden AudioManager.getDevicesForStream and output device codes.

Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
fcac8fa9421f442f024018628a6042d7a14fbfb0 09-Feb-2011 James Dong <jdong@google.com> Reduce blocking time in file write

bug - 3418787

Change-Id: I4723662bf46ed07271be8468f84ae5d93cb793fa
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
eeffad65d2db4879593c1d4806824ef5b4dcb3e1 08-Feb-2011 Andreas Huber <andih@google.com> Merge "Handle some edge cases when seeking while starting up OMXCodec"
9c0096378820e5a61db26e52a7e6df50ba9c872d 08-Feb-2011 Andreas Huber <andih@google.com> Handle some edge cases when seeking while starting up OMXCodec

These were exposed by the new preview-seekframe while paused code.
In particular, the codec may have been in state RECONFIGURING when attempting
to seek, or we may have initiated flushing of the output port and this may not
have completed yet by the time we want to reconfigure the output port.

Change-Id: Id7640ade11dbc7205a22f648ea0b5e3e9b49cf4b
related-to-bug: 3392259
/frameworks/av/media/libstagefright/include/OMXCodec.h
889b340ec736a9d3e3e690256d305cc8740f0c4b 07-Feb-2011 Gloria Wang <gwang@google.com> - Do not use global DrmManagerClient
- Release the DrmManagerClient and DecryptHandle in DataSource
Fix for bug 3429811

Change-Id: I549f72b75225751877eb0e630ce8098f8ec6316f
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
349d3fcb4afacf754f7b5b5186d2f258f5bf35e7 04-Feb-2011 Andreas Huber <andih@google.com> Improvements/fixes to ACodec.

- Make sure ACodec reverts its state when it's shutdown
- Defer "resume" to after handling the OutputPortSettingsChange

- If the OMX_EventPortSettingsChanged event comes in while we're flushing, defer it
and make sure the output port can be disabled by deleting all buffers not already
owned by the component.

Change-Id: I1f8cdffa71237b57d4275a48b834647a7b263e8b
/frameworks/av/media/libstagefright/include/ACodec.h
8782cb4dc783cdcac8498148ab1894b4780c18df 04-Feb-2011 Eric Laurent <elaurent@google.com> am 6f1bd261: am 9c0a1003: Merge "Fix issue 3371080" into honeycomb

* commit '6f1bd261b7fd86ac7817ca061dfb55b95150b836':
Fix issue 3371080
856990b491d84b7ed4fefe337485c8997ba9dd02 13-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 1804058 FLAC extractor

Note: dependent on external/flac for libFLAC

Implemented and tested:
* FLAC container
* mono and stereo
* standard sample rates
* standard bit depths
* sniffer
* media scanner
* Vorbis comment metadata including album art
* random access seeking with "torture test"
* web browser integration for audio/flac (not audio/x-flac), but
note that most web servers don't correctly report the MIME type

Not implemented:
* 24-bit to 16-bit dither or noise shaping in AudioFlinger
* 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger
* replay gain is better done in AudioFlinger
* multi-channel, would need AudioFlinger support
* Ogg container, does not seem to be very popular yet

Change-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17
/frameworks/av/media/libstagefright/include/MediaDefs.h
eda6c364c253ba97ee45a3adeb8c2b45db1f81db 02-Feb-2011 Eric Laurent <elaurent@google.com> Fix issue 3371080

Modified default volume control logic in AudioService:
1 IN_CALL volume if in video/audio chat
2 NOTIFICATION if notification is playing or was playing less than 5s ago.
3 MUSIC

Modified silent mode:
- now also affect MUSIC stream type
- entering silent mode when VOL- hard key is pressed once while selected
stream volume is already at 0 (except for VOICE_CALL stream).
- exiting silent mode when pressing VOL+ hard key while in silent mode

Play sound FX (audible selections, keyboard clicks) at a fixed volume.

Modified audio framework:
- isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger)
- iStreamActive() now specifies a time window during which the stream is considered
active after it actually stopped.

Change-Id: I7e5a0724099450b9fc90825224180ac97322785f
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
7757f5010a771fb8824b6fdf9788f588a1577e3f 26-Jan-2011 James Dong <jdong@google.com> Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.

This will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where
o n is the actual number of buffers advertised by the video encoder
o time_interval is the interval settings for timelapse video recording
specifying the time distance between neighboring input video frames

The fix includes two parts:
o OMXCodec will not submit all n buffers at one time, but instead submit one input
frame at one time if it become available.

o Timelapse camera source made available the first two input frames and do not skip
them so that the first compressed output frame data can be received regardless
the specified time_interval

bug - 3367659

Change-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
01f394247f3d5851f5bb12c2786b5fee265b6357 26-Jan-2011 Andreas Huber <andih@google.com> Protect notification callback parameters with a mutex.

This avoids the race condition where notifications are dispatched to a NULL receiver
after notifications have been disabled.

Change-Id: I6d351ffbee97616e2c35559c132a6c5e6a66948a
related-to-bug: 3394139
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
0a095d09464ba18e288a3f529410af0f1257ac2a 26-Jan-2011 Mike Lockwood <lockwood@android.com> StagefrightMediaScanner: Close metadata retriever after we are done scanning

This prevents the mediaserver from leaking a file descriptor after
the media scanner runs

BUG: 3373546

Change-Id: I82a8bae82306de3da56a5c7da5b03ecf106a4efc
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/av/media/libstagefright/include/StagefrightMediaScanner.h
7fac331b39ca49ce49a67e425dcc031a3cb9e97f 21-Jan-2011 Andreas Huber <andih@google.com> Properly rotate video that's marked as such and decoded to a surface.

Change-Id: I1e9144db3447e58c99aac3f47702ad471678789c
related-to-bug: 3378148
/frameworks/av/media/libstagefright/include/OMXCodec.h
bc7f5b2e56107cfeaeeab13cf8979379e3c2f139 21-Jan-2011 Andreas Huber <andih@google.com> Some tweaks to HTTP live / nuplayer behaviour

- play audio-only streams again
- workaround for malformed streams that switch PIDs across bandwidths
- attempt to pick a different bandwidth stream if the previously chosen one appears
to be malformed/unsupported.

Change-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9
related-to-bug: 2368598
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
b45c01c2b8588ff431b511151666a55a39f0a6ae 16-Jan-2011 James Dong <jdong@google.com> Fix the presentation video resolution when it is different from the actual image resolution of the video.

bug - 3352413

Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
/frameworks/av/media/libstagefright/include/MetaData.h
ccb3506ed1845121b94f4e27244e61a46eb19815 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> integrate videoeditor preview player.

Change-Id: I83084f494605c8e6f4d198afa8c36f9e29579667
/frameworks/av/media/libstagefright/include/AudioPlayer.h
7f7d52ac18dfc3c6d8f6267dad29306613e9bd0e 06-Jan-2011 James Dong <jdong@google.com> Publish MediaMetadataRetriever.java as public API

o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc

o part of a multi-project change.

bug - 2433195

Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
32ad210e4e4bcbdf912a01c9d2ff105cb3c5056f 10-Jan-2011 Andreas Huber <andih@google.com> Merge "NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications." into honeycomb
31e2508c75018145a8238925ff1a08cbde4e799a 10-Jan-2011 Andreas Huber <andih@google.com> NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.

Change-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d
related-to-bug: 3336496
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
14c858e80dfe2030c9f343dc0c6e2048e030731b 10-Jan-2011 James Dong <jdong@google.com> Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object

bug - 3336424

Change-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89
/frameworks/av/media/libstagefright/include/OMXCodec.h
11f8109ad8646d3acd9a0987613229cde59d52c1 06-Jan-2011 Marco Nelissen <marcone@google.com> Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

(cherry-picked from GB because of weird automerger failure)

Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libstagefright/include/MetaData.h
b1787e3b95e96cc002377d41518cc183f64b58c4 06-Jan-2011 Andreas Huber <andih@google.com> Colorconverter may not support some src/dst bitmap configurations.

Let it return an appropriate error code instead of asserting.

Change-Id: I7fe0dfa169e1cbdecb04c5fcbe8501e73362d05e
related-to-bug: 3328212
/frameworks/av/media/libstagefright/include/ColorConverter.h
d1108d74e13a74dc72e49513e0393e924f3d112c 06-Jan-2011 James Dong <jdong@google.com> am a8ce7736: am 35e8dcb9: Merge "Suppress the recording sound in the recorded video" into gingerbread

* commit 'a8ce773607c26dd4336f57856afce507fb98a279':
Suppress the recording sound in the recorded video
e6bf51ea9c5a4c1294e9a6c26d8a9b86534fee1f 06-Jan-2011 James Dong <jdong@google.com> am 35e8dcb9: Merge "Suppress the recording sound in the recorded video" into gingerbread

* commit '35e8dcb9df8c3d77ede120e3f1aaf842b2928639':
Suppress the recording sound in the recorded video
149d3b0565c9b7e56af344d0e5c2f121236fa119 05-Jan-2011 Andreas Huber <andih@google.com> Merge "Seek/Duration support for completed http live streams in NuPlayer."
43c3e6ce02215ca99d506458f596cb1211639f29 05-Jan-2011 Andreas Huber <andih@google.com> Seek/Duration support for completed http live streams in NuPlayer.

Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463
related-to-bug: 3321475
/frameworks/av/media/libmedia/include/media/mediaplayer.h
019e96a6c6228c2565d8bc172f6278b31384aca5 05-Jan-2011 James Dong <jdong@google.com> Merge "Use video output if necessary for timelapse video recording"
91dcf1510491c4128f506a0d28e64de5ecbf459d 05-Jan-2011 James Dong <jdong@google.com> Suppress the recording sound in the recorded video

bug - 3309194

Change-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b
/frameworks/av/media/libstagefright/include/AudioSource.h
28934a90e168291f6c77c56e8a05f272e5151bbd 05-Jan-2011 James Dong <jdong@google.com> Use video output if necessary for timelapse video recording

Change-Id: I88d0cc824f0fbf8b2f392fbc23c69b5bfefda1b8
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
1aef211b4e5dc952081727bfd2318b2cb5ca4506 04-Jan-2011 Andreas Huber <andih@google.com> Properly shutdown the decoders on a reset() in NuPlayer's implementation.

related-to-bug: 3321470
Change-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a
/frameworks/av/media/libmedia/include/media/mediaplayer.h
3e9f9f1596d4225ddd9288b4f7b24a15221374dc 16-Dec-2010 Mike Lockwood <lockwood@android.com> MediaScanner: Add support for scanning empty directories

Currently the media scanner does not create database entries for directories
unless they contain a file that is scanned.
Fixing this so we provide a consistent view of the world to MTP.

Change-Id: Ia776acfeae23192183e7192d63cdc34d830ea889
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/av/media/libmedia/include/media/mediascanner.h
2c2814b900a61fa07ddfff860b143fbbe9c740e9 16-Dec-2010 Andreas Huber <andih@google.com> Properly announce decoder output format changes, make sure AMessage::dup does.

Change-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
f933441648ef6a71dee783d733aac17b9508b452 16-Dec-2010 Andreas Huber <andih@google.com> Initial support for a true streaming player for mpeg2 transport streams.

Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/ACodec.h
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
/frameworks/av/media/libstagefright/include/foundation/AHierarchicalStateMachine.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
79e23b41fad961008bfde6e26b3c6f86878ca69d 11-Dec-2010 James Dong <jdong@google.com> Revert "Allows the authoring engine to skip frame."

o Skipping frames could lead to a lot of issues such as I frames is lost etc.
It is not being used anyway.

This reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.

Conflicts:

media/libstagefright/AudioSource.cpp
media/libstagefright/CameraSource.cpp

Change-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
92bf2f96c53d24adc1ace362439e82ca2cf6b856 07-Dec-2010 Andreas Huber <andih@google.com> Better buffer status management and verification in OMXCodec.

Change-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643
/frameworks/av/media/libstagefright/include/OMXCodec.h
97f2c9d530c9663deeb840f332dee205a7a11cdd 07-Dec-2010 Andreas Huber <andih@google.com> Merge "API Support for both synchronous and queued commands, optionally associated metadata."
14acc736e336cbd6026df781d4f411e908831815 06-Dec-2010 Andreas Huber <andih@google.com> API Support for both synchronous and queued commands, optionally associated metadata.

Change-Id: Idb90d64cb638942210c5822b3cba2f05b087d601
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
ea7b485595f8cec6a66668b5c54c8f297d843f77 05-Dec-2010 James Dong <jdong@google.com> Remove check if the target video resolution is not supported by CameraSource
and clean up Camera is CameraSource could not created.

bug - 3254411

Change-Id: I43497c450e7007de5ce027e2912b1421119e8887
/frameworks/av/media/libstagefright/include/CameraSource.h
16afe2fb439cab6125bb46a07a8078d4ce1c1ea5 03-Dec-2010 James Dong <jdong@google.com> Prepare for publishing MediaMetadataRetriever as public API

step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

bug - 2433195

Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
e2b1028852120bcfded33b8f06f66b780437fe92 23-Nov-2010 Andreas Huber <andih@google.com> Support streaming data across binder boundaries.

Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IStreamSource.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
f5ab57c2d5e02af7483c94eddb177e4f5c9e9892 22-Nov-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 12:57:04 2010 -0800

set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer.

Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42

commit 4767b52bee3a54ae117a8708d6832276a44e6a6a
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 11:14:57 2010 -0800

info->mMediaBuffer may still be NULL at this point...

Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f

commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 10:55:12 2010 -0800

QCOM's YVU420 color format conversion has now been tested.

Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67

commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 09:59:50 2010 -0800

Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.

Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc

commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:11:06 2010 -0800

Revamped Software Renderer respects the crop rectangle.

Removed obsolete ADRENO support code.

Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535

commit 8abbc6a5608bff650f968540f24a2eab75f254ed
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:10:41 2010 -0800

The metadata retriever now respects the crop rectangle while capturing a video frame.

Change-Id: Id3377176060086d16717f62c77ce26fabe899050

commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:09:50 2010 -0800

Changed ColorConverter APIs to be more general.

Clients can now refer to crop rectangles in both source and destination.

Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04

commit 273184303d54a54febd3e9c3dd4df30507ea78b5
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 15:04:06 2010 -0800

The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg

Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4

commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 14:36:55 2010 -0800

The AVC software decoder now properly advertises the cropping rectangle.

Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b

commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 13:40:39 2010 -0800

OMXCodec now signals a format change if the cropping rectangle changes.

...and puts the cropping info into its output format.

Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2

commit efe0323947029df1c502599ccc288c8d676dfd31
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 11:29:39 2010 -0800

Stagefright's MetaData object now supports rectangle items.

Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504

Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70
/frameworks/av/media/libstagefright/include/ColorConverter.h
/frameworks/av/media/libstagefright/include/MetaData.h
5b12af0ea4b98ad60bc066bceb8504d16fcca41d 20-Nov-2010 James Dong <jdong@google.com> Merge "Removed uncessary FILE structure pointer for I/O"
f5aafb209d01ba2ab6cb55d1a12cfc653e2b4be0 18-Nov-2010 Eric Laurent <elaurent@google.com> Fix issue 3157123.

Use a Mutex wherever atomic operations were used in AudioTrack,
AudioRecord, AudioFlinger and AudioEffect classes.

Change-Id: I6f55b2cabdcd93d64ef19446735b8f33720f8dbc
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
674ebd0b4e1143e38392a4e3bb38b4679a4577bc 19-Nov-2010 James Dong <jdong@google.com> Removed uncessary FILE structure pointer for I/O

o also move the fd owner from caller to callee in the Writers

Change-Id: I510ccfdd0fcc58f1777fea4ed1349fd251852c65
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
c7fc37a3dab9bd1f96713649f351b5990e6316ff 16-Nov-2010 James Dong <jdong@google.com> 64-bit file size/offset support for media framework

Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/JPEGSource.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
14d32754d3a9c1ccf49188c489f224800cd747a7 18-Nov-2010 Gloria Wang <gwang@google.com> Merge "Add getUri() for streaming"
771b85d9245a24273497792a2515d88d31c99e1e 10-Nov-2010 Gloria Wang <gwang@google.com> Add getUri() for streaming

Change-Id: I56e15e67cc5f4d0f41c9e2985404a4d89d757e7e
/frameworks/av/media/libstagefright/include/DataSource.h
38f63d7b118448c93dcdd10ec77a5e61c283928c 17-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add new audio mode for audio communications other than telelphony."
0a5ca668c6f7d45706e9aec4a1dfec0aacc6d233 16-Nov-2010 Andreas Huber <andih@google.com> Remove all traces of legacy renderer support in stagefright.

Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/VideoRenderer.h
f1fb01a7f00b8da90a36268aba8584a872e99175 15-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add new audio mode for audio communications other than telelphony.

The audio mode MODE_IN_CALL signals the system the device a phone
call is currently underway. There was no way for audio video
chat or VoIP applications to signal a call is underway, but not
using the telephony resources. This change introduces a new mode
to address this. Changes in other parts of the system (java
and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
state variable directly, but to use two new convenience methods,
isInCall() and isStateInCall(int) instead.

Change-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76
ffectApi.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
30d713a1c18a5ff892a7f13b2524ba624b70890a 11-Nov-2010 James Dong <jdong@google.com> Remove legacy PV stuff

Change-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd
VMediaRecorder.h
VMetadataRetriever.h
VPlayer.h
2d71233de5450f1b128c8149fdbdf39b937f3cb8 13-Nov-2010 James Dong <jdong@google.com> Merge "Separate the key for audio sampling rate and video frame rate in MetaData.h"
56ecd20263d7f63476f756fc5d8b043b325c7bfb 09-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add support for audio recording source in generic audio policy mgr.

Update the platform-independent audio policy manager to pass the
nature of the audio recording source to the audio policy client
interface through the AudioPolicyClientInterface::setParameters()
method.

Change-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
393410a441b6d06daf286ed496470e9d6b2b6ca8 11-Nov-2010 James Dong <jdong@google.com> Separate the key for audio sampling rate and video frame rate in MetaData.h

Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
/frameworks/av/media/libstagefright/include/MetaData.h
b50a8033f1c7c2b58913212825f9200f1a9e5652 11-Nov-2010 James Dong <jdong@google.com> Add color format query support to QueryCodecs()

Change-Id: Ic8589649cd09392a1b969a30082b4c9c4e6cc6a7
/frameworks/av/media/libstagefright/include/OMXCodec.h
f23c4f92c3b0202435cf87db2642156fabc46f02 11-Nov-2010 James Dong <jdong@google.com> Fix memory leak when 0-memcpy quirk is used

o minor change to the original patch by Andreas:
call restorePatchedDataPointer() method only if kAvoidMemcopyInputRecordingFrames is turned on

Change-Id: Idf3710e6f759d37d28e866613f98d39215722cb9
/frameworks/av/media/libstagefright/include/OMXCodec.h
c643d77a099b0e86ad12de9b498f6f780e03184e 09-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Add recording source for voice communication

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Change-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9
/frameworks/av/media/libmedia/include/media/mediarecorder.h
13f6284305e4b27395a23db7882d670bdb1bcae1 09-Nov-2010 James Dong <jdong@google.com> Rotation support

- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation

The original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged.
The only change I made is to reuse the same kKeyRotation in MetaData.h;
and thus do not neeed to use kKeyRotationDegree.

Change-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
30db2709395c73fb3b4ee334119ceba68c95ab13 09-Nov-2010 James Dong <jdong@google.com> Fix a build break due to the missing kKeyRotation

Change-Id: I6bf030c946abe7a95f8f7bc464e6507fb02cf39c
/frameworks/av/media/libstagefright/include/MetaData.h
3baff73198ce852fa60080bd32703028298b4d65 08-Nov-2010 Andreas Huber <andih@google.com> resolved conflicts for merge of 31dc911a to gingerbread-plus-aosp

Change-Id: I2f51b2120b3c552566d91a7dc498a5e8b130205f
4974d5eaf838d893c418b85bd47f6f114d9b5aaa 06-Nov-2010 James Dong <jdong@google.com> am 1653e261: Merge "Rotation support" into gingerbread

* commit '1653e261e84922facfe27d3d8acc455ed2b6b6da':
Rotation support
85d9b4225d024bb0d602b48bd6d5219cbebd7b8e 04-Nov-2010 Andreas Huber <andih@google.com> Support post-decode video rotation.

Change-Id: Ia371316e73a57e44610de86adce3eaa560afbf84
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/MetaData.h
aca1fe35480ae76dd6bae167ade40adc955e2d0d 17-Aug-2010 James Dong <jdong@google.com> Rotation support

- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation

Change-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
412abda7a92b842378ecb5fd9bdb43a73d29f468 05-Nov-2010 James Dong <jdong@google.com> Merge "Use meta data in the media recording framework"
c2daea219b626a961d5ccef0b6b22c2496509748 05-Nov-2010 Gloria Wang <gwang@google.com> Merge "Add support for WV DRM"
b371426ce4cf2fa6d8c3d1903b61322feb165d35 01-Nov-2010 Gloria Wang <gwang@google.com> Add support for WV DRM

Change-Id: I0408c5e0a488f112a84337b21b0cd4613a4da461
/frameworks/av/media/libstagefright/include/MediaDefs.h
8480835b4bc1350646376aa7f3ae33742a7adeb1 02-Nov-2010 James Dong <jdong@google.com> Use meta data in the media recording framework

o This patch allows us to do 720p video recording

Change-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333
/frameworks/av/media/libstagefright/include/OMXCodec.h
ed45fe0730a7e7fc9944741428f5a484350acc8a 02-Nov-2010 Jamie Gennis <jgennis@google.com> Fix a MediaBuffer leak in Stagefright.

Change-Id: I548e60b07cf1676476874b156cfbc4ffefdfa2b9
/frameworks/av/media/libstagefright/include/OMXCodec.h
26490f71a5a50b2200d60de28ad0ea6b1d0a1847 03-Nov-2010 James Dong <jdong@google.com> am f3847e87: Merge "DO NOT MERGE" into gingerbread

* commit 'f3847e875eb1c58094a2d159a2a6f3f0b381d77a':
DO NOT MERGE
63a0a11e8b3292253b3d3bf3a7f7dc733cf6762f 03-Nov-2010 James Dong <jdong@google.com> DO NOT MERGE

Fix premature release of recording frames when physical address or metadata is stored in input video buffers

- bug 3158459

Change-Id: If297189d2a87fc3abfda68c29ac75b490b30a902
/frameworks/av/media/libstagefright/include/OMXCodec.h
b235dee7be544a6c990ba4f8d89ab03e38c826f8 06-Oct-2010 Praveen Bharathi <pbharathi@motorola.com> Added support for dock headset observer

Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
0821a824a718a28fa5144309bf09ea40411c8ae0 30-Oct-2010 Jamie Gennis <jgennis@google.com> Stop using OMX_COLOR_FormatAndroidPrivateStart.

This removes the use (and definition) of the Android-private range of
OMX color formats from Stagefright. Instead we will just be
interpreting the video color format of an OMX port as an Android pixel
format if the port is in native buffer mode.

Change-Id: I3ea50703336a88249e7563bc7022dfedbeac506e
/frameworks/av/media/libstagefright/include/HardwareAPI.h
05ea6434ed399395e2dbe9f68abb44f04b274cb0 29-Oct-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0d5694ba2d399dd0869532a4d6256448185a1be0
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:59:23 2010 -0700

suspend() and resume() methods on VideoView are back but don't do anything.

They need to be back because they were public before.

Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425

commit 16192891ed7d349ee97e47d1729d20a2d0d247b8
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:47:05 2010 -0700

Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming."

This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25.

Conflicts:

api/current.xml

Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5

commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:16 2010 -0700

Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093."

This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f.

commit f2ed03550887986f39d36b5dabcd9e919949c7cf
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:08 2010 -0700

Revert "Release MediaPlayer if suspend() returns false."

This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268.

commit 441ecce678bd24e9660a72c8627b5bd94433ff8b
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:40:46 2010 -0700

manually.

Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87

Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
d332a72e8f71caea0d3dc898db6a9d7a929fad32 23-Oct-2010 James Dong <jdong@google.com> Add two creation flags to OMXCodec::Create()

o This allows to force to use software codecs or hardware codecs
o If request cannot be fullfilled, Create() returns NULL.

Change-Id: I02b56a9229abb56d49703fe80ac18571d33f3748
/frameworks/av/media/libstagefright/include/OMXCodec.h
aceaaf303422bbe3a7b8d9cdb96495dbf8109c23 26-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of 965f960e to master

Change-Id: I63cec8ffb3593216da1de03428134d89e75b9338
a9741a9232c81eaf59179acef91f5be46c42264e 26-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of 9084631d to gingerbread-plus-aosp

Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
dcd25efb46c41c8d24a0a9cf61fb57f84149709e 22-Jun-2010 Gloria Wang <gwang@google.com> DRM framework support:
- add a sniffer for DRM files
- add DRMSource and DRMExtractor for es_based DRM
- add pread in FileSource.cpp for container_based DRM
- add native DRM framework API calls in the player for
DRM audio/video playback

Change-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/MediaErrors.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MetaData.h
5b2146fc017b02bb5f096b1ac336efd3558a117c 22-Oct-2010 James Dong <jdong@google.com> Merge "OMX extension to support storing meta data in video input buffers during recording"
e870772a78ffe08b1c14a791e368f1499f1be0f3 21-Oct-2010 James Dong <jdong@google.com> OMX extension to support storing meta data in video input buffers during recording

bug - 3042125

Change-Id: I7543809fa4ff61d48da35eec6c2bd5eaa7e8cead
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
cf5e77c0676f6af1685de30ad902fe94e476907f 21-Oct-2010 James Dong <jdong@google.com> am 8ad6335d: am fa7a87fb: Merge "File writer size estimation improvement" into gingerbread

Merge commit '8ad6335d2c22900de5b46460473495b5bcea9f99'

* commit '8ad6335d2c22900de5b46460473495b5bcea9f99':
File writer size estimation improvement
6a9da9fc558263548ebfbae2cbf177eb7454a41b 07-Oct-2010 Jamie Gennis <jgennis@google.com> Add decode-to-ANativeWindow support to Stagefright.

This change adds support to Stagefright for doing OMX video decoding directly
into buffers dequeued from an ANativeWindow. It does this by registering the
dequeued buffers with the OMX component using an Android-specific OMX
extension, and then exchanging buffers between the OMX component and the
ANativeWindow.

Change-Id: Ida66f836503255a68d378c6903d96dfe9747ce87
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
5c9523154d106b555db6c41f85ab205a4f189b02 19-Oct-2010 James Dong <jdong@google.com> Make camera source ready for handling meta-data video buffers.

bug - 3042125

Change-Id: I877b265c6bf8e0593121c8d5a95ae5599cdc6fb9
/frameworks/av/media/libstagefright/include/CameraSource.h
78a1a286f736888ae7af8860b2c424af0d978848 20-Oct-2010 James Dong <jdong@google.com> File writer size estimation improvement

o Do not count the reserved space for moov if the meta data size is small
o Do not count the extra 1KB disturbing small file estimation.
o Reduce the default minimum reserved space from 4 KB to 3 KB.
o Estimate the moov size based on both duration AND file size limit is set
and set it to the smaller estimated value.

low risk change

bug - 3111983

Change-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
2ad46bea6b7ef92b24e9bd98b0b459beb71b96ab 19-Oct-2010 Andreas Huber <andih@google.com> am 9b2f18df: am bc96c284: Merge "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder." into gingerbread

Merge commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2'

* commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2':
For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.
f3712f026aad1fc46b1df18d1dba718281e39726 18-Oct-2010 Andreas Huber <andih@google.com> For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.

related-to-bug: 3106534
Change-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b
/frameworks/av/media/libstagefright/include/OMXCodec.h
3e00cc070090fa3eab16792da90aa33823cd6db1 18-Oct-2010 Andreas Huber <andih@google.com> am 746c6a1c: am ff7a7a45: Merge "Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore." into gingerbread

Merge commit '746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4'

* commit '746c6a1c6d70769ee4b08b9a7b87d0c5aa65c2e4':
Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.
b10d28f233bb881cc12260c320892e5feb198e9a 15-Oct-2010 Andreas Huber <andih@google.com> Check-in of a copy of the Khronos OpenMAX headers formerly included from external/opencore.

Change-Id: Ie2ecf9558d4ee80cb5a2bbe66ad49f2165a7b09c
related-to-bug: 3101573
/frameworks/av/media/libstagefright/include/openmax/OMX_Audio.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Component.h
/frameworks/av/media/libstagefright/include/openmax/OMX_ContentPipe.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Core.h
/frameworks/av/media/libstagefright/include/openmax/OMX_IVCommon.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Image.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Index.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Other.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Types.h
/frameworks/av/media/libstagefright/include/openmax/OMX_Video.h
f9f083e2853740c97588f4db82c24645ae5880e4 15-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of a127c07c to master

Change-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086
d6119356f45c9c57cac812357d969ecc3001087e 15-Oct-2010 Andreas Huber <andih@google.com> am 28b93967: am 165c6579: Merge "HTTP Live content that are tagged as complete are now seekable." into gingerbread

Merge commit '28b93967d0e702304c7edec854a29d5ab88bfce0'

* commit '28b93967d0e702304c7edec854a29d5ab88bfce0':
HTTP Live content that are tagged as complete are now seekable.
5cb77e080ced5362b5f047e107327b3cb6ece6c9 13-Oct-2010 Andreas Huber <andih@google.com> Merge "Support for writing to MPEG2 transport stream files." into gingerbread
59b7dc39ea8332d3418a599e51447d7edb612ac4 12-Oct-2010 Andreas Huber <andih@google.com> Support for writing to MPEG2 transport stream files.

Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
bff07d0b22a5ee2d9f044f6cb5e4be1532017ab0 12-Oct-2010 Andreas Huber <andih@google.com> HTTP Live content that are tagged as complete are now seekable.

Change-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde
related-to-bug: 2368598
/frameworks/av/media/libstagefright/include/DataSource.h
9086ce254ac8769dbe90afd5146fce509a86418f 11-Oct-2010 Andreas Huber <andih@google.com> am 2b4f1f4c: am f72dd019: Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread

Merge commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7'

* commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7':
Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
2eeadf9ded4b5770a713496e9887d668889987bc 11-Oct-2010 Eric Laurent <elaurent@google.com> am 4f21e517: am b37fcbfd: Merge "Added getter for session Id to AudioSink" into gingerbread

Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c'

* commit '4f21e517d09b9d793d20d64547df330fba705b3c':
Added getter for session Id to AudioSink
0e4d896cb9ab813131c45b3b1fcd4cc66d341468 10-Oct-2010 Andreas Huber <andih@google.com> am bb708373: am 949f7d90: Merge "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder." into gingerbread

Merge commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43'

* commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43':
Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.
79e0ac144ca9bb771e2c6b1954c882da12a4bea8 10-Oct-2010 Andreas Huber <andih@google.com> am 45bd1159: am 02654f01: Merge "On this particular device the hardware video decoder spits out buffers that don\'t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume." into gingerbread

Merge commit '45bd1159fa34b51ba077e0cde760d171ca092552'

* commit '45bd1159fa34b51ba077e0cde760d171ca092552':
On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.
2b37ced30f89437c804c3945b901019b86d210ae 09-Oct-2010 James Dong <jdong@google.com> 0-memcpy video recording framework

Part III: Move startRecording() call earlier, asking camera hal
to allocate video buffers before CameraSource.start() is called.

Change-Id: I3f1d7d5636ca2644fe52af61f297d48c6b1ce89d
/frameworks/av/media/libstagefright/include/CameraSource.h
54ff19ac69ace7c05ea90d225e26dab3b133f487 08-Oct-2010 James Dong <jdong@google.com> Move Camera specific logic out from StagefrightRecorder to CameraSource

o updated comments and streamlined the logic in
checkVideoSize() and checkFrameRate() as suggested

Change-Id: I49d04ac7998d4a215997aa63555dfb6e814e38d3
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
6f3cba53efdd985ab13734c7ad90eb373ae9b9f7 08-Oct-2010 Andreas Huber <andih@google.com> Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread
70f521de2675ce6eedf4b22beed94ea1289b0f38 08-Oct-2010 Andreas Huber <andih@google.com> Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.

Change-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2
related-to-bug: 3073955
/frameworks/av/media/libmedia/include/media/Metadata.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
8c563ed9ca8a863a66965330b5d14bb4b4ab59d4 08-Oct-2010 Eric Laurent <elaurent@google.com> Added getter for session Id to AudioSink

Added a method to expose the audio session id at AudioSink interface
so that the AudioPlayer in stagefright can retrieve it.

Also:
- Fixed audio effect send level not being initialized in mediaplayer.
- Fixed compilation error when LOGV is enabled in mediaplayer JNI

Change-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
2eb16c2250c57a8009ab58e9aeb1606ab62bbbbc 07-Oct-2010 Andreas Huber <andih@google.com> am 56ee1080: am 17bc4f65: Merge "Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out." into gingerbread

Merge commit '56ee1080f004110bff622e5b60c243d9cabfe120'

* commit '56ee1080f004110bff622e5b60c243d9cabfe120':
Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.
2a4d22d79e927f2245537921e10fc5fda1c47a29 08-Sep-2010 Andreas Huber <andih@google.com> Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.

Change-Id: I7150e5e7342e1117c524856b204aadcb763e06ed
related-to-bug: 2368598
/frameworks/av/media/libstagefright/include/MediaErrors.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
2b82e9652ba049e754c2cc74e381282f231d5fbf 07-Oct-2010 Andreas Huber <andih@google.com> On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.

Change-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c
related-to-bug: 3070094
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
eba2d0611923ad75c3b894ebe5ce3d5fc7f6a946 07-Oct-2010 James Dong <jdong@google.com> am a86a6c4e: am 6f1c7bda: Merge "Fixed an issue where the reserved free space in the file writer was larger than intended" into gingerbread

Merge commit 'a86a6c4e326bfdfc351dacca95b23bb78f78efbe'

* commit 'a86a6c4e326bfdfc351dacca95b23bb78f78efbe':
Fixed an issue where the reserved free space in the file writer was larger than intended
b2e3954c94717e43b3dc9b880564f166cfbbc0a2 05-Oct-2010 Andreas Huber <andih@google.com> Make sure to call AudioTrack::stop() instead of AudioTrack::pause() after submitting all samples to AudioTrack to make sure those remaining samples are actually played out.

Change-Id: Id574a0203efcb5e565f1b0fe77869fc33b9a9d56
/frameworks/av/media/libstagefright/include/AudioPlayer.h
a007e8229fb2be4866c483f9cd6c4af238a2da5e 05-Oct-2010 James Dong <jdong@google.com> Fixed an issue where the reserved free space in the file writer was larger than intended

The problem was that even though user does not explicitly request the max file size
limit via MediaRecorder.setMaxFileSize(), the file writer sets an implicit file
size limit if 32-bit file offset is used on user's behalf. The reserved free space
is estimated based on the file size, if the file size limit is set by the user.

The fix is to add an extra bool to tell the difference between an
explit requested file size and an implicit file limit and use that
to set the estimated moov box size accordingly.

Change-Id: I731aca6c7833aa764ed7b905edb77721577471b3
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
fb9b87b6c22d940e5e7cb4b5e7cfae99015a0131 28-Sep-2010 Andreas Huber <andih@google.com> am d6c30e8c: am be045061: Merge "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens." into gingerbread

Merge commit 'd6c30e8c1521bc584f33500b8ee897dafdfec023'

* commit 'd6c30e8c1521bc584f33500b8ee897dafdfec023':
Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.
8267b65adcfd944c3f465425183ad7f38b0999e5 28-Sep-2010 Andreas Huber <andih@google.com> am c889bbfa: am 4769f579: Merge "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files." into gingerbread

Merge commit 'c889bbfa965f4ba90636f561c5e1353289d4cb06'

* commit 'c889bbfa965f4ba90636f561c5e1353289d4cb06':
Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.
b8b92e517c4168a96f4d29d35cba7a87f0913c87 28-Sep-2010 Andreas Huber <andih@google.com> am 9d591860: am 3a9cc8ce: Merge "Squashed commit of the following:" into gingerbread

Merge commit '9d59186068891834272c2e3ee6f9c4228af24656'

* commit '9d59186068891834272c2e3ee6f9c4228af24656':
Squashed commit of the following:
6fd2b44b156c4ef28e131183f0fe8f7dcecfcc6e 28-Sep-2010 Andreas Huber <andih@google.com> Merge "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens." into gingerbread
ed54ad0f8619ae416b0968ade6248894cbfc4dba 28-Sep-2010 Andreas Huber <andih@google.com> Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.

Change-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d
related-to-bug: 3036592
/frameworks/av/media/libstagefright/include/AudioPlayer.h
8211da9eabe28037ebcc23bbfbbe20cb21cb0cdc 28-Sep-2010 Andreas Huber <andih@google.com> Merge "Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files." into gingerbread
db6222212528637d8f2afa7f49fc3c8c915bafbe 28-Sep-2010 Andreas Huber <andih@google.com> Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.

related-to-bug: 3036592
Change-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802
/frameworks/av/media/libstagefright/include/MetaData.h
0da4dab0a45a2bc1d95cbc6ef6a4850ed2569584 27-Sep-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 29a4d3effb05a2e074cb0693316ab1977baeb0b6
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 12:01:32 2010 -0700

Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).

Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84

commit f4dec4c3899f3be393508e180d6c07e249d3335e
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 10:36:31 2010 -0700

More reliable identification of MPEG2 transport streams. Don't keep scanning forever in case the stream does not have both audio and video tracks.

Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7

commit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 08:23:39 2010 -0700

test code

Change-Id: I16560a17661407d06497f99ff88230724bb898af

commit 64d988b24f49f179a90fa677be11c823959e734b
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 23 14:42:52 2010 -0700

First shot at supporting writing to an MPEG2 transport stream.

Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74

Change-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc
/frameworks/av/media/libstagefright/include/MPEG2TSWriter.h
3f94dacbd43b48bb629a79e45e738ead37c5debd 22-Sep-2010 Andreas Huber <andih@google.com> am af909581: am 67738486: Merge "Remove stagefright foundation\'s incompatible logging interface and update callsites." into gingerbread

Merge commit 'af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6'

* commit 'af90958184fc5cfa1a4190e28bcfc4fdd4a5bcd6':
Remove stagefright foundation's incompatible logging interface and update callsites.
6e4c5c499999c04c2477b987f9e64f3ff2bf1a06 21-Sep-2010 Andreas Huber <andih@google.com> Remove stagefright foundation's incompatible logging interface and update callsites.

Change-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
467bdb0df9909b20492c103ff6839f39d346c670 17-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding default profiles for specific levels."
d5672bc7162fa49abf9bb5844195887e911aa7ce 17-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding default profiles for specific levels.

The low and high profiles should each match one of the
specific profiles. So we need to add the specific profiles
corresponding to the low/high profiles. This makes the
default profile compliant to documentation + cts.

Also fixed javadoc to account time lapse profiles.

Change-Id: I34e7307d00ce261c69dc10ead2900025c7f6d428
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
78eff720c86eb6d4e3d45a144df60b2ca464d2d4 16-Sep-2010 Nipun Kwatra <nkwatra@google.com> Implemented frequent read returns for quick stop in time lapse.

If the frame capture interval is large, read will block for a long time.
Due to the way the mediaRecorder framework works, a stop() call from
mediaRecorder waits until the read returns, causing a long wait for
stop() to return. To avoid this, we return a copy of the last read
frame with the same time stamp if a frame is not available quickly.
This keeps the read() call from blocking too long. This method is
triggered when startQuickReadReturns() is called on
CameraSourceTimeLapse.

In the still camera case, also using waitRelative on Condition
instaed of sleeping, so that we can wake it up.
Also for the idle check instead of sleeping, we now wait on a
condition variable, which is woken up when the last takePicture
callback gets called.

Change-Id: Ia74386e175536aee0f44ae2f8b114c353d3d72f5
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
c59ad085c9737e8d56328732be6864de302acae9 10-Sep-2010 Mike Lockwood <lockwood@android.com> Media scanner support for tracking files of arbitrary type.

The native media scanner no longer filters files based on file extension.
Audio, video, image and playlist files are handled as before, but non-media
files are now inserted into the "files" table, which was originally added
to support MTP.

Change-Id: I9053218fb6d2671a3bb181405c34442b94678afc
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/av/media/libmedia/include/media/mediascanner.h
9783ed8f85af3d7c72030098acfed7e1d6638349 11-Sep-2010 Nipun Kwatra <nkwatra@google.com> Exposing specific profile levels + hasProfile().

- Exposing the specific resolution profile levels
QUALITY_{QCIF,CIF,480P,720P,1080P} and the new time lapse profiles
QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,CIF,480P,720P,1080P}
- Unhiding the hasProfile() function used to test if a given profile exists.

Change-Id: I5d8b9e1ba61718f304235e76d85244e428e68643
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
1a02fabca518806222212bdc708b36a37a7c3925 11-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding hasProfile."
a0d472f114bb6a74005aaf61e91e3569ae061630 10-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge "Added specific resolution and time lapse profiles."
8bb5603cc735315c8691dc9b7a81b4ad4d6e253e 10-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding hasProfile.

- Added hasProfile to CamcorderProfile and JNI.
- Added hasCamcorderProfile to MediaProfiles.
- using android.hardware.Camera.CAMERA_ID_DEFAULT for default camera
in get().

Change-Id: Ib57bb49ae79492d7cbc0ec6c7b6efcbf74f80013
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
c0a84782589eececdfa7e723e8aa0e572d0d79f5 07-Sep-2010 Nipun Kwatra <nkwatra@google.com> Added specific resolution and time lapse profiles.

- Added enums QUALITY_{QCIF,480P,720P,1080P}
QUALITY_TIME_LAPSE_{LOW,HIGH,QCIF,480P,720P,1080P} in CamcorderProfile
and corresponding ones in MediaProfiles.
- Added functions createDefaultCamcorderTimeLapseLowProfile,
createDefaultCamcorderTimeLapseHighProfile to set default values.
- Moved javadoc for constants to the get() function.

Change-Id: Ib8b3f8d29395dff77a397d1e6b44cfaf8c481d4d
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
9b2cef27bbe953c0b5c37ada9bf18d706c396513 09-Sep-2010 James Dong <jdong@google.com> am 306cd58d: am d353c840: Merge "HW audio encoder expects timestamp via kKeyTime from each input buffer" into gingerbread

Merge commit '306cd58ddcc0cb8487bc6e015f8c692eea47a334'

* commit '306cd58ddcc0cb8487bc6e015f8c692eea47a334':
HW audio encoder expects timestamp via kKeyTime from each input buffer
fbf7162465ee5b9e928d5676d439a475c93b0725 09-Sep-2010 James Dong <jdong@google.com> Merge "HW audio encoder expects timestamp via kKeyTime from each input buffer" into gingerbread
3c3763d2ee1cd1fba7fe522fbaf0faca315d8c2a 09-Sep-2010 James Dong <jdong@google.com> HW audio encoder expects timestamp via kKeyTime from each input buffer

- This fixes media server crashes on droid

Change-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc
/frameworks/av/media/libstagefright/include/MetaData.h
87e607994fa1703e1b975af41b02e539e7b7411f 09-Sep-2010 Eric Laurent <elaurent@google.com> am e126119c: am 95d86480: Merge "Modify type of some environmental reverb parameters" into gingerbread

Merge commit 'e126119c3a406bc564f2549aeb1416aff112689d'

* commit 'e126119c3a406bc564f2549aeb1416aff112689d':
Modify type of some environmental reverb parameters
54c38fdcff502ab3502c55dd314a954dd60c0183 09-Sep-2010 Eric Laurent <elaurent@google.com> Modify type of some environmental reverb parameters

Changed type of decay time, reverb delay and reflections delay parameters
from signed to unsigned int to match OpenSL ES interface definition.

Also fixed some type casts in lvm reverb wrapper.

Change-Id: I5ca5e76a87c2590f01f031f3168355586ef22556
ffectEnvironmentalReverbApi.h
5d7d90a0dec80114e4e299aaca69e41df6ff296a 04-Sep-2010 Nipun Kwatra <nkwatra@google.com> Merge changes I71f5b0fc,I92c7accb

* changes:
Moving decision to use still camera to CameraSourceTimeLapse
pass auxiliary video parameters.
155e833a7a5fc3e193691324cf9326da1bc3289a 02-Sep-2010 Nipun Kwatra <nkwatra@google.com> Moving decision to use still camera to CameraSourceTimeLapse

CameraSourceTimeLapse now decides whether to use still or video
camera automatically. It checks if the passed in size is a valid
preview size and if it is, then uses the video camera else uses
the still camera.

Removed from StagefrightRecorder the support to set parameter
useStillCameraForTimeLapse.

Change-Id: I71f5b0fc7080ca524792381efe918d22e41a7f36
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
49ce029a6b62681c576a51f963d734eccd4eaccd 03-Sep-2010 Andreas Huber <andih@google.com> am 8e11c822: am 9fee0b2a: Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer\'s setLooping setting.

Merge commit '8e11c82247151085fa165c76bfbc157bc6091ca4'

* commit '8e11c82247151085fa165c76bfbc157bc6091ca4':
Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer's setLooping setting.
24beeac58c36b780ae61d1fb7a3421ffe5510a1e 03-Sep-2010 Jamie Gennis <jgennis@google.com> Merge "Add the new Stagefright ANativeWindow OMX codec API."
83750eaf5a3f38c243a9e7eb81d4b2421e3a0d88 31-Aug-2010 Jamie Gennis <jgennis@google.com> Add the new Stagefright ANativeWindow OMX codec API.

This change defines the two OMX_SetParameter calls that enable OMX codecs to
interact with ANativeWindows. It also adds the plumbing to the IOMX, OMX, and
OMXNodeInstance classes to use these new APIs.

This is try 2 for this change, after reverting the first one because it broke
the build.

Change-Id: I94249b72bdb5d5719360f03d7935fcca4ece5028
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
8ae49d87b98d57d6758b0c51b95e28a6581a79f1 03-Sep-2010 Andreas Huber <andih@google.com> Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer's setLooping setting.

Change-Id: Ifb564c6cdf6137eac14869f9ca7d471f05a5556a
related-to-bug: 2974691
/frameworks/av/media/libstagefright/include/MetaData.h
35b8b488e0822854d411976710ed55f3a1c72bf3 03-Sep-2010 James Dong <jdong@google.com> am bc1452a3: am 7755cdd6: Remove unused/debugging code from MP4 file writer

Merge commit 'bc1452a307ac61ca87bf78722701ac85100952af'

* commit 'bc1452a307ac61ca87bf78722701ac85100952af':
Remove unused/debugging code from MP4 file writer
b4d5320bda29cd9694461c9b61d0211f801ff0af 02-Sep-2010 James Dong <jdong@google.com> Remove unused/debugging code from MP4 file writer

o also makes nal length in the recorded file modifiable at runtime

Change-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
92be4e1735b54e2528fed455b87c813cdd73d8c2 03-Sep-2010 James Dong <jdong@google.com> am 3c3fc97e: am 46e63b34: Merge "Better file size estimate" into gingerbread

Merge commit '3c3fc97e104bd17af608727d82e965fc28f2c89d'

* commit '3c3fc97e104bd17af608727d82e965fc28f2c89d':
Better file size estimate
1f90c4b3fda9dbd2824d67fd679f850572f114dc 02-Sep-2010 James Dong <jdong@google.com> Better file size estimate

When the recorded file becomes large, the metadata size can
no longer be ignored. This makes it possible to save the
recorded file when the storage becomes almost full at the
end of the recording session.

Change-Id: Ief038080f825c9946ce550949c03e914aec1e31a
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
fbc6db2e7af12b88703b4cbaa4c7b979bc9d028e 03-Sep-2010 James Dong <jdong@google.com> am bb64e554: am 7ed7668b: Merge "Calculate audio media drift time from AudioSource" into gingerbread

Merge commit 'bb64e554d9a28fcf8eebf579e91ff71b8ffef1e3'

* commit 'bb64e554d9a28fcf8eebf579e91ff71b8ffef1e3':
Calculate audio media drift time from AudioSource
d707fcb3e29707ca4a5935c294ef0b38eb5aba5f 02-Sep-2010 James Dong <jdong@google.com> Calculate audio media drift time from AudioSource

The problem was that the time to receive an output buffer
from an audio encoder is different because the encoder does not
need to read from the source for all output buffers. This leads
to large fluctuation in terms of wall clock duration between two
neighboring audio sample outputs from the audio encoder. As a
result, the media time for the video track after adjustment using
the drifting changes wildly sometimes.

This patch addresses this issue by only updating the media drift
time when an audio source input buffer is read. the wall clock
for the audio track is also calculated at the same time when
the input audio buffer is read at AudioSource.

bug - 2959800

Change-Id: I3174aa182f744784b540f0a7198524d4eee8bd7b
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
9f2d258645826c999a93a4206df157fec2e3b0f2 01-Sep-2010 Jamie Gennis <jgennis@google.com> Revert "Merge "Add the new Stagefright ANativeWindow OMX codec API.""

This reverts commit 8a643b411e1802977f742709113ce01b06a18e12, reversing
changes made to 73ea9beaf8eb3d0027e78cbc0ac5e626c3f8deb4.
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
9dd4931cca8e4a2fcbcabf4eb7078648e1c029cd 01-Sep-2010 Jamie Gennis <jgennis@google.com> Merge "Add the new Stagefright ANativeWindow OMX codec API."
559dc605bfe2deb73ad718e0d5c5dc55e27c45df 31-Aug-2010 Jamie Gennis <jgennis@google.com> Add the new Stagefright ANativeWindow OMX codec API.

This change defines the two OMX_SetParameter calls that enable OMX codecs to
interact with ANativeWindows. It also adds the plumbing to the IOMX, OMX, and
OMXNodeInstance classes to use these new APIs.

Change-Id: Ibfbf893dc3513db0b3d3221bec5708c77287cddc
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
ad452ffadf0ced7449395585a55255c915734e17 30-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added VideoSourceDownSampler

VideoSourceDownSampler takes in a real video source. The MediaSource
interface is then implemented by shortcircuiting calls to this real source,
except for the read() function. For read we first call read of the real
source, then downsample the frame to the desired size and return that.

Change-Id: I6e1b377e043e136a70a7b03792eb9165bbe26398
/frameworks/av/media/libstagefright/include/VideoSourceDownSampler.h
5d6aca5d86e86af3f8f597be573d4563d69ceb85 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added setAuxiliaryOutputFile to MediaRecorder and JNI

added setAuxiliaryOutputFile to allow setting of an auxiliary output file.
Also added the JNI support.

Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
c5c4286bebffa4c2a9539c8e09207c3130351531 30-Aug-2010 Andreas Huber <andih@google.com> am 6df6d606: am df992ac9: Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread

Merge commit '6df6d60681be9d524ce7fc07f2511008de424d27'

* commit '6df6d60681be9d524ce7fc07f2511008de424d27':
ALoopers can now be named (useful to distinguish threads).
c01ec02269e3bf1fd57620149085407bf6750447 30-Aug-2010 Andreas Huber <andih@google.com> Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread
cc567f511a159867dcde8da824cab7464e687535 28-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "client_id->clientId, bugfix for signaling of read abort on stop."
4caa5782afbf07da01532f7b8744157f0e92d01e 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> client_id->clientId, bugfix for signaling of read abort on stop.

- changed client_id->clientId, mClient_id->mClientId
- there was a bug in the condition for calling
signalReadComplete_lock() in stop. We should call it only when
!mLastReadCompleted and also if the current client has not already
completed its read (this second check was missing before).

Change-Id: I9a57cf6b5c6f3260883a6c74d0c7b22f675c422e
/frameworks/av/media/libstagefright/include/MediaSourceSplitter.h
9bdccaca6a7a09457670138bf6cdd9b3ba5e7087 28-Aug-2010 James Dong <jdong@google.com> am a5fe77d0: am df8356ff: Merge "Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder is occasionally too small." into gingerbread

Merge commit 'a5fe77d004091bd9521d087c2572f587191afbfc'

* commit 'a5fe77d004091bd9521d087c2572f587191afbfc':
Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
f00421ce0af03785a229552cb9738ac09b17a675 28-Aug-2010 James Dong <jdong@google.com> am 7d3ff384: am b86365ad: Merge "Suppress the video recording start signal - bug 2950297" into gingerbread

Merge commit '7d3ff3849c830f0136c692b6074f1ba5da288fe7'

* commit '7d3ff3849c830f0136c692b6074f1ba5da288fe7':
Suppress the video recording start signal
a814c1fdc2acf0ed2ee3b175110f6039be7c4873 28-Aug-2010 Andreas Huber <andih@google.com> ALoopers can now be named (useful to distinguish threads).

Change-Id: Ieabaddb2e3a9e3a7a5bc36e55cd0721b60dbd50e
/frameworks/av/media/libstagefright/include/foundation/ALooper.h
824c9ff4a55e86faae4f8f158977329909cbfaf6 27-Aug-2010 James Dong <jdong@google.com> Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
is occasionally too small.

bug - 2882917

Change-Id: Id59d8529084c5689a26f272e0cd3b1e955fd8a30
/frameworks/av/media/libstagefright/include/OMXCodec.h
d9a81d43fd23f10091afa4e78bd2f5db87f74e7f 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "Added MediaSourceSplitter to split single source to multiple ones."
c7e5094ece8083bcaa8160564655df986126f4bd 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added MediaSourceSplitter to split single source to multiple ones.

MediaSourceSplitter provides a way to split a single mediaSource
into multiple sources. It takes in the real mediaSource and multiple
clients can then be created which serve from the same real mediaSource.

Change-Id: I7254ead24b4c26c784b033e6bc7ff5a0d083a0c3
/frameworks/av/media/libstagefright/include/MediaSourceSplitter.h
f1ae1963f5028a670573b50a9c1cfb504fc426b4 27-Aug-2010 James Dong <jdong@google.com> Suppress the video recording start signal
- bug 2950297

Change-Id: I0044d07178691feb904cf81e87c1b6d4b714dc1a
/frameworks/av/media/libstagefright/include/AudioSource.h
53bfd693c45278bf71cb5e184ffd3e95d52e04d8 26-Aug-2010 Eric Laurent <elaurent@google.com> am 8ca5df27: am c14f9ca6: Merge "Added preset reverb." into gingerbread

Merge commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1'

* commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1':
Added preset reverb.
f0bfaa8f56ddcfbebc129ecb45335218c39506f0 26-Aug-2010 Eric Laurent <elaurent@google.com> Merge "Added preset reverb." into gingerbread
d31cdebccaa64e4ce0012254aa4986fbea93a2a1 25-Aug-2010 Andreas Huber <andih@google.com> am 96dc4559: am b8814dce: Merge "Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now." into gingerbread

Merge commit '96dc45597e53742a2c8453f9ce03f7d501a75668'

* commit '96dc45597e53742a2c8453f9ce03f7d501a75668':
Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.
5a1c3529e4fa2f8a11054181294e0ce79fff8dd3 25-Aug-2010 Andreas Huber <andih@google.com> Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.

Change-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a
related-to-bug: 2948754
/frameworks/av/media/libstagefright/include/DataSource.h
97344f1d8e8e95fd07d5deee2ae2492a7e4c24b0 24-Aug-2010 Eric Laurent <elaurent@google.com> Added preset reverb.

Modified lvm reverb wrapper code to expose a preset reverb interface.
Also removed debug log from bundle and reverb wrapper.

Change-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967
ffectPresetReverbApi.h
a8c88e810ea1b8e90fd6c250d4c0a87eb628d4d8 24-Aug-2010 James Dong <jdong@google.com> am 28a92120: am 3f51fa78: Runtime dump support for MediaWriter

Merge commit '28a92120a702289533a9c9d004bd60f83b2fd98b'

* commit '28a92120a702289533a9c9d004bd60f83b2fd98b':
Runtime dump support for MediaWriter
ef6c8c0324be75dfac3d6a4025ec3b3a7ca23826 24-Aug-2010 Chia-chi Yeh <chiachi@android.com> am a102871c: am b80e610b: Merge "Visualizer: replace the FFT implementation with a faster one." into gingerbread

Merge commit 'a102871c7cbb74ebddc53231a871145de61351b0'

* commit 'a102871c7cbb74ebddc53231a871145de61351b0':
Visualizer: replace the FFT implementation with a faster one.
4b79168835965cf0fc41ebe2a367e22b4cb20d08 11-Aug-2010 Jamie Gennis <jgennis@google.com> Change the framework to use the new camera preview path.

This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated. The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface. The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.

Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
VMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
f143cc1866737c2ac24f4b2d7e4b2e776be10d56 23-Aug-2010 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:"
5daeb129a2c2ba3d14ccd94af283b5f561c783ea 16-Aug-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 35cc68814a9537c31fde146e171e7b0bbdfe211e
Author: Andreas Huber <andih@google.com>
Date: Mon Aug 16 08:48:42 2010 -0700

Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else.

commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 13:56:44 2010 -0700

The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise.

commit 684972074b74318bdcb826ed9b5b0864d2d2e273
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 09:34:35 2010 -0700

A first shot at supporting the new rendering APIs.

Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
VPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
dedf414d3fe2e79ee0aad0f1c82ca16ebd886ff6 18-Aug-2010 James Dong <jdong@google.com> Runtime dump support for MediaWriter

Change-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
482482401095d5fc98f89b4a3ce43d41c00fffd7 23-Aug-2010 Chia-chi Yeh <chiachi@android.com> Merge "Visualizer: replace the FFT implementation with a faster one." into gingerbread
263ebfd8a17266eedc84eb879edb6a6a3395f760 21-Aug-2010 James Dong <jdong@google.com> am c8d2fa70: am cbd038fe: Merge "Make MediaWriter stop and pause return errors if necessary" into gingerbread

Merge commit 'c8d2fa704abebdbf0bd8aac185216dc068950217'

* commit 'c8d2fa704abebdbf0bd8aac185216dc068950217':
Make MediaWriter stop and pause return errors if necessary
9b92412737095ab6a06f01a0c6daaebb79dffb55 21-Aug-2010 Andreas Huber <andih@google.com> am b29ebd39: am f0ad5484: Merge "In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data." into gingerbread

Merge commit 'b29ebd397e25a7176bcc1c81980f17b0190ebe7f'

* commit 'b29ebd397e25a7176bcc1c81980f17b0190ebe7f':
In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.
a0ced19fa96f26a25de708588a34ebfd452f250e 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "Added downsample()"
c0d936ddacc4f7d883f3bd1dd8099586836c820f 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added downsample()

Added a downsample function which downsamples the source image
starting at an offset and skipping every few pixels. Currently
no low pass filtering is done, but it should be added later.

Change-Id: Iec34092c536bfc661a15521e6a1ef2ef3f815c61
/frameworks/av/media/libstagefright/include/YUVCanvas.h
47c0e2355fb18f567471c1a76f1bbe2ebcb5a419 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> Merge "const correctness, validPixel test."
4a6b74563ac0fe752fbdfd15f91772473f8a4711 20-Aug-2010 Nipun Kwatra <nkwatra@google.com> const correctness, validPixel test.

- made width(), height() const member functions.
- added validPixel() which returns true if pixel is in the allowed range.
- now testing validPixel in get/setPixelValue

Change-Id: I1dee5060bd4f8dcbdcd542ec4647ea328f0185c3
/frameworks/av/media/libstagefright/include/YUVImage.h
e0b77ce97ef84c47ae408e92f2afb7509a5051b6 19-Aug-2010 James Dong <jdong@google.com> Merge "Make MediaWriter stop and pause return errors if necessary" into gingerbread
37187916a486504acaf83bea30147eb5fbf46ae5 19-Aug-2010 James Dong <jdong@google.com> Make MediaWriter stop and pause return errors if necessary

o Make the API consistent with SF framework, which the MediaSource
provides a return status for stop

o Also, helps to convey errors that occurred right when a
premature stop() is called, leading to a potentially
mal-formed output file.

Change-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
85f12e9b9062402d6110df3f7099707912040edb 19-Aug-2010 Andreas Huber <andih@google.com> In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.

Change-Id: I98c4194593c7e6e24f6fc339c862245111800293
/frameworks/av/media/libstagefright/include/foundation/ABitReader.h
dbd2b7e4ebfe7a586b1db4459cf6aa032a7f8719 19-Aug-2010 Chia-chi Yeh <chiachi@android.com> Visualizer: replace the FFT implementation with a faster one.

This implementation uses fixed points instead of floating points. It
is slightly inaccurate compared to the old one but still perfect for
visualization purpose. It runs 40% faster on passion, 5 times faster
on sholes, and of course 14 times faster on sapphire.

Change-Id: I1e868417bcffda091becf106a7b941d02813faec
/frameworks/av/media/libmedia/include/media/Visualizer.h
790f640ac3b573efd574d346d1bb338d9724ed48 17-Aug-2010 James Dong <jdong@google.com> am 4fc2c928: am b7208196: Use audio clock as the reference media clock

Merge commit '4fc2c9280c5262c835a4eb78961241de105313c1'

* commit '4fc2c9280c5262c835a4eb78961241de105313c1':
Use audio clock as the reference media clock
e259531ce59ab1f31de5a23124b22536f6a5a767 03-Aug-2010 James Dong <jdong@google.com> Use audio clock as the reference media clock

o Only do this for realtime applications
o Adjust other track clock based on audio clock
o Assume other track uses wall clock as the media clock
o Use some heuristics to reduce the size of stts box by 2/3.

- also
o Remove one unused key from MetaData.h

Change-Id: Ib9432842627b61795b533508158c25258a527332
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
ee6d226931477dc9c2c9e49aae5f2470f7181c61 12-Aug-2010 James Dong <jdong@google.com> am 8aa244ea: am 45cb3cfa: Merge "Handle large audio lost" into gingerbread

Merge commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff'

* commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff':
Handle large audio lost
47204e1806da9f849464d0cef936851d7e561607 11-Aug-2010 James Dong <jdong@google.com> Handle large audio lost

Change-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c
/frameworks/av/media/libstagefright/include/AudioSource.h
0cde1a77ce02df9f0ab08d836b491bf8e809bf35 10-Aug-2010 Andreas Huber <andih@google.com> am e14923b0: am 4edf85ab: Merge "Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder." into gingerbread

Merge commit 'e14923b0c80b2e73e69b7917c1f170b356592d29'

* commit 'e14923b0c80b2e73e69b7917c1f170b356592d29':
Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.
42d66f25af9cb8089a93c6796876a6bc16e36cea 09-Aug-2010 Andreas Huber <andih@google.com> Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.

Change-Id: I92685d09456c220b8c09842defb721bd55b0b9f6
related-to-bug: 2900021
/frameworks/av/media/libstagefright/include/MediaDefs.h
250a4cf8127a9ba572bae90de1e44437e0b78a94 06-Aug-2010 James Dong <jdong@google.com> am 9c09a605: am 1441bdfc: Merge "Use the target color format from the camera source if possible" into gingerbread

Merge commit '9c09a60513faf39901bb8e4681d39812204b3f73'

* commit '9c09a60513faf39901bb8e4681d39812204b3f73':
Use the target color format from the camera source if possible
299766cdbf93fba14634e364b177b7f4d5811453 04-Aug-2010 James Dong <jdong@google.com> Use the target color format from the camera source if possible

- If the target color format is unavailable, the default
platform-dependent color format will be used.

- Also add some logic to prevent looping forever if the
omx component is buggy supporting color format enumeration.

Change-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3
/frameworks/av/media/libstagefright/include/OMXCodec.h
982a93173bc84f005172152d823cbb59dfcbeb12 05-Aug-2010 Andreas Huber <andih@google.com> am 1f513d88: am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread

Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf'

* commit '1f513d8821670a33d6361ea521b6756163a3f9bf':
Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8 04-Aug-2010 Andreas Huber <andih@google.com> Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.

Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MetaData.h
216e5df78e958a3349ba4785fb79c688e1ad39a5 04-Aug-2010 James Dong <jdong@google.com> am 246aad12: am 3d84280c: Merge "File writer has a designated writer thread now" into gingerbread

Merge commit '246aad12cf2becda5111d03fd1dd8f39712686f2'

* commit '246aad12cf2becda5111d03fd1dd8f39712686f2':
File writer has a designated writer thread now
a7c61b8be205ce8db81ebbd15cd42abd649cbf4d 04-Aug-2010 James Dong <jdong@google.com> am 51a260d8: am 23796e3b: Merge "Add lost frame handling in AudioSource" into gingerbread

Merge commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef'

* commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef':
Add lost frame handling in AudioSource
26ab7ab7f543a03b65735a41de8496c54d3e490e 03-Aug-2010 James Dong <jdong@google.com> Merge "File writer has a designated writer thread now" into gingerbread
a5740924c0a71871f2697139effd43b137750597 03-Aug-2010 James Dong <jdong@google.com> Merge "Add lost frame handling in AudioSource" into gingerbread
1c9747a4653aec1395c2bd6896c9b87cb5447837 31-Jul-2010 James Dong <jdong@google.com> File writer has a designated writer thread now

+ This reduces the file I/O block time for audio/video track processing
- Since the file writer is buffering some output samples, the memory
usage would go up, depending on how many output samples are buffered.

Change-Id: I780cc5b26f4b53a5efbd643fcf9505dfc19cd4cd
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
40e2f3f9b41f44bdb59f7708a421b87f169a6ede 31-Jul-2010 Nipun Kwatra <nkwatra@google.com> Implementing getSupportedPictureSizes

Go through all the supported picture sizes and choose the smallest one with
both dimensions higher than the passed in video width and height.

Change-Id: I4e9fe7a6384a0feeb9e069239ec68c70fb5f3033
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
46292fb347d72a314d985e34e5e3743d846cb9b6 30-Jul-2010 James Dong <jdong@google.com> Add lost frame handling in AudioSource

- Also collect stats on lost audio frames instead of time spent on reading

Change-Id: I6380b143e4fbdcd894491aaae523331e90d0f04f
/frameworks/av/media/libstagefright/include/AudioSource.h
9da2070b6d6d20550de7da61478c325f0928d020 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 27eecb70 to gingerbread

Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
bc286dce1af6670824fba4167e0750b631168d72 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> am 0c51c98f: am 4506c62a: fix inaccurate copyrights

Merge commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf'

* commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf':
fix inaccurate copyrights
0319aaecb03aa83924ab4e3d9c9bc657c2e8bc06 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> am 4506c62a: fix inaccurate copyrights

Merge commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625' into gingerbread-plus-aosp

* commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625':
fix inaccurate copyrights
efe6039f71e9bac2138003b3287e94a7ab7e5c55 30-Jul-2010 The Android Open Source Project <initial-contribution@android.com> Merge branch 'froyo' of git://android.git.kernel.org/platform/frameworks/base into HEAD
68335fdd6e9c1d622384612605d6952503cb7fd0 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> fix inaccurate copyrights

Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
VMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
01cff464978aa0f749f42650180b45ea56cb17de 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> fix inaccurate copyrights

Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
VMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
c4e47d1e81c4e4403663cb911e98dbf3ada9942c 28-Jul-2010 Nipun Kwatra <nkwatra@google.com> Support for video size to be different from captured picture size.

Adding support to allow video size to be different than the supported
picture sizes. A picture size larger than the demanded video size is
chosen. Captured pictures are then cropped to the size of the desired
video size. Cropping is done from the the center portion of the picture.

Change-Id: I6bcbe16f94b6ecbcf28b7f46826a81b4b6b8cbc3
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
db205a1d75c1e9a7d0dbd8fa011335249ad6f4ac 28-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding YUVImage and YUVCanvas.

YUVImage is a container class to hold YUV data and provide
various utilities, e.g. to set/get pixel values for different
YUV formats, fast copying routines, etc.
Currently supported YUV420 Planar and YUV420 Semi Planar.

YUVCanvas holds a reference to a YUVImage on which it can do various
drawing operations.

Change-Id: I052a57b7fbc834efe1626914f76c04c091996cac
/frameworks/av/media/libstagefright/include/YUVCanvas.h
/frameworks/av/media/libstagefright/include/YUVImage.h
3cc219dfc67b866e10828f0c17641668d47c1cd8 20-Jul-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 4abf16bb04dc9695fedf4007a84f903074312ccd
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 20 09:21:17 2010 -0700

Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.

Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
related-to-bug: 2826841

commit 09c74da63e6ad5cb5dafb70f62696d75d2978967
Author: James Dong <jdong@google.com>
Date: Sun Jul 18 17:57:01 2010 -0700

Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.

Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8

commit f672bf2a782dc7d5fb6325d611a7fe17045dfe9a
Author: James Dong <jdong@google.com>
Date: Thu Jul 8 20:56:13 2010 -0700

Enable the support for decoding audio with AAC+ and eAAC+ features

bug - 282684

Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b

Change-Id: I012f1179e933b6d1345d2368f357576c722485f7
/frameworks/av/media/libstagefright/include/AudioPlayer.h
ed0de3c123aaa86147993721d4794648a65aab75 28-Jul-2010 Eric Laurent <elaurent@google.com> am 6fa88882: am 62d83a0c: Merge "Audio effects: modified command() parameter types." into gingerbread

Merge commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf'

* commit '6fa8888254deb4961dc64c6ac03dc103c9cd8bcf':
Audio effects: modified command() parameter types.
25f4395b932fa9859a6e91ba77c5d20d009da64a 28-Jul-2010 Eric Laurent <elaurent@google.com> Audio effects: modified command() parameter types.

The type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()
function have been modified from int to uint32_t. This is more consistent with their role.

Change-Id: I84d289fc262d6753747910f06f485597dfee6591
ffectApi.h
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/IEffect.h
/frameworks/av/media/libaudioclient/include/media/IEffectClient.h
9e77e155b05e419a34e0fd116ee50f0fc092e67a 27-Jul-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of d306cc81 to master

Change-Id: Ib593b7719a837de12605e8c75904634843298ba1
23e1de74359f4bb1763aef0adfebe073122b032c 23-Jul-2010 Eric Laurent <elaurent@google.com> Audio Effects: added methods to effects java classes to store and load current effect settings in
a single call.

Addional changes:
- Fixed simulator build
- Use effect interface UUIDs from OpenSL ES includes when available
- Added cleanspec rules to remove now obsolete test effect libraries
- Fixed bug in AudioEffect JNI setParameter function.

Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
ffectBassBoostApi.h
ffectEnvironmentalReverbApi.h
ffectEqualizerApi.h
ffectPresetReverbApi.h
ffectVirtualizerApi.h
ffectVisualizerApi.h
e4e0a6994d39c4a7cba09c5fff442b2dca1df8f8 21-Jul-2010 Nipun Kwatra <nkwatra@google.com> Allowing setting of time lapse parameters through MediaRecorder.java

added setTimeLapseParameters() to MediaRecorder.java and SetParameter support
in StagefrightRecorder to allow enabling time lapse and setting the corresponding
parameters.

Change-Id: I509040aa71f8d3fc37337b0894a81d9c0fd7a40a
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
55cb2b8319e6b36e88658de121c534e95cd240b4 23-Jul-2010 James Dong <jdong@google.com> am 9bc4dc11: am 53d4e0d5: Allows the authoring engine to skip frame.

Merge commit '9bc4dc114fce58606a81d65d4cb31348cc7c1bae'

* commit '9bc4dc114fce58606a81d65d4cb31348cc7c1bae':
Allows the authoring engine to skip frame.
542db5d438988360d491a5add1040a2df9aa90c9 21-Jul-2010 James Dong <jdong@google.com> Allows the authoring engine to skip frame.

This is 1st part of the work to allow audio and video resync if
we found out that audio and video are out of sync during authoring

- also fixed a problem in AACEncoder::read() where the buffer acquired
from the buffer group does not release when error out at
reading from source.

Change-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
f661058d77d1484e5911d1962f8e1e8466240687 22-Jul-2010 Andreas Huber <andih@google.com> am b72d3180: am 81046c8c: Merge "Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes." into gingerbread

Merge commit 'b72d3180dc8d41d6269664bea808b04410bbe40f'

* commit 'b72d3180dc8d41d6269664bea808b04410bbe40f':
Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.
348a8eab84f4bba76c04ca83b2f5418467aa1a48 22-Jul-2010 Andreas Huber <andih@google.com> Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.

Change-Id: I110e19d5ce33e597add3ffbd3e3ff3815862396d
/frameworks/av/media/libstagefright/include/foundation/ALooper.h
d3bc2528fca033f3d34969a095beec0bc3f79ffd 21-Jul-2010 Andreas Huber <andih@google.com> am 8a9a931f: am 8138e841: Merge "Support finer seek control on MediaSources." into gingerbread

Merge commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd'

* commit '8a9a931fff2d184f7cf77fdd8a425f682f006cfd':
Support finer seek control on MediaSources.
ef3f986ebeee48af0e8cbfa651260974bbd1ed4d 21-Jul-2010 Andreas Huber <andih@google.com> Merge "Support finer seek control on MediaSources." into gingerbread
71ff94cb52874e42dede3c6bc4b86757b72cf0b1 21-Jul-2010 Eric Laurent <elaurent@google.com> am 34161132: am 7070b365: Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Merge commit '34161132030254bac7dd64c9713832e2f961a061'

* commit '34161132030254bac7dd64c9713832e2f961a061':
Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
abd1f4f870925d6776dbe4b930b759a1ab6595ca 21-Jul-2010 Andreas Huber <andih@google.com> Support finer seek control on MediaSources.

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
2beeb50b1bba9e92f6cacfeca37fe9fa9d36ead1 16-Jul-2010 Eric Laurent <elaurent@google.com> Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
932e0a11d74d5e236ccef9ee314442385c3d4e9d 21-Jul-2010 James Dong <jdong@google.com> am 9049fe60: am d7514ec6: Merge "Progress status notification" into gingerbread

Merge commit '9049fe60c20640bd606741c8f45f3f781a1684f5'

* commit '9049fe60c20640bd606741c8f45f3f781a1684f5':
Progress status notification
3108231d90e8aa324923fd8864ca2477948c5d25 20-Jul-2010 James Dong <jdong@google.com> Merge "Progress status notification" into gingerbread
d403f73c6db493a067d529e932d699ce461ae1d8 20-Jul-2010 Nipun Kwatra <nkwatra@google.com> Merge "Restart preview after each takePicture is done."
8184a5734690b30f4de0f6b6c16daf1e089f67df 20-Jul-2010 Eric Laurent <elaurent@google.com> resolved conflicts for merge of dd206093 to master

Change-Id: I21dd2321a4839d034d49092baccbf40986f17dae
0aacf105eea098a0b47761a4a9a5c4d820611f2d 19-Jul-2010 Nipun Kwatra <nkwatra@google.com> Restart preview after each takePicture is done.

Preview is called when CAMERA_MSG_COMPRESSED_IMAGE is recieved by
dataCallback(). It needs to be started as a new thread so that the
callback can return, and the camera can know that takePicture() is
done.

Change-Id: I4d0febbc993aac43b37f9f4a824e9c7b8785f19e
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
24ecd378305a3bf6fde74c8773bca09d0fd06c58 20-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Audio policy manager changes for audio effects" into gingerbread
385695764189477e963a749a5f107f6eaeb9c5f2 20-Jul-2010 Nipun Kwatra <nkwatra@google.com> Merge "Adding support for timelapse capture using still camera's takepicture. Also moving entire implementation into a new class CameraSourceTimeLapse which inherits from CameraSource."
fbfe57ba4403ad759a0ebd895914ff506a01b699 20-Jul-2010 Andreas Huber <andih@google.com> am ff45709f: am cc14a839: Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we\'ll still play it back correctly.

Merge commit 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe'

* commit 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe':
Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.
de070137f11d346fba77605bd76a44c040a618fc 13-Jul-2010 Eric Laurent <elaurent@google.com> Audio policy manager changes for audio effects

Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.

Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring
effect engines from one output mixer thread to another when audio tracks in the same session
are moved or when requested by audio policy manager.
Also fixed mutex deadlock problem with effect chains locks.

Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
3c3ddfa39635a2d39f4ee7c966fb9403fe1ec9d8 20-Jul-2010 Andreas Huber <andih@google.com> Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.

Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
related-to-bug: 2826841
/frameworks/av/media/libstagefright/include/AudioPlayer.h
faed5cd124a54b8db3429f4c26b3220bbec4c8bb 16-Jul-2010 James Dong <jdong@google.com> Progress status notification

- Keep track of per-track progress

Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
65e7e6facda89927cb26594b3b65ae81b3235ebc 12-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding support for timelapse capture using still camera's takepicture.
Also moving entire implementation into a new class CameraSourceTimeLapse
which inherits from CameraSource.

For timelapse capture using still camera, we start a thread which runs a
loop in which it calls Camera::takePicture() and then sleeps until the next
frame should be captured.
The function dataCallback() handles the callback from the camera with the
raw image data. This function copies the data and creates an artificial
timestamp corresponding to one frame time ahead of the last encoded frame's
time stamp. It then calls dataCallbackTimestamp() of the base class which
will think that it recieved the frame from a video camera and proceed as usual.

For moving the implementation to the subclass CameraSourceTimeLapse, added a
few virtual functions to CameraSource, which do the current thing for the base
class, but specialized things for CameraSourceTimeLapse.
E.g. startCameraRecording() in the base class just calls mCamera->startRecording(),
while in CameraSourceTimeLapse it may start a thread for the still camera case.

Change-Id: Ib787f24bd2e1f41681513f0257e1c4ca10a2b4de
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/CameraSourceTimeLapse.h
521bcb0ff5054e5be40f5194026da3463504ae3b 16-Jul-2010 Eric Laurent <elaurent@google.com> am f16b3f10: am b0374a0e: Merge "Several improvements in audio effects volume control." into gingerbread

Merge commit 'f16b3f104f60738447db60bcf2c44c7610e17199'

* commit 'f16b3f104f60738447db60bcf2c44c7610e17199':
Several improvements in audio effects volume control.
ada2ac8e09b6d3f2b3c3155a852ba0fffae1b592 16-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Several improvements in audio effects volume control." into gingerbread
cab112421da6e8eac19ffddbbe3d76067cffee78 15-Jul-2010 Eric Laurent <elaurent@google.com> Several improvements in audio effects volume control.

- Fixed crash when deleting an effect chained before an effect having volume control
- Changed EFFECT_FLAG_VOLUME_CTRL to implicitely include EFFECT_FLAG_VOLUME_IND
(not need to set both in effect descriptor).
- Volume control changes from one effect to another if needed according to effect enable state
- EFFECT_CMD_SET_VOLUME is only sent when their is an actual change in volume

Change-Id: Ieebaf09157e2627366023569d95516646e03e26c
ffectApi.h
cbcc684555a8774b21ba04c09b2f5cee8c88453a 15-Jul-2010 James Dong <jdong@google.com> am b068b47c: am d6a85a21: Merge "Support user-supplied timescales for authoring" into gingerbread

Merge commit 'b068b47c6d0214256116a0c661740bddf7acc18c'

* commit 'b068b47c6d0214256116a0c661740bddf7acc18c':
Support user-supplied timescales for authoring
8f5f2fcee5c12d08df71d17017410c50951fc2e3 02-Jul-2010 James Dong <jdong@google.com> Support user-supplied timescales for authoring

- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
8972e1a30cd9b57a238a2ef617ed340d8043eb44 14-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> am 5473434f: am 97eb728a: Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ effect UUID instead of defining it locally.

Merge commit '5473434f060d8c036a30a1992b036a2f70da265d'

* commit '5473434f060d8c036a30a1992b036a2f70da265d':
Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
98fe12aba55e8b8bb14b23c4c3cdba9a99a9753c 09-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
effect UUID instead of defining it locally.

Change-Id: Id6018fef20d286899cf7503fec3521dcd56db7e0
ffectEqualizerApi.h
f84b289306fc5b2399c62c62507dc80b159ae952 13-Jul-2010 Eric Laurent <elaurent@google.com> am 66fa2b44: am 8e886be4: Merge "Modifications in audio effect engine state management." into gingerbread

Merge commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547'

* commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547':
Modifications in audio effect engine state management.
e44b1efb293f878d4af8e824a6b3d070167bf2d6 09-Jul-2010 Eric Laurent <elaurent@google.com> Modifications in audio effect engine state management.

- Separate the updating of effect engine state from the process call in EffectModule so that the state
of all effects in the same effect chain is updated simultaneusly before all process functions are called.
- Added a mechanism for the effect engine to continue being called for processing after receiving the disable
commands untils it considers that the framework can stop calling the process function without causing
a glitch or loosing some effect tail.
- Updated test reverb and equalizer to support this new feature

Change-Id: Icb56ae2c84c076d4dbad6cf733b1a62f823febe7
ffectApi.h
004a77836d1963847acd20ea684e2ffe48aa3f19 09-Jul-2010 James Dong <jdong@google.com> am 4f440632: am 929642ee: Add runtime dumpsys support for media recorder client

Merge commit '4f4406322dafd6e128b437edbc541327f0b38d04'

* commit '4f4406322dafd6e128b437edbc541327f0b38d04':
Add runtime dumpsys support for media recorder client
b914122eb9cb54bbeae4ec03bfebb194aecdccbd 08-Jul-2010 James Dong <jdong@google.com> Add runtime dumpsys support for media recorder client

Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
VMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
723a540125f48aaf8a00b0cc5ed98fbbc01e5f14 09-Jul-2010 Eric Laurent <elaurent@google.com> am b4b0f67a: am fd84f97a: Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.

Merge commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7'

* commit 'b4b0f67a4743503a024b1dce758acf53d9fb86f7':
Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.
cb28102ad3976339ec445afbcb4130f2991b38d7 09-Jul-2010 Eric Laurent <elaurent@google.com> Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.

Defined the following JAVA classes on top of AudioEffect class to facilitate control
off built-in audio effects with APIs aligned with interfaces defined in OpenSL ES
specification:
- BastBoot.java
- Equalizer.java
- PresetReverb.java
- EnvironmentalReverb.java
- Virtualizer.java

Split reverb API header file in two, one for preset reverb and one for environmental reverb.
Some changes in test reverb to support preset reverb.

Change-Id: Ie0a5ba06002e63dfd6da22cace5568c1e0b76ea1
ffectBassBoostApi.h
ffectEnvironmentalReverbApi.h
ffectPresetReverbApi.h
ffectReverbApi.h
ffectVirtualizerApi.h
6506bd2be256cdebc69324714c5b26c767981046 08-Jul-2010 Eric Laurent <elaurent@google.com> am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread

Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
Added Visualizer effect.
6c5c25fae5aa68a52c6fa75649dd559a9ca98932 08-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Added Visualizer effect." into gingerbread
bf21177ccede8f01c0da0bd53392a289a5a84462 08-Jul-2010 James Dong <jdong@google.com> am b3598832: am c4243342: Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread

Merge commit 'b35988329ac1a574898db9226039e37e352c57a8'

* commit 'b35988329ac1a574898db9226039e37e352c57a8':
Allow application to set two more encoding paramters: video profile and level
145bfe5eb3e08c9689c28f6bf3287a979438b04b 02-Jul-2010 James Dong <jdong@google.com> Allow application to set two more encoding paramters: video profile and level

Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
da7581b7b61b84f15e8d671c86fd117c322b009e 02-Jul-2010 Eric Laurent <elaurent@google.com> Added Visualizer effect.

The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
- the enable()/disable() methods have been replaced bya more standard setEnabled() method.
- some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
ffectVisualizerApi.h
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/Visualizer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
f1ca5833464c0f6859f2a38b6af02cbe527c3335 07-Jul-2010 Andreas Huber <andih@google.com> am f5b4e342: am 2e6aff8e: Merge "ALooperRoster no longer holds strong references to handlers and loopers." into gingerbread

Merge commit 'f5b4e342b581a6e219b49141861b353fb139d00b'

* commit 'f5b4e342b581a6e219b49141861b353fb139d00b':
ALooperRoster no longer holds strong references to handlers and loopers.
11cc270ac5fd522c9e6491a7933516a96da4f62e 07-Jul-2010 Andreas Huber <andih@google.com> ALooperRoster no longer holds strong references to handlers and loopers.

Change-Id: I038d69b0a34eda1bfc5216d92c837a5ddf4fb802
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
2bd69f0df09cc67abdeeea2786e826914ee5ead0 07-Jul-2010 Andreas Huber <andih@google.com> am 877045aa: am 9406f626: Merge "An AHandler can now find its associated ALooper." into gingerbread

Merge commit '877045aa853aaf6e58ca3ac7bfa2bde9165b55ae'

* commit '877045aa853aaf6e58ca3ac7bfa2bde9165b55ae':
An AHandler can now find its associated ALooper.
3ecb233c9c121af3e68ece11705043b1dbef505b 07-Jul-2010 Andreas Huber <andih@google.com> Merge "An AHandler can now find its associated ALooper." into gingerbread
e2b20987c2652a984d10520ef3542d50d91119c5 03-Jul-2010 Andreas Huber <andih@google.com> An AHandler can now find its associated ALooper.

Change-Id: Ic7087b8dcbc0d9abda272df0cb01b04b006f82ad
/frameworks/av/media/libstagefright/include/foundation/AHandler.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
a041596d1c4c85a2face27ead436721f8435e53a 02-Jul-2010 Andreas Huber <andih@google.com> am c4be155a: am 2cfd8198: Merge "Add an option to ALooper::start that allows it to call back into java or not." into gingerbread

Merge commit 'c4be155a540695c42bcd6589604f86d300f4548f'

* commit 'c4be155a540695c42bcd6589604f86d300f4548f':
Add an option to ALooper::start that allows it to call back into java or not.
34bbea84b8374f5d0ebe72b0be4418ace984fac0 02-Jul-2010 Andreas Huber <andih@google.com> Merge "Add an option to ALooper::start that allows it to call back into java or not." into gingerbread
1ef2a2b04c1e2488694c511bc954604da21b12d0 02-Jul-2010 Andreas Huber <andih@google.com> am 9f8c490e: am 5460d126: Merge "Added AMessage::debugString() for debugging purposes." into gingerbread

Merge commit '9f8c490e05f86cca1d60d6b6f383a1a98d7985fb'

* commit '9f8c490e05f86cca1d60d6b6f383a1a98d7985fb':
Added AMessage::debugString() for debugging purposes.
42d7f83904b8a91ce33e87a44de109572679ac1f 02-Jul-2010 Andreas Huber <andih@google.com> Add an option to ALooper::start that allows it to call back into java or not.

Change-Id: Iec172901a04a575d8d350bd162565f04677c3f26
/frameworks/av/media/libstagefright/include/foundation/ALooper.h
cbb56d14dad2785baf7a723b43aa6f1da32dc51f 02-Jul-2010 Andreas Huber <andih@google.com> Merge "Added AMessage::debugString() for debugging purposes." into gingerbread
bbc2b8289458cfde931b133bad0c9d1026674ee7 01-Jul-2010 Andreas Huber <andih@google.com> Added AMessage::debugString() for debugging purposes.

Change-Id: Id43ffd2c56d659dc29f37e277f8c7b38f11c1591
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
fc20aab463f527ab3b0664986f0381a86b375884 01-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding timelapse capture from videocamera.

Current implementation looks at the timestamps of all incoming frames in
CameraSource::dataCallbackTimestamp().
It drops all frames until enough time has elapsed to get the next time lapse frame.
When enough time has passed to capture the next time lapse frame, the frame is no longer dropped
and the timestamp of this frame is modified to be one frame time (1/framerate) ahead of the
last encoded frame's time stamp.

Change-Id: I82b9d5e96113dffa6901aac3b8a8ef999ffc1d0b
/frameworks/av/media/libstagefright/include/CameraSource.h
19c9a1e2bb6ead5e1e895aea8be573fe0f8cc7bb 01-Jul-2010 Andreas Huber <andih@google.com> Support for writing the extracted data to an .mp4 file in the stagefright commandline tool.

Change-Id: I972324a8fc9757e6e8116b0270ec0882106f8733
/frameworks/av/media/libstagefright/include/MediaWriter.h
3eaa4e92dbebb5b27cb89f329f31fac6fb6fe1f0 22-Jun-2010 Chih-Chung Chang <chihchung@google.com> Add multiple camera support for in MediaProfiles.

Change-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
1c8ed2e906576fd8d7fa03f577bdec518cbe13d7 30-Jun-2010 Andreas Huber <andih@google.com> Support for vanilla YUV420sp => RGB565 color conversion.

Change-Id: I22e5b554909e169eaf153d1f25b636f6f04a1871
/frameworks/av/media/libstagefright/include/ColorConverter.h
d329e21495eda9dbc531fdd0c26c77f1593ac3f4 30-Jun-2010 James Dong <jdong@google.com> Added encoding parameters set up for H263 video encoder

Also:
- Allowed start() call when encoder already starts and stop() call when encoder has not started yet
- Handled default value for audio/video sources/encoders and file output format

Change-Id: I03b2f7d3cf570baa0fd011a8c0ad200f2f2a5da1
/frameworks/av/media/libstagefright/include/OMXCodec.h
37047fceba836f341d0108beed0991b0f8dfc543 26-Jun-2010 James Dong <jdong@google.com> Separate MediaRecorderClient with MediaPlayerClient

- An alternative would be to define a common base class that
both MediaRecorderClient and MediaPlayerClient can derive.
But since the common code, onTransact() and notify() uses
some Binder code, having a common base class may not gain
us too much in terms of code reuse.

Change-Id: Ibc06720278ad173fceacff3d267b7060856c6316
VMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorderClient.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
93d6b102a13afa23bfa80d74c399d93d542e6ad6 25-Jun-2010 James Dong <jdong@google.com> Provide progress status report during authoring

- Track either the number of A/V frames authored, or the time elapsed
- Track the completion of the authoring
- Add multiple camera support for authoring by accepting a camera id parameter
- Set file type based on the OUTPUT_FORMAT requested

Change-Id: I0f9d31b3b7a8fa43eb53f572410fb0ebd4fa0bb7
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
658bd258af206ebc662301979482ba4bfd88481a 25-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Various fixes and improvements in audio effects implementation" into gingerbread
ffe9c25ce85e1af55d58ec025adc6367d70db7e8 24-Jun-2010 Eric Laurent <elaurent@google.com> Various fixes and improvements in audio effects implementation

Effect API:
- Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi:
Removed media/AudioCommon.h file created for initial version of EffectApi
- Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize
the implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware.
- Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode:
now an index is passed for the queried effect instead of implicitly querying the next one.
- Added CPU load and memory usage indication in effects descriptor
- Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine
- Added flag to indicate hardware accelerated effect implementation.
- Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h

Effect libraries:
- Reflected changes in Effect API
- Several fixes in reverb implementation
- Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library.
- Replaced pointer by integer identifier for library handle returned by effects factory

Audio effect framework:
- Added support for audio session -1 in preparation of output stage effects configuration.
- Reflected changes in Effect API
- Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines.
- Added some overflow verification on indexes used for deferred parameter updates via shared memory
- Added hardcoded CPU and memory limit check when creating a new effect instance

Change-Id: I43fee5182ee201384ea3479af6d0acb95092901d
udioCommon.h
ffectApi.h
ffectFactoryApi.h
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libeffects/factory/include/media/EffectsFactoryApi.h
2dec2b5be2056c6d9428897dc672185872d30d17 20-Jun-2010 James Dong <jdong@google.com> Enable passing parameters to the MediaWriter at runtime (at start() call).

- estimate the moov box size for mp4 file writer based on the file
size/duration limit and target bit rate.
- can switch to use 64 bit file offset at runtime

rebased

Change-Id: Ibbe1f57e91ab2605820d5d96e8048d11e5559c53
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
/frameworks/av/media/libstagefright/include/MetaData.h
d3d4e5069e1af0437c4f5a7b4ba344bda5b937af 25-Jun-2010 James Dong <jdong@google.com> Track maximum amplitude and fix getMaxAmplitude()

- only start to track the max amplitude after the first call to getMaxAmplitude()

Change-Id: I64d3d9ca0542202a8535a211425e8bccceca50fc
/frameworks/av/media/libstagefright/include/AudioSource.h
7bf4fab9e5590d345b93b559f35b2fb0f6b17ca8 24-Jun-2010 Andreas Huber <andih@google.com> Merge "Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright." into gingerbread
608d77b1cf4fb9f63dc861e4e1fa3e80a732f626 24-Jun-2010 Andreas Huber <andih@google.com> Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.

Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
1acfe8649f8169caf2ff098c2dc2de880d9a3760 23-Jun-2010 James Dong <jdong@google.com> Fixed some meta data issues in the recorded mp4 file

- Mainly correcting the location of stbl box which should be a child of minf box.
This resolved the issue where the mis-muxed encoded file could not be played by QT/VLC.

- Enabled the the recorded tracks by setting the flags to 0x07 by default

- Allows for encoding either 32-bit or 64-bit offsets. By default encoding
32-bit offsets to reduce the metadata overhead

- Fixed a edts box issue where an empty elst box was used at the end

Change-Id: I570621a26714a81dc9400271aa5d3a07b483172f
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
dadd0d1e7d5fbb88fd3420438c590a0bb4c18af5 23-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Added support for audio sessions in MediaPlayer and AudioTrack." into gingerbread
41b2d090b23889c56bf0a889a8c9c2fb934015e8 23-Jun-2010 Chia-chi Yeh <chiachi@android.com> Merge "media: add AudioRecord::getMinFrameCount()." into gingerbread
a514bdb58b5de4986679f72b7204b4764f7a2778 21-Jun-2010 Eric Laurent <elaurent@google.com> Added support for audio sessions in MediaPlayer and AudioTrack.

Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
15304d601cbf83be6519ca53e1a26b97d50d0192 22-Jun-2010 Chia-chi Yeh <chiachi@android.com> media: add AudioRecord::getMinFrameCount().

Change-Id: I952071ab10aa49aa96b727d157b68470d69fff3d
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
58ae9c530247668f8af36e30d228c716c226b3d4 22-Jun-2010 James Dong <jdong@google.com> Single track optimization

We don't need to do interleave when the total number of tracks to be recorded is one.
Metadata-wise, we only need to have one chunk in chunk offset table, and a
single entry in the stsc table.

Change-Id: I46f0e4b3860620311e7a91b68a9067acaa137bb2
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
0cd1e0bf7a0db4dcc111ee0732cbe2ec6e02b5af 22-Jun-2010 James Dong <jdong@google.com> Merge "Audio/video sync during recording (second part)" into gingerbread
f60cafe0e6aad8f9ce54660fa88b651ae4e749e6 19-Jun-2010 James Dong <jdong@google.com> Audio/video sync during recording (second part)

Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
33005a932c60a0780fe9b7307d5988df3d9f6c26 16-Jun-2010 Chia-chi Yeh <chiachi@android.com> media: add AudioTrack::getMinFrameCount().

Change-Id: If15162583d1d16d89f59be0793106afe77417f35
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
1616fa4a567bae928dfd28ebf1ec45cd701f27f1 14-Jun-2010 Eric Laurent <elaurent@google.com> Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI." into kraken
a7d1a2dd776bf356c228785a94ba8e0ff6a2ec7f 10-Jun-2010 James Dong <jdong@google.com> Initial checkin for pause and resume control

Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
801a1186eb1d2ce195b15222701865932e08f3dc 09-Jun-2010 Eric Laurent <elaurent@google.com> Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.

Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations,
OpenSL ES effect interfaces and audio effect JNI.

Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class
to implement more specific JAVA classes to control audio effects from JAVA applications.

Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
/frameworks/av/media/libaudioclient/include/media/AudioEffect.h
0a5baa9b411fe086013d2a5e9126ed63fbad046c 10-Jun-2010 Andreas Huber <andih@google.com> Switch stagefright's approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.

Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libstagefright/include/CachingDataSource.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
61ea6c1bc242841663cb6f3601f89fd929882d0b 11-Jun-2010 Andreas Huber <andih@google.com> Merge "Initial check-in of new caching/prefetching data source implementation." into kraken
d35bd5fb4e09c2cd8608497c279cbb2ef9c3a029 10-Jun-2010 Andreas Huber <andih@google.com> Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek.

Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
5994b4798b01f3dd340577c9ea9657f09093a770 10-Jun-2010 Andreas Huber <andih@google.com> Initial check-in of new caching/prefetching data source implementation.

Change-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504
/frameworks/av/media/libstagefright/include/foundation/AHandlerReflector.h
ddcc4a66d848deef6fb4689e64e30cd9bd2684fe 08-Jun-2010 James Dong <jdong@google.com> Remove some hard-coded encoding parameters

Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
365a963142093a1cd8efdcea76b5f65096a5b115 04-Jun-2010 James Dong <jdong@google.com> Initial check-in for collecting stats from authoring engine at runtime

Change-Id: I93a9d8bd260efc5e7fc135b726e3f1307c6df794
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/CameraSource.h
d07139e2e817a9b3ae9c87ba4e1e8d65d3e549da 07-Jun-2010 James Dong <jdong@google.com> Second part of speeding up video recording frame rate

1. Avoid copying the input recording frames to the encoder via OMX interface
for TI video encoder
This is a missing change for part one which help reduces the CPU load.

2. Release output buffers as early as possible. This is a little bit helpful, but not critical.

TODO:
We should save the underlying pointers allocated by the OMX component before we replace them
and restore them before we call OMX_FreeBuffer()!

Change-Id: Ib3a88978f4c3b1153808872eaa7ac4c265a811ff
/frameworks/av/media/libstagefright/include/OMXCodec.h
cda17c606b0fe3ccda4dc68a6d43882410ea2462 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of mpeg2 transport stream parser for stagefright.

Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
/frameworks/av/media/libstagefright/include/MediaDefs.h
c46e8b9fdce32bafb0b84cdb16affbdd35c2e3ba 07-Jun-2010 Andreas Huber <andih@google.com> Merge "Initial checkin of "foundation" library for future stagefright development." into kraken
72961230a5890071bcca436eb5630172ce84ec41 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of "foundation" library for future stagefright development.

Change-Id: I11714dcaa647d0437a13e4c5b953b35e712da8f3
/frameworks/av/media/libstagefright/include/foundation/AAtomizer.h
/frameworks/av/media/libstagefright/include/foundation/ABase.h
/frameworks/av/media/libstagefright/include/foundation/ABuffer.h
/frameworks/av/media/libstagefright/include/foundation/ADebug.h
/frameworks/av/media/libstagefright/include/foundation/AHandler.h
/frameworks/av/media/libstagefright/include/foundation/ALooper.h
/frameworks/av/media/libstagefright/include/foundation/ALooperRoster.h
/frameworks/av/media/libstagefright/include/foundation/AMessage.h
/frameworks/av/media/libstagefright/include/foundation/AString.h
/frameworks/av/media/libstagefright/include/foundation/base64.h
/frameworks/av/media/libstagefright/include/foundation/hexdump.h
c00d6f3ffc0eace26954e1863568820bd21794c0 07-Jun-2010 James Dong <jdong@google.com> Merge "Remove hard-coded pixel format for recording frames in CameraSource. Retrieve the pixel format from Camera HAL at runtime." into kraken
653252be963c07c99109d20f942d1f30c52a9360 03-Jun-2010 James Dong <jdong@google.com> Remove hard-coded pixel format for recording frames in CameraSource.
Retrieve the pixel format from Camera HAL at runtime.

Change-Id: I63f820f54c59c2019dfd195320b9928da3362536
/frameworks/av/media/libstagefright/include/CameraSource.h
be916aa1267e2e6b1c148f51d11bcbbc79cb864c 02-Jun-2010 Eric Laurent <elaurent@google.com> Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.

First drop of audio framework modifications for audio effects support.

- AudioTrack/AudioRecord:
Added support for auxiliary effects in AudioTrack
Added support for audio sessions
Fixed left right channel inversion in setVolume()

- IAudioFlinger:
Added interface methods for effect enumeraiton and instantiation
Added support for audio sessions.

- IAudioTrack:
Added method to attach auxiliary effect.

- AudioFlinger
Created new classes to control effect engines in effect library and manage effect connections to tracks or
output mix:
EffectModule: wrapper object controlling the effect engine implementation in the effect library. There
is one EffectModule per instance of an effect in a given audio session
EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.
EffectChain for session 0 is for output mix effects, other chains are attached to audio tracks
with same session ID. Each chain contains a variable number of EffectModules
EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application
controlling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.

Added support for effect modules and effect chains creation in PlaybackThread.
modified mixer thread loop to allow track volume control by effect modules and call effect processing.

-AudioMixer
Each track now specifies its output buffer used by mixer for accumulation
Modified mixer process functions to process tracks by groups of tracks with same buffer
Modified track process functions to support accumulation to auxiliary channel

Change-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c
ffectApi.h
ffectFactoryApi.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
7278cf32f1aa6a322f6dff1f8b7dacf7b6dddba6 28-May-2010 James Dong <jdong@google.com> Avoid copying for input recording frames in CameraSource

This is the part one.

- Let CameraSource be a MediaBufferObserver. It releases the recording frame when the ref count of a MediaBuffer containing
the recording frame drops to 0.

This reduces the CPU load from 90+% down to 50-60%.

Part two is related to the avoidance of copying the input video frames to the video encoder.
However, we are not able to use OMX_UseBuffer directly. Still work on the second part.

Change-Id: I906f1d054ae8bdcf82e1617f1fc120152f2eb2eb
/frameworks/av/media/libstagefright/include/CameraSource.h
5b39604a55f1624ced347da7b790c4206d2d999f 27-May-2010 James Dong <jdong@google.com> Merge "Avoid repeatedly allocating and freeing memory in CameraSource" into kraken
cbe48a0678729eb863b259b4744e6ad12faf0475 20-May-2010 James Dong <jdong@google.com> Avoid repeatedly allocating and freeing memory in CameraSource

Change-Id: Ia3760820da0559e4e908dedae1f1df05f9a6a242
/frameworks/av/media/libstagefright/include/CameraSource.h
d71a1be83ff31cdb6599c351f9832cefc8d447ba 21-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2667797: [Audio Effect Framework] new base class and binder interfaces for effect control.

Added IEffect and IEffectClient binder interfaces to exchange effect module control
and status information between application and media server processes.

Change-Id: I10e8e894898e52ed9956a765d0ef7075eb2593af
/frameworks/av/media/libaudioclient/include/media/IEffect.h
/frameworks/av/media/libaudioclient/include/media/IEffectClient.h
9bca89d50d0c51d8e3f3e74d610b7d9a2dc98ed3 25-May-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries." into kraken
135ad07e33d30e5202deb21061a0e3ecf0ffad35 21-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries.

First effect factory and effect library API implementation.
Also added default effect libraries for reverb and equalizer effects.
These libraries are for functional test only and are not fine tuned with
regard to audio quality. They will probably be replaced by other implementations
before the release.

Change-Id: I6868f8612146ae282c64052765c61a52ec789ec8
udioCommon.h
ffectApi.h
ffectEqualizerApi.h
ffectFactoryApi.h
ffectReverbApi.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
093437c388e5dff6903a3d43f2ca9f8a1ba4744a 20-May-2010 Andreas Huber <andih@google.com> Support for media extraction from .mkv/.mka Matroska files in stagefright.

Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca
related-to-bug: 2483739
/frameworks/av/media/libstagefright/include/MediaDefs.h
956c553ab0ce72f8074ad0fda2ffd66a0305700c 15-May-2010 James Dong <jdong@google.com> Initial software encoder checkins

Change-Id: I27f387db23594e46384c4eb3a0093ce220bb6b60
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
d1b449aad6c087a69f5ec66b7facb2845b73f1cb 14-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2553359: Pandora does not work well with Passion deskdock / Cardock.

The problem is due to a too big difference between the buffer size used at the hardware interface and at the A2DP interface.
When no resampling occurs we don't notice problems but the timing is very tight. As soon as resampling is activated, the AudioTrack underruns.
This is because the AudioTrack buffers are not resized when moving the AudioTrack from hardware to A2DP output.
The AudioTrack buffers are calculated based on a hardware output buffer size of 3072 bytes. Which is much less than the A2DP output buffer size (10240).

The solution consists in creating new tracks with new buffers in AudioFlinger when the A2DP output is opened
instead of just transfering active tracks from hardware output mixer thread to the new A2DP output mixer thread.
To avoid synchronization issues between mixer threads and client processes, this is done by invalidating tracks
by setting a flag in their control block and having AudioTrack release the handle on this track (IAudioTrack)
and create a new IAudioTrack when this flag is detected next time obtainBuffer() or start() is executed.

AudioFlinger modifications:
- invalidate the tracks when setStreamOutput() is called
- make sure that notifications of output opening/closing and change of stream type to output mapping are sent synchronously to client process.
This is necessary so that AudioSystem has the new stream to output mapping when the AudioTrack detects the invalidate flag in the client process.
Previously their were sent when the corresponding thread loop was executed.

AudioTrack modifications:
- move frame count calculation and verification from set() to createTrack() so that is is updated every time a new IAudioTrack is created.
- detect track invalidate flag in obtainBuffer() and start() and create a new IAudioTrack.

AudioTrackShared modifications
- group all flags (out, flowControlFlag, forceReady...) into a single bit filed to save space.

Change-Id: I9ac26b6192230627d35084e1449640caaf7d56ee
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
f0ce2fb0c7bf3a414279e5aba61105f3d9025c0e 14-May-2010 James Dong <jdong@google.com> Detect and handle premature termination of a recording session

Change-Id: Ifb83b19f3e68580345b23efed5d5956fb81baeb8
/frameworks/av/media/libmedia/include/media/mediarecorder.h
3c0131f02b6f008321608044c53bccce2ac5f6dd 13-May-2010 James Dong <jdong@google.com> Audio/video initial recording time synchronization

Change-Id: Iac58b63d474fe09c1d36ba6ecde91dafbb7fef9a
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
d599cd4573b5a2d5914c5040e0565ef866749b77 11-May-2010 James Dong <jdong@google.com> Handle recording file size and/or duration limit

Change-Id: Ib9ed1f3ebd8fef550cc130a7ef11f2905fa9aedc
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
65ae665befd929efd1a7d1c9addac41c699f04b2 13-May-2010 James Dong <jdong@google.com> Remove dummy surface in CameraSource

bug - 2680919

Change-Id: Ia0308cf57fd67058b4dd0e042b3ce97f13df475f
/frameworks/av/media/libstagefright/include/CameraSource.h
8229dabcc36a015a6cf11a9b0b2e948ac0476552 12-May-2010 Andreas Huber <andih@google.com> am b003ad17: am e0dc80f8: Merge "Support for customizable socket-read timeouts through the HTTP response." into froyo

Merge commit 'b003ad17bffeba7875b9708ffeef2300ef28c916' into kraken

* commit 'b003ad17bffeba7875b9708ffeef2300ef28c916':
Support for customizable socket-read timeouts through the HTTP response.
ba7c35717116e4dcb8242644f6ccf07c25c7b251 11-May-2010 Andreas Huber <andih@google.com> Support for customizable socket-read timeouts through the HTTP response.

Specify a response header of "X-SocketTimeout: 15" to override the default timeout
of 5 secs with a timeout of 15 seconds. Specify a negative value to disable the
timeout altogether.

Change-Id: I545adf3d8b3f7efe5f8d081a641c6404440a77db
related-to-bug: 2675721
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
7837c17063a4c50bc856ba59418516fdab731de7 07-May-2010 James Dong <jdong@google.com> Output streamable MP4 file during MP4 file recording

When the reserved moov box space is not big enough,
fall back to non-streamable MP4 file.

Change-Id: I93382d037d657a3f3fe2af31e4ea26e1898b4d95
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
b1ccb623d9db42c451aa9dd4e8cf0e76b164aa50 10-May-2010 Andreas Huber <andih@google.com> am 17078510: am d13efb20: Merge "A new OggExtractor/VorbisDecoder combo to support approximate seeking." into froyo

Merge commit '1707851090e6512a77247b0c260dd673ef687589' into kraken

* commit '1707851090e6512a77247b0c260dd673ef687589':
A new OggExtractor/VorbisDecoder combo to support approximate seeking.
ee7ff20e69498ebd53dd9717a0f984188341a75e 07-May-2010 Andreas Huber <andih@google.com> A new OggExtractor/VorbisDecoder combo to support approximate seeking.

Change-Id: Id5d0c1c8b1adc62896bb5ed951f7b5cfda811e95
related-to-bug: 2654400
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/Utils.h
d8a30349da270715156d3f658b165481ce10cf71 06-May-2010 Andreas Huber <andih@google.com> am 71bd9fc8: am 100ef9be: Merge "Disable vorbis seek when streaming from localhost." into froyo

Merge commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c' into kraken

* commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c':
Disable vorbis seek when streaming from localhost.
acdd9d0f59c3d8bdc3de80664a609527ec3d21e2 06-May-2010 Andreas Huber <andih@google.com> Disable vorbis seek when streaming from localhost.

Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f
related-to-bug: 2654400
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
13aec890216948b0c364f8f92792129d0335f506 22-Apr-2010 James Dong <jdong@google.com> Support audio and video track interleaving in the recorded mp4 file

Change-Id: Ifa27eb23ee265f84fe06773b29b0eb2b0b075b60
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
3830a4f133893e6a77a967c84220d7baf9687f23 04-May-2010 Andreas Huber <andih@google.com> am 8ea45aad: am e083d0a2: Merge "Support for Ogg Vorbis decoding in stagefright." into froyo

Merge commit '8ea45aad100ee25067b2e83703454c71a968ba4f' into kraken

* commit '8ea45aad100ee25067b2e83703454c71a968ba4f':
Support for Ogg Vorbis decoding in stagefright.
3cf4e43cdd391502690c07e08e805aa8ff5db0c0 04-May-2010 Andreas Huber <andih@google.com> Support for Ogg Vorbis decoding in stagefright.

Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright.

Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8
related-to-bug: 2654400
/frameworks/av/media/libstagefright/include/MediaDefs.h
c32cd79d9ad4aba7d959b5b3be7361b4715e6f18 27-Apr-2010 James Dong <jdong@google.com> Use timestamp from camera driver for CameraSource

Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
/frameworks/av/media/libstagefright/include/CameraSource.h
88b1b1c7331023828108daa57fcea858c7706566 13-Apr-2010 Andreas Huber <andih@google.com> am 248ea4a9: am 5baa5e19: Merge "Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\'t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks." into froyo

Merge commit '248ea4a9f773210a7b7dbd7892e6b865a0f7add3' into kraken

* commit '248ea4a9f773210a7b7dbd7892e6b865a0f7add3':
Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.
81f82c32459029bf0744e28c73f95a7f18cab5ac 13-Apr-2010 Andreas Huber <andih@google.com> Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.

Change-Id: Ic9a9198413431db4ea40bb63b9de91aa8a7183af
related-to-bug: 2587341
/frameworks/av/media/libstagefright/include/MediaDefs.h
ebe87f32e442c9a8fb2931632311d6c5a126eddb 23-Mar-2010 Andreas Huber <andih@google.com> Remove unnecessary lock from AMRWriter.

Change-Id: Ia02966d936dd8cbb31e92051578a3fa816885710
/frameworks/av/media/libstagefright/include/AMRWriter.h
1ab1e4ec459ab549f79a98693a67f241861450be 08-Apr-2010 Andreas Huber <andih@google.com> Refactor connection/redirection code, support redirects on reconnection.

Change-Id: Id2517568000e028b01553c06a4893813a6883168
related-to-bug: 2580785
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
d8c76856c6d52dcd11a90124dafef0af99956e15 08-Apr-2010 Andreas Huber <andih@google.com> Increase the size of the pages used in CachingDataSource (total amount of memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing "\r\n" in the range header and better error handling on http connection.

Change-Id: Ic9a6ef204362bc9afdc61e081c76bc62e5ef92ad
related-to-bug: 2580785
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
7f498b90a4300ef9badf14d202b0a67c26e20931 02-Apr-2010 Andreas Huber <andih@google.com> Coalesce multiple encoded AAC frames into a single input buffer on this particular OMX codec to increase throughput significantly.

Change-Id: I90c7db6656a53339c5d454336548c4f00d0d9064
related-to-bug: 2548426
/frameworks/av/media/libstagefright/include/OMXCodec.h
0b42f253d15a190e230df43a4b45a3c483e5869a 31-Mar-2010 James Dong <jdong@google.com> Public API changes for CameraProfile and CamcorderProfile classes

1. CamcorderProfile: “@see” links are broken; Remove m prefix from fields; remove “final”
2. CamcorderProfile.Quality: use an int rather than an enum
3. Add API on MediaRecorder to pass in a CamcorderProfile
4. CameraProfile.getImageEncodingQualityLevels @hide or make it consistent with CamcorderProfile
5. Remove a convenient method and instead let the (mms) app do that task

bug - 2553862

Change-Id: I759215c7892f772aeddf3651d17038489c6fbc50
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
0887d170c7dc57411855382e326dd471824c9c02 18-Mar-2010 Andreas Huber <andih@google.com> While streaming media data, upon a socket-read error, try reconnecting to the server and attempt to re-read for at most 3 times.

Change-Id: I7534905e07a6456d18b26d5d60fa8915f25ae99e
related-to-bug: 2492187
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
2a3847ee1cbdaa8a65eee397a0173bb02211c459 16-Mar-2010 Andreas Huber <andih@google.com> Properly handle errors during the codec configuration phase, attempt to revert to next available (likely software-) codec if configuration fails.

Change-Id: Id1c699711e30139c9cc29df972254b5ba026e6fb
related-to-bug: 2517098
/frameworks/av/media/libstagefright/include/OMXCodec.h
93e1fb99a0c66784b49b105ce84a23baf054ee9c 13-Mar-2010 Andreas Huber <andih@google.com> Fix the media metadata retriever (tests). The native constants must match those published at the java layer.

Change-Id: Ic1efed709e4d93c61913b231a8cd3ef1074f8ca0
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
e94bd14078d327ef2f800e69907efce641a13272 12-Mar-2010 Andreas Huber <andih@google.com> HTTPStream and HTTPDataSource now support cancellation of the connection process, AwesomePlayer takes advantage of this in cases where ::reset() or ::suspend() is called while in the preparation phase to bail out early. Also fixes in issue where the audio codec was not properly stopped if no audio player object ever took ownership.

Change-Id: I6d73defe6d276693853a469db267bb2668d07af5
related-to-bugs: 2475845,2414536
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
79b19b39acce9b1303f8cf1a11c6b7ef852dc5a8 11-Mar-2010 Andreas Huber <andih@google.com> Reduce buffer sizes related to HTTP media data transfer in order to reduce the probability of a connection timeout/reset due to long periods of time between socket activity.

Change-Id: I799ce1d58d56a31088a89603d8a18d24780f5b57
related-to-bug: 2492187
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
2e39c1ca101e01ff13b03129a87939e7982b25bf 10-Mar-2010 Andreas Huber <andih@google.com> Instead of instantiating StagefrightMetadataRetriever directly, instantiate a MediaMetadataRetriever which will do-the-right-thing(tm) even for .wma/.wmv/.asf files.

Change-Id: Ibda4b5268514934f14a3d49a564902bc670f4384
related-to-bug: 2074137
/frameworks/av/media/libstagefright/include/StagefrightMediaScanner.h
e7e3b785a0e7819db4c895a4f60e9a4dd755880c 09-Mar-2010 Andreas Huber <andih@google.com> The audio track was accidentally not participating in the prefetch since it wasn't started at the time prepare() was called. Also, properly report the cached duration even near the end when the source has no more data to fetch.

Change-Id: I66a92fec24c9bfb25f1c186f1c877127bae2b4f9
related-to-bug: 2444425
/frameworks/av/media/libstagefright/include/AudioPlayer.h
05bca2fde53bfe3063d2a0a877f2b6bfdd6052cf 26-Feb-2010 Eric Laurent <elaurent@google.com> Issue 2071329: audio track is shorter than video track for video capture on sholes

Add API to retrieve number of frames dropped by audio input kernel driver.

Submitted on behalf of Masaki Sato <masaki.sato@motorola.com>
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
dedec7365f6c4dfbfc69994a8756b4abb5031afa 26-Feb-2010 James Dong <jdong@google.com> Merge "Image encoding settings java API through xml configuration file"
f5a8385649204213dc19e1a64f4693931e048d85 24-Feb-2010 James Dong <jdong@google.com> Image encoding settings java API through xml configuration file

- I decided to completely remove jpeg decoding related stuff from this change
I think that setting is better off if it is specified by the system properties.
We don't have to include MediaProfiles.h header in skia files
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
5295c0c55d41a2906ea7f65a3f22e6278cb17d4b 23-Feb-2010 Andreas Huber <andih@google.com> Propagate errors all the way through the MediaSources and send either MEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR depending on the final reason for running out of buffers to play back.

related-to-bug: 2463749
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
86559de0275b46a9bdba06b749fbd549ad2022d1 22-Feb-2010 Andreas Huber <andih@google.com> This hardware video decoder lies about its required input buffer sizes allocating 2.7 MB of memory instead of the required 176 KB... Added another quirk.

related-to-bug: 2281327
/frameworks/av/media/libstagefright/include/OMXCodec.h
4e92c7efc68b5d7635a32dbd283ab8558ad9bdd6 12-Feb-2010 Andreas Huber <andih@google.com> New API on java's MediaPlayer to suspend/resume a session.

related-to-bug: 2231576
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
328901bdc7c00ab361c5ef16d0d69c94a0458e95 11-Feb-2010 Marco Nelissen <marcone@google.com> Merge "Add support for "album artist" tag."
66ac4df65516ebfd0e500bfca75dc4b5ef8d674e 11-Feb-2010 Marco Nelissen <marcone@google.com> Add support for "album artist" tag.
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libstagefright/include/MetaData.h
3cf613507f1e2f7bd932d921a6e222e426fd3be4 10-Feb-2010 Mathias Agopian <mathias@google.com> split libsurfaceflinger_client and libcamera_client out of libui
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/HardwareAPI.h
7d5b8a70c28c0d5746a600467b2887822dbff88e 10-Feb-2010 Andreas Huber <andih@google.com> Implementation of stagefright-enabled MediaPlayerService::decode functionality

related-to-bug: 2359268
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
6c8a9a4132337a3419a72a735f0b40df0b82061f 08-Feb-2010 Marco Nelissen <marcone@google.com> Add support for the TPOS/TPA (disc number) id3 tag.
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libstagefright/include/MetaData.h
13896b94336085d4e6ff555fa1a420312e8dea79 04-Feb-2010 James Dong <jdong@google.com> Camcorder profile Java API support
- Use Enum for Quality instead of int
- Use static values() method from Enum, rather than if-else

bug - 2417312
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
1862a33b246249630b654182afb5914da3480d4c 03-Feb-2010 Andreas Huber <andih@google.com> Fix a deadlock caused by the AudioPlayer notifying the observer that the stream had ended at the same time the observer was shutting down the AudioPlayer.

related-to-bug: 2414536
/frameworks/av/media/libstagefright/include/AudioPlayer.h
de6bec4ec04e9b8e9f96bc44fc15e6d072f851a8 02-Feb-2010 Andreas Huber <andih@google.com> Don't use a HEAD request to determine redirects, instead do a regular GET (since that's always supported), also limit the number of redirects to avoid infinite redirects. Finally, properly handle the end of stream.

related-to-bug: 2403674
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
4cf04b1bf703522b37a60427ef02f2a18b218c19 02-Feb-2010 Andreas Huber <andih@google.com> Properly advertise the content length of the HTTP stream if available.

related-to-bug: 2312941
/frameworks/av/media/libstagefright/include/CachingDataSource.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
a62aad3d3313f02a759ab2fcb92e160272badd5b 02-Feb-2010 James Dong <jdong@google.com> Merge "Initial check-in for xml-based encoder capabilities retrieval - Changed the Java API as suggested - Treat /etc/media_profiles.xml as the default xml configurtion file"
1d7491b19516505e0754c66a3c8cd61811c9b6a6 20-Jan-2010 James Dong <jdong@google.com> Initial check-in for xml-based encoder capabilities retrieval
- Changed the Java API as suggested
- Treat /etc/media_profiles.xml as the default xml configurtion file
/frameworks/av/media/libmedia/include/media/MediaProfiles.h
78d529eb330ab6c04b5c694403f5a7e7de4b702f 01-Feb-2010 Andreas Huber <andih@google.com> The TI MP3 decoder lies about the number of channels it outputs, add a quirk for that.
/frameworks/av/media/libstagefright/include/OMXCodec.h
88c030e0e0152791ff74f90249f55fce01371198 29-Jan-2010 Andreas Huber <andih@google.com> Properly forward errors returned by AudioTrack up to the player.

related-to-bug: 2300197
/frameworks/av/media/libstagefright/include/AudioPlayer.h
5561ccf4a8db88a2e44eac1b3ed13b4ff53a7f20 28-Jan-2010 Andreas Huber <andih@google.com> Support the specification of additional HTTP headers in the creation of a DataSource.

related-to-bug: 2393577
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
2db8455d8f4468a637109d31f319ce02d9d743ec 28-Jan-2010 Andreas Huber <andih@google.com> API Extension: Support for optionally specifying a map of extra request headers when specifying the uri of media data to be played.

related-to-bug: 2393577

Original change by Andrei Popescu <andreip@google.com>
VPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
8566a635aa4bf6d2e908f0bc64d4fb8917025b58 28-Jan-2010 Andreas Huber <andih@google.com> Fix http streaming for shoutcast servers that do not support http ranges.

related-to-bug: 2295438
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
dd26833953e9e965df0421c854a3b86a1bb56715 27-Jan-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync"
e9f8c544dbe0ac7ff88df18bfe9084c72e3ac1d5 27-Jan-2010 Andreas Huber <andih@google.com> Merge "Better support for HTTP streaming media content, fixes to the way HTTPDataSource streams the data, prefetcher implementation."
342e9cf388cceb807def720e40e8b0a217f4bcaa 20-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync

Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames
written by AudioFlinger to audio HAL and by DSP to DAC.

Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames
written by DSP to DAC.

Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player.

Removed excessive log in AudioHardwareGeneric.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
66b0a35c9a4136a84c3f73b1b25fcb5220138b95 27-Jan-2010 Andreas Huber <andih@google.com> Better support for HTTP streaming media content, fixes to the way HTTPDataSource streams the data, prefetcher implementation.

related-to-bug: 2295438
/frameworks/av/media/libstagefright/include/CachingDataSource.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
2dce41ad26cb3e9e15c9e456a84bcf5309548ca0 26-Jan-2010 Andreas Huber <andih@google.com> Support for audio recording into AMR NB/WB files as well as audio tracks in MPEG4 files.

related-to-bug: 2295449
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaWriter.h
e7dc360f6fcb4d5348e72ba57e936254216ae399 26-Jan-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active."
e7c9cb48fec02697227bd847cd2e69432659adfd 25-Jan-2010 Andreas Huber <andih@google.com> Initial checkin of AudioSource and AMRWriter, a pair of classes supporting pure-audio recording in stagefright.

related-to-bug: 2295449
/frameworks/av/media/libstagefright/include/AMRWriter.h
/frameworks/av/media/libstagefright/include/AudioSource.h
b72a396826da8bd934b9531bbd40f86d7509e71c 25-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.

Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.

Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
213addfaf4b359c69da4e9b4490c511d116845bb 25-Jan-2010 Andreas Huber <andih@google.com> The qcom OMX video decoders do not allocate output buffer memory at the time OMX_AllocateBuffer is called, wait until we received the first FILL_BUFFER_DONE notification until we rely on the buffer data ptr.
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
570a3cb7582daa030cb38eedc5eb6a06f86ecc7f 21-Jan-2010 Andreas Huber <andih@google.com> Fix no-copy-overhead OMXCodec implementation to actually work.
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
dcd7303ad62ae4be828edfa1b8d61b18b0fb1ec0 20-Jan-2010 Andreas Huber <andih@google.com> Merge "Support for 'iTunes-style' metadata in .mp4 and .3gp files."
0cdfa68cd07150b1f9f329ef0a76761b64ea1fdc 20-Jan-2010 Eric Laurent <elaurent@google.com> Merge "Create base class for audio policy manager."
72b8c5ae6a5f97a4fcfc6d23d33159d6ae50179c 20-Jan-2010 Andreas Huber <andih@google.com> Support for 'iTunes-style' metadata in .mp4 and .3gp files.

related-to-bug: 2368967
/frameworks/av/media/libstagefright/include/MetaData.h
5cb4241cbeb409f2322bd527349c080a2cf454df 19-Jan-2010 Andreas Huber <andih@google.com> Merge "Avoid unnecessary buffer copying if at all possible, detect if running in the mediaserver process."
7eaa9c9385535b651064e02d05a8ffa4b2359281 16-Jan-2010 Andreas Huber <andih@google.com> Avoid unnecessary buffer copying if at all possible, detect if running in the mediaserver process.
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
dd172fce75b2a1c3cb3a5d3b3bbb5020b1ae8675 16-Jan-2010 James Dong <jdong@google.com> Media server death nodification
/frameworks/av/media/libmedia/include/media/IMediaDeathNotifier.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
7be6407f2ad7f2b0782d195d9f792072c084d6f5 13-Jan-2010 Andreas Huber <andih@google.com> Support for determining the mime type of media via metadata extraction.
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
bd4bc59262df90dc85752684a1d4a92833a535a3 13-Jan-2010 Andreas Huber <andih@google.com> More metadata support.
/frameworks/av/media/libstagefright/include/MetaData.h
492e666e47795326f4b12b87b150b550e6074bd8 10-Dec-2009 Eric Laurent <elaurent@google.com> Create base class for audio policy manager.

First implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.
Creating AudioPolicyManagerBase base class will improve code maintainability and readability.

Audio policy manager code for platforms using generic audio previously in AudioPolicyManagerGeneric is replaced by AudioPolicyManagerBase.
Audio policy manager test code previously in AudioPolicyManagerGeneric is moved to AudioPolicyManagerBase.

Also added a wake lock for delayed commands in AudioPolicyService.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
fc9ba09e3bb368f823d473f5e2bb9aa32dba6289 12-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:55:56 2010 -0800

Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:20:45 2010 -0800

Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 8 14:26:09 2010 -0800

A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 7 15:48:44 2010 -0800

Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MetaData.h
67e5a4f6f6879d512a859e5dba92e9beec7a2f91 08-Jan-2010 Andreas Huber <andih@google.com> Reorganize some of the stagefright implementation related to metadata.
/frameworks/av/media/libstagefright/include/StagefrightMediaScanner.h
3e9549e47e2ccc0e37637854f673654750db289f 23-Dec-2009 Eric Laurent <elaurent@google.com> am f31f365a: am eb5ffc23: Merge change Id8e98194 into eclair

Merge commit 'f31f365a7708c931e955670bc6213fdc8f91a87a'

* commit 'f31f365a7708c931e955670bc6213fdc8f91a87a':
Fix issues 2333450 and 2333559:
368f5743636d24a6ff70a53b6c9073477cd60ede 23-Dec-2009 Eric Laurent <elaurent@google.com> am eb5ffc23: Merge change Id8e98194 into eclair

Merge commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c' into eclair-plus-aosp

* commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c':
Fix issues 2333450 and 2333559:
7ddd450f91dc508b26cc550f5b42fded8a731654 17-Dec-2009 Eric Laurent <elaurent@google.com> Fix issues 2333450 and 2333559:

Add new config values to AudioSystem::FOR_DOCK force usage to differenciate car and desk docks.
Use a receiver for the sticky Intent.ACTION_DOCK_EVENT in AudioService to detect the type
of dock and select force usage accordingly.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
41760137878022ae1788d3893f8c1ce60ee54971 17-Dec-2009 Andreas Huber <andih@google.com> am 082e5171: Merge change I895fb7d7 into eclair-mr2

Merge commit '082e51712ab9c9ce94eaee88797bbdbc80b2004d' into eclair-mr2-plus-aosp

* commit '082e51712ab9c9ce94eaee88797bbdbc80b2004d':
Squashed commit of the following:
134ee6a324c35f39e3576172e4eae4c6de6eb9dc 16-Dec-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 144b1c40e9cf08a584c50e1bef7ba3f287e81a4f
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:28:23 2009 -0800

This H264 file shows a certain problem even better.

commit 3245f1f3b7471975aeeb824a756c987abd610f55
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:20:08 2009 -0800

Using only the QA testfiles now.

commit 074817eb3816c5dd70858a3594e3b92d799d873b
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 16:17:39 2009 -0800

Yay, roles are back again now that the API is in place.

commit 6d847e4932cc38301ae27cb7283b7f1553a95457
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 13:01:20 2009 -0800

Added commandline option for specifying the random seed for reproducable tests.

commit 62ab37b26336eaa67e49791c41c996acb6acee3f
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 14 10:53:27 2009 -0800

When issuing a seek it is important that only the first MediaSource::read call has the seek option.

commit e77c46644b2fb6862bafa3569f7d304252074f1e
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 7 16:39:07 2009 -0800

Make sure the tests are actually built, sp<OMXCodec> becomes sp<MediaSource>

commit 6df56915bd55a9445b3c6f953d3cc251d81579b8
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 3 14:25:36 2009 -0800

Temporarily disable support for querying the roles of OMX components.

commit 31bb26930df9e3658dea684cedb4b0f1a06a4a88
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 13:36:52 2009 -0800

Disregard EOS events, slightly change the way the EOS flag on output buffers is handled.

commit 4c382fbc9aebee8197d5988d04378062809e7c48
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 09:37:24 2009 -0800

New random seek test for the codec tests. Fixed "sticky" end-of-output-buffers flag behaviour in OMXCodec.

commit c762eac3e44309592b61a168d66e091cf609fa03
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 14:13:43 2009 -0800

Fix a typo.

commit 50540a59b65c7d476b0193c7494cd75895e6ca6d
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 09:48:35 2009 -0800

Some more fine tuning of the unit tests, make MPEG4Extractor less verbose.

commit 1157a7e52a0636706caa235abe16d2ff8a0b8140
Author: Andreas Huber <andih@google.com>
Date: Wed Oct 28 12:01:01 2009 -0700

Changes to the IOMX::listNodes API, this now returns the component's roles as well, unit tests now test all components in all supported roles by default.

commit 30fbf2d8c6cb927689f7ba75eb550a81e9df488a
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 09:45:26 2009 -0700

Initial check-in of unit tests for OMX components.
/frameworks/av/media/libmedia/include/media/IOMX.h
91da03b86ff9973af59ba4d64fee1fa89d9d0662 16-Dec-2009 Andreas Huber <andih@google.com> am d980e656: Merge change Ic7e91eee into eclair-mr2

Merge commit 'd980e656baa842592944c6fed371c9b37b2feea9' into eclair-mr2-plus-aosp

* commit 'd980e656baa842592944c6fed371c9b37b2feea9':
Add a new API to support determining the roles of an OMX component specified by name. Remove unneeded OMXSoftwareCodecsPlugin.
8ae1d0bdcef22f2bdd8d283e0e615f3ba6c3f4cd 16-Dec-2009 Andreas Huber <andih@google.com> Add a new API to support determining the roles of an OMX component specified by name. Remove unneeded OMXSoftwareCodecsPlugin.
/frameworks/av/media/libstagefright/include/OMXPluginBase.h
4f26feda50cc4c51d90c93156afd03c380b9a42e 12-Dec-2009 Andreas Huber <andih@google.com> am 08945576: Merge change I9ac0777e into eclair-mr2

Merge commit '089455760c05289c1315268a6cb896577ceebc64' into eclair-mr2-plus-aosp

* commit '089455760c05289c1315268a6cb896577ceebc64':
Initial checkin of software AMR NB encoder based on PV source code.
b841f14f8e51f2365945281fbfa54ef6a1b1b5a6 12-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AMR NB encoder based on PV source code.
/frameworks/av/media/libstagefright/include/MetaData.h
5740d1a493af4409a8f6b51dd05037cc2f626976 11-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 6608bd0d: am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b' into eclair-mr2-plus-aosp

* commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b':
Partially fix bug 2111240 Detect docking / undocking event by reporting
3869dcbacecc5575cdde7b337a39cbd14c1fd7cb 11-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-mr2

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
Partially fix bug 2111240 Detect docking / undocking event by reporting
3bf324bd45607c9e2c36cc95e2f9c01fd4af13df 09-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> am 86ed86d2: Merge change I0f73439a into eclair

Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-plus-aosp

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
Partially fix bug 2111240 Detect docking / undocking event by reporting
48643f38c9e92dd0a3d4a31c293c954f3df4db1b 08-Dec-2009 Jean-Michel Trivi <jmtrivi@google.com> Partially fix bug 2111240 Detect docking / undocking event by reporting
to the AudioPolicyManager a new forced usage AudioSystem::FOR_DOCK
which can take the FORCE_NONE, FORCE_BT_DOCK or FORCE_WIRED_ACCESSORY
values. This CL is complemented by an update of the APM to take into
account the FOR_DOCK usage.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
9ce05907d3a419ab70537892374306aa66bd1907 07-Dec-2009 Andreas Huber <andih@google.com> am 5921fb51: Merge change I91eb0354 into eclair-mr2

Merge commit '5921fb51e0219ddd7cad439a73495f320c57d50e' into eclair-mr2-plus-aosp

* commit '5921fb51e0219ddd7cad439a73495f320c57d50e':
Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.
bf697e37550d9e8376089b0b5e498613bede798c 07-Dec-2009 Andreas Huber <andih@google.com> Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.
/frameworks/av/media/libstagefright/include/OMXCodec.h
251949f53525e71659d4117446ba9fe72b3ea702 04-Dec-2009 Andreas Huber <andih@google.com> am 52f410e2: Merge change Ifef6435a into eclair-mr2

Merge commit '52f410e2ebba103220cffce05b895f0c38a56665' into eclair-mr2-plus-aosp

* commit '52f410e2ebba103220cffce05b895f0c38a56665':
Enable proper cleanup of OMX nodes managed through stagefright.
f0fb96c352f30b812a4903a1d783a715e1e817bd 04-Dec-2009 Andreas Huber <andih@google.com> Enable proper cleanup of OMX nodes managed through stagefright.
/frameworks/av/media/libstagefright/include/OMXPluginBase.h
49096a039a16ea1cb2fc121c9de168be3f088e19 04-Dec-2009 Andreas Huber <andih@google.com> am 2d6d609c: Merge change I74bf38a0 into eclair-mr2

Merge commit '2d6d609c9ede7ed8924001df00af9c13effab8ad' into eclair-mr2-plus-aosp

* commit '2d6d609c9ede7ed8924001df00af9c13effab8ad':
Squashed commit of the following:
4e1e4bfb43d14d867345da7e0680c4636f40f63b 04-Dec-2009 Andreas Huber <andih@google.com> am bfb9fb14: Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.

Merge commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a' into eclair-mr2-plus-aosp

* commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a':
Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
572e6a5cea656c1df50f69df9730f2dc351308de 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I74bf38a0 into eclair-mr2

* changes:
Squashed commit of the following:
413f523afe96aff02d2b0a7459127b8f67b2b43c 03-Dec-2009 Andreas Huber <andih@google.com> Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
/frameworks/av/media/libmedia/include/media/mediascanner.h
e3ec3cec3a2e27033249ff82964d2cbd441d9873 03-Dec-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 543e192bf2ae13f573dc4c4e53b239ed4ea00e81
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 3 11:33:57 2009 -0800

stagefright now acts as the OMX Master, vendors supply their own plugins through libstagefrighthw. In OpenCore-enabled builds we now sit on top of PVMaster...

commit 3cbfdbd9cecadbb77b63125c62883bf1065884fe
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 2 12:39:07 2009 -0800

More OMX infrastructure, stagefright is now taking over the OMX Master, multiplexing all contributing OMX implementations under a common interface.
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/OMXPluginBase.h
baeb6dddd1b848320457b9af8c5eb415b43f181a 02-Dec-2009 Andreas Huber <andih@google.com> am 781ac162: Merge change I8768f2cc into eclair-mr2

Merge commit '781ac16283574ec07cd7b13d67b54b7b4c2c15cb' into eclair-mr2-plus-aosp

* commit '781ac16283574ec07cd7b13d67b54b7b4c2c15cb':
A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).
c297fccffc4ab1cb3b9f5c6a5b0802be057f3e0f 02-Dec-2009 Andreas Huber <andih@google.com> A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).
/frameworks/av/media/libstagefright/include/OMXCodec.h
72b0e78480f38f24607e6ddb7a118cac6c4f1107 23-Nov-2009 Andreas Huber <andih@google.com> am bbd6cb46: Merge change Ib1b7bce4 into eclair-mr2

Merge commit 'bbd6cb463b405fc90912dee470fe6c7b8c6b1f54' into eclair-mr2-plus-aosp

* commit 'bbd6cb463b405fc90912dee470fe6c7b8c6b1f54':
Squashed commit of the following:
bfa6b2d7a1be1832ac40ed90aece1834f720b5c6 20-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 1efc38dc3c33fef57b759002db3965ed07a28cb0
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 19 14:36:14 2009 -0800

Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.

Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.

commit 51973062eb5ee63fd64b845d72bac517cc3369cf
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 14:01:43 2009 -0800

Fix one more unit test, properly send seek-complete notification only after seek actually completed.

commit cb22250b34b1fcfe1bf459723a761fd003950229
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:31:36 2009 -0800

Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.

commit 25eb9241138ddf7bb27ce90657116c5f8a94d880
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:30:40 2009 -0800

Support seeking and duration in AMRExtractor, assuming all frames are the same size.

commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 10:21:44 2009 -0800

MediaPlayerImpl is dead, long live AwesomePlayer.

commit c5b52d3c0674f5dc94db506afbce52401cceddac
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 09:42:23 2009 -0800

New implementation of the stagefright mediaplayer.
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/MediaPlayerImpl.h
/frameworks/av/media/libstagefright/include/MmapSource.h
aadb854e0bc63547c0d4b4129330a49917a30f75 21-Nov-2009 Eric Laurent <elaurent@google.com> am 949c572a: am e7800946: Merge change I49f02be9 into eclair

Merge commit '949c572a16881aa40079a42bf7682637b23eb16a' into eclair-mr2-plus-aosp

* commit '949c572a16881aa40079a42bf7682637b23eb16a':
Issue 2265163: Audio still reported routed through earpiece on sholes
0478cd8b9468d54a32a6befd2654ebb9ae538b2d 21-Nov-2009 Eric Laurent <elaurent@google.com> am e7800946: Merge change I49f02be9 into eclair

Merge commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff' into eclair-plus-aosp

* commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff':
Issue 2265163: Audio still reported routed through earpiece on sholes
bf89c099fc97717e3008a481aeddc76c1ac5e00d 21-Nov-2009 Eric Laurent <elaurent@google.com> am e7800946: Merge change I49f02be9 into eclair

Merge commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff' into eclair-mr2

* commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff':
Issue 2265163: Audio still reported routed through earpiece on sholes
4ddf30b2b118068d82bb37858186d668eddbbe6d 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I49f02be9 into eclair

* changes:
Issue 2265163: Audio still reported routed through earpiece on sholes
6100d2d60517ff33ed8eb35d0b7ea63cde0831c9 19-Nov-2009 Eric Laurent <elaurent@google.com> Issue 2265163: Audio still reported routed through earpiece on sholes

This is a second attempt to fix the audio routed to earpiece syndrom.
The root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.
When this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.
Results a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.

The fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.
The net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.

The same modification is made for AudioRecord although no bug related to record has been reported yet.
Also fixed a potential problem if record stop is called while the record thread is exiting.
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
9da546f16810e8041046405ea4924f42ea5c1242 20-Nov-2009 Andreas Huber <andih@google.com> am f854e077: Merge change I8134d6ed into eclair

Merge commit 'f854e0770207e93ef9d1bf6d50ed18537a107ca4' into eclair-plus-aosp

* commit 'f854e0770207e93ef9d1bf6d50ed18537a107ca4':
DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.
2f5925e123afdaba79c7ca8ef6647e4b86cd5488 19-Nov-2009 Andreas Huber <andih@google.com> DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.
/frameworks/av/media/libstagefright/include/MediaPlayerImpl.h
aae2af5870a165e121b3aeced2135061177c8550 17-Nov-2009 Andreas Huber <andih@google.com> am 2c766498: Merge change Iea6a38c6 into eclair-mr2

Merge commit '2c7664989f7388c0c6cf0ec7d80ffa2704c8c2be' into eclair-mr2-plus-aosp

* commit '2c7664989f7388c0c6cf0ec7d80ffa2704c8c2be':
Squashed commit of the following:
f78933fdfc5bc71881b3011f921b643d90387664 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iea6a38c6 into eclair-mr2

* changes:
Squashed commit of the following:
8b8e0e6d5cc2a39eed0236ad6beba551e7052913 17-Nov-2009 Andreas Huber <andih@google.com> am 744043fc: Update FileSource to also accept a file descriptor and a range.

Merge commit '744043fcbf48c32c2051f222eca552fa2df5dfcb' into eclair-mr2-plus-aosp

* commit '744043fcbf48c32c2051f222eca552fa2df5dfcb':
Update FileSource to also accept a file descriptor and a range.
03475f5af25e4aa32d46d41dd2ec756853d8dd9d 17-Nov-2009 Andreas Huber <andih@google.com> Update FileSource to also accept a file descriptor and a range.
/frameworks/av/media/libstagefright/include/FileSource.h
30ab66297501757d745b9ae10da61adcd891f497 17-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 333057b355f8c260c549553b9a0634755c838b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 13 15:35:48 2009 -0800

Some more tweaks to AVC encoding on sholes.

commit 9981d0ee52ec5b8b0182aae733d1571e3ebb8390
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 12 16:36:57 2009 -0800

Support for avc encoding, including sholes specific tweaks to pick the right colorspace for the camera to not require transcoding.

commit 5ba0ebbbd4efca51f3ae1f60e2ca31e7d2cf136d
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 11 09:50:03 2009 -0800

Enable actual (camera) video-only recording using h.263 or mpeg4 encoding.

commit 3fd59c3526a37fe7c696f4a978925d1831c09313
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 10 14:57:48 2009 -0800

Allow switching between the PV recorder implementation and one supported by stagefright.

This is controlled through the property "media.stagefright.enable-record".
VMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaRecorderBase.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
8574c3ca0460badebf0ba816920c071609a7d92f 13-Nov-2009 Eric Laurent <elaurent@google.com> am 609acfd2: am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '609acfd2a1067f49e51925776484b070a24d8301' into eclair-mr2-plus-aosp

* commit '609acfd2a1067f49e51925776484b070a24d8301':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
86b48a89a6cde62fc1db9140593386450bc0a9a1 13-Nov-2009 Eric Laurent <elaurent@google.com> am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-mr2

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
baca60ad4131d31323401087f64df56dbd82d223 13-Nov-2009 Eric Laurent <elaurent@google.com> am 1aa9f3ca: Merge change I923d7d72 into eclair

Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-plus-aosp

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
1aaa563c2cb0df3f414aa0cfc13f9ae7b457dc49 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I923d7d72 into eclair

* changes:
Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
0f2d1e2dd7601e06fdf834f3f942eeb5c8b33a15 12-Nov-2009 Eric Laurent <elaurent@google.com> Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.

The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.

Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
0ede5ad4737d952c177992bd7cbef80a06823c81 12-Nov-2009 Andreas Huber <andih@google.com> am d0f3228d: resolved conflicts for merge of c66d53f9 to eclair-mr2

Merge commit 'd0f3228daa9ea26ec959cb79451e6f150648bce8' into eclair-mr2-plus-aosp

* commit 'd0f3228daa9ea26ec959cb79451e6f150648bce8':
Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
53f45f0367d9563278f427db106736dcd1a433d1 12-Nov-2009 Andreas Huber <andih@google.com> resolved conflicts for merge of c66d53f9 to eclair-mr2
0f23df6c7f9a403a74d4654c84962e01ae8a24bd 12-Nov-2009 Andreas Huber <andih@google.com> am c66d53f9: Merge change I880541a8 into eclair

Merge commit 'c66d53f97b1fe635f576642d5720dcd441e34cce' into eclair-plus-aosp

* commit 'c66d53f97b1fe635f576642d5720dcd441e34cce':
Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
1dfc99f22fb9d8c798065938c24eeb4eb9691747 12-Nov-2009 Andreas Huber <andih@google.com> Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
/frameworks/av/media/libstagefright/include/HardwareAPI.h
/frameworks/av/media/libstagefright/include/QComHardwareRenderer.h
/frameworks/av/media/libstagefright/include/TIHardwareRenderer.h
78819585beae56054d75a4c583e4b97129817001 05-Nov-2009 Andreas Huber <andih@google.com> am 05eca1d4: Merge change Ie80e2381 into eclair

Merge commit '05eca1d46a45723a57899dabad698537b7faef82' into eclair-plus-aosp

* commit '05eca1d46a45723a57899dabad698537b7faef82':
DO NOT MERGE: Squashed commit of the following:
5b65c7043dada0c89d3a941742666ac40ea35746 05-Nov-2009 Andreas Huber <andih@google.com> DO NOT MERGE: Squashed commit of the following:

commit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 12:02:31 2009 -0800

DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback.

commit 991832fe4dc012e51d3d9ed8d647c7f09991858f
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:24:11 2009 -0800

DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though.

commit cec45cf302d9218fe79956cbe8a462d7ca3a10bb
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 16:11:54 2009 -0700

DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to "Loaded" in order to properly free any allocated buffers.

commit 34a1e885ef9113d68acbc26d36fcc47fdebbed84
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:10:49 2009 -0800

DO NOT MERGE: Fix heap corruptin in OMXNodeInstance.

commit 5a47f7439a1298b330541a7e4e647a8b44487388
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:08:19 2009 -0800

DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec.

commit 45bed64722501b9f411a2940aff5aff4cc4d2e98
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:02:23 2009 -0800

DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts.

commit 6738e306a50196f31a73d4fc7b7c45faff639903
Author: Andreas Huber <andih@google.com>
Date: Thu Oct 15 13:46:54 2009 -0700

DO NOT MERGE: Reimplement the OMX backend for stagefright.

Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

Changed APIs to conform to the rest of the system.
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/HTTPStream.h
/frameworks/av/media/libstagefright/include/stagefright_string.h
/frameworks/av/media/libstagefright/include/string.h
0be134336190a7f1afb2101e2b2e445e50bba184 05-Nov-2009 Eric Laurent <elaurent@google.com> am fcae6c71: am 67b69292: Merge change I93f500a5 into eclair

Merge commit 'fcae6c71794696a074cabf20beeb02fd87853e30' into eclair-mr2-plus-aosp

* commit 'fcae6c71794696a074cabf20beeb02fd87853e30':
Fix issue 2203561: Sholes: audio playing out of earpiece.
3aea319ca5c6a3c1ab0fcdf6db8d9096c8f5287a 05-Nov-2009 Eric Laurent <elaurent@google.com> am 67b69292: Merge change I93f500a5 into eclair

Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-plus-aosp

* commit '67b692920c18f99b096dce285adc6f7439fa866c':
Fix issue 2203561: Sholes: audio playing out of earpiece.
1c02bfb63ea6e1d1630a09229044d64be200a9ef 05-Nov-2009 Eric Laurent <elaurent@google.com> am 67b69292: Merge change I93f500a5 into eclair

Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-mr2

* commit '67b692920c18f99b096dce285adc6f7439fa866c':
Fix issue 2203561: Sholes: audio playing out of earpiece.
dee7f8349ad8e93c5b16c24bed49fa9192790e0f 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I93f500a5 into eclair

* changes:
Fix issue 2203561: Sholes: audio playing out of earpiece.
34f1d8ecd23169a5f299937e3aaf1bd7937578a0 04-Nov-2009 Eric Laurent <elaurent@google.com> Fix issue 2203561: Sholes: audio playing out of earpiece.

Create a new IAudioTrack interface to AudioFlinger when start() fails due to a broken pipe error.
Do the same if start fails due to the same error after time out in obtainBuffer().
Do not indicate that the AudioTrack is started to AudioPolicyManager if IAudioTrack start fails.
This avoids that an AudioTrack keeps a dead IAudioTrack after a media server crash.

Same modifications for AudioRecord.

Add a flag to ToneGenerator indicating that the callback thread can call Java. Without it, when the media server crashes and restarts, the AudioSystem error callback will crash in JNI if the IAudiotrack is created from AudioTrack callback thread.
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
41020e23f0d4177889784afbada8adb036ba53d3 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 3d2d155a: am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '3d2d155a87cdd3038a2e6df8741181431cb250e1' into eclair-mr2-plus-aosp

* commit '3d2d155a87cdd3038a2e6df8741181431cb250e1':
Add new audio sources to support the A1026 recording configurations.
3c3bfda1ddecf4c6e34a4b604f84940c7190f5d7 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-plus-aosp

* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
Add new audio sources to support the A1026 recording configurations.
308d4aea9ccb62d3d9e3010a73b16435e554d5f2 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> am 7ed0ceeb: Merge change I6869df3a into eclair

Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-mr2

* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
Add new audio sources to support the A1026 recording configurations.
587e067a970fc23c707c448f508cc32e052a8380 04-Nov-2009 Andreas Huber <andih@google.com> am ad278f22: Merge change I6bce6d87 into eclair-mr2

Merge commit 'ad278f2276de23197571e486ad387dacc7f346ee' into eclair-mr2-plus-aosp

* commit 'ad278f2276de23197571e486ad387dacc7f346ee':
Adds a WAVExtractor for 16-bit signed PCM audio wave files.
d763b9513e520c7f0113077b4a2c62cee16e4266 04-Nov-2009 Jean-Michel Trivi <jmtrivi@google.com> Add new audio sources to support the A1026 recording configurations.
/frameworks/av/media/libmedia/include/media/mediarecorder.h
0dba73763a04d39faf999dcc5ef12af3c99535a7 04-Nov-2009 Andreas Huber <andih@google.com> Adds a WAVExtractor for 16-bit signed PCM audio wave files.
/frameworks/av/media/libstagefright/include/MediaDefs.h
e5688471975a132c9a6ba1414adf3e1d320c5200 02-Nov-2009 Eric Laurent <elaurent@google.com> am c69e7516: am ee98c240: Merge change I73680cd9 into eclair

Merge commit 'c69e7516482aae626eb550f5dd99f0f2f7a45909' into eclair-mr2-plus-aosp

* commit 'c69e7516482aae626eb550f5dd99f0f2f7a45909':
Fix 2194140: [Passion] Support Audience chip.
5dce5d8609857f803cb0eec7e2b1b55c158ce525 02-Nov-2009 Eric Laurent <elaurent@google.com> am ee98c240: Merge change I73680cd9 into eclair

Merge commit 'ee98c24020c1634b02cde6d333968f04a0de941f' into eclair-mr2

* commit 'ee98c24020c1634b02cde6d333968f04a0de941f':
Fix 2194140: [Passion] Support Audience chip.
9ff884b58a3947ee418619aaad8c62f4303c435a 02-Nov-2009 Eric Laurent <elaurent@google.com> am ee98c240: Merge change I73680cd9 into eclair

Merge commit 'ee98c24020c1634b02cde6d333968f04a0de941f' into eclair-plus-aosp

* commit 'ee98c24020c1634b02cde6d333968f04a0de941f':
Fix 2194140: [Passion] Support Audience chip.
90b75fbd19571784c8ceee4841a28b8333a8198e 02-Nov-2009 Eric Laurent <elaurent@google.com> Fix 2194140: [Passion] Support Audience chip.

Added new input device DEVICE_IN_BACK_MIC.
Added new audio source AUDIO_SOURCE_CAMCORDER.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
84d6db3b79893ce3c6bd30256702cf2d81a926ab 29-Oct-2009 Andreas Huber <andih@google.com> am 9dba1f92: Merge change Ib482ce88 into eclair-mr2

Merge commit '9dba1f928021450f101013e03deacc9a0506772e' into eclair-mr2-plus-aosp

* commit '9dba1f928021450f101013e03deacc9a0506772e':
Revive support for video encoding in OMXCodec.
888f72a4628eed3c136ff2e346a15d129da0d520 29-Oct-2009 Andreas Huber <andih@google.com> Revive support for video encoding in OMXCodec.
/frameworks/av/media/libstagefright/include/OMXCodec.h
b1e3bc7933e29b668bcf5caf59bc46e848d6c875 28-Oct-2009 Andreas Huber <andih@google.com> am 76a54294: Merge change I155e2ad0 into eclair-mr2

Merge commit '76a5429407e821c22508eca92e7475b6433cd668' into eclair-mr2-plus-aosp

* commit '76a5429407e821c22508eca92e7475b6433cd668':
Re-enable CameraSource.
636df899721d7da23fc792f20df29937e628ab2f 28-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I155e2ad0 into eclair-mr2

* changes:
Re-enable CameraSource.
be5c74f5da6a93b0d23f96e11848acfcc3b4d1d9 14-Oct-2009 Andreas Huber <andih@google.com> Re-enable CameraSource.
/frameworks/av/media/libstagefright/include/CameraSource.h
dc97c041fbaf575806cb6758bb7aa506d5a2781d 24-Oct-2009 Eric Laurent <elaurent@google.com> am 7ed70c95: am bf96aaad: Merge change Icf10db28 into eclair

Merge commit '7ed70c9515fe3df6eb1796717d73f23e7286b3e6' into eclair-mr2-plus-aosp

* commit '7ed70c9515fe3df6eb1796717d73f23e7286b3e6':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
fe44b7a8b2b8da50a7a78f4b7e034b6d01785e44 24-Oct-2009 Eric Laurent <elaurent@google.com> am bf96aaad: Merge change Icf10db28 into eclair

Merge commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba' into eclair-mr2

* commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
305893fbc10da99c3a98285ca5528ac34669f302 24-Oct-2009 Eric Laurent <elaurent@google.com> am bf96aaad: Merge change Icf10db28 into eclair

Merge commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba' into eclair-plus-aosp

* commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba':
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
ae0d688c9631f8f9480aeeaa699518ab462f31cc 23-Oct-2009 Andreas Huber <andih@google.com> am d9f3d60d: Merge change I3b1b7873 into eclair-mr2

Merge commit 'd9f3d60df9317f15a7f26bc050f51b53b46898ff' into eclair-mr2-plus-aosp

* commit 'd9f3d60df9317f15a7f26bc050f51b53b46898ff':
New API to instantiate a MediaExtractor given a URI and optional MIME type.
34769bc913e9f6bb138e666d94a9d685bf3da217 23-Oct-2009 Andreas Huber <andih@google.com> New API to instantiate a MediaExtractor given a URI and optional MIME type.

Also DataSources now must provide a method initCheck()
and DataSource::reat_at has been renamed to readAt to conform to
standard API naming guidelines.
/frameworks/av/media/libstagefright/include/CachingDataSource.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MmapSource.h
/frameworks/av/media/libstagefright/include/ShoutcastSource.h
0b8748b0efa667d9dc9aee15bfbbd42f3c386690 23-Oct-2009 Andreas Huber <andih@google.com> am 9069aa31: Merge change I57515f33 into eclair-mr2

Merge commit '9069aa31accee9c23a4cf228ca27fe8fa8506a56' into eclair-mr2-plus-aosp

* commit '9069aa31accee9c23a4cf228ca27fe8fa8506a56':
Moving the individual extractor headers files to the private include directory.
66326a5ee0869f1ee4d136a477e6effba428b3cb 23-Oct-2009 Andreas Huber <andih@google.com> Moving the individual extractor headers files to the private include directory.
/frameworks/av/media/libstagefright/include/AMRExtractor.h
/frameworks/av/media/libstagefright/include/MP3Extractor.h
/frameworks/av/media/libstagefright/include/MPEG4Extractor.h
6f62eb2944cabeef61f9f791862d0117bb0e4910 23-Oct-2009 Andreas Huber <andih@google.com> am e8472900: Merge change Ie13526ad into eclair-mr2

Merge commit 'e84729002102622b40bd6efddffb76909615c12a' into eclair-mr2-plus-aosp

* commit 'e84729002102622b40bd6efddffb76909615c12a':
Prefer software decoders over hardware for thumbnail extraction.
ba229b3faa98b3bb6567cf95040062be2d9c2b3f 22-Oct-2009 Andreas Huber <andih@google.com> Prefer software decoders over hardware for thumbnail extraction.

While our hardware decoders clearly outperform the software decoders in terms
of raw throughput, their startup latency makes them less suitable for thumbnail
extraction.
/frameworks/av/media/libstagefright/include/OMXCodec.h
12392bf8e1ed1b8f37d93ab58173d57e1d0a47b9 22-Oct-2009 Andreas Huber <andih@google.com> am e981c334: Extract video thumbnails from the largest sync sample among the first 20.

Merge commit 'e981c33446a98d5ccc0d73c1a840696d77cf0732' into eclair-mr2-plus-aosp

* commit 'e981c33446a98d5ccc0d73c1a840696d77cf0732':
Extract video thumbnails from the largest sync sample among the first 20.
7e04dcf8d6784dd56f53aa90bf34431ab4f0710c 22-Oct-2009 Andreas Huber <andih@google.com> Extract video thumbnails from the largest sync sample among the first 20.

Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
/frameworks/av/media/libstagefright/include/AMRExtractor.h
/frameworks/av/media/libstagefright/include/MP3Extractor.h
/frameworks/av/media/libstagefright/include/MPEG4Extractor.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MetaData.h
bd231fca95829b0ba0bbc463a48810794a408f35 22-Oct-2009 Andreas Huber <andih@google.com> am bfd5b386: Merge change If68c168d into eclair-mr2

Merge commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe' into eclair-mr2-plus-aosp

* commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe':
Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
c6323f9d72e0f08dd1e813550a56c8d2f0fd76a2 21-Oct-2009 Andreas Huber <andih@google.com> Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
/frameworks/av/media/libstagefright/include/OMXCodec.h
f0ee6f4055e26fb35d9c526a596668a4dc9da5ba 21-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.

Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService.
Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
7746714681832c648a863f77405be76933b49d3f 20-Oct-2009 Andreas Huber <andih@google.com> am ca404dfb: Merge change Ie3ffb526 into eclair

Merge commit 'ca404dfb920ab009cef4db5e74715b796f79b3f9' into eclair-plus-aosp

* commit 'ca404dfb920ab009cef4db5e74715b796f79b3f9':
do not merge: The qcom video decoders always output yuv data after adjusting dimensions to be a multiple of 16.
66d1e82ce5d5e189442285b6225977137b65c608 20-Oct-2009 Andreas Huber <andih@google.com> do not merge: The qcom video decoders always output yuv data after adjusting dimensions to be a multiple of 16.

Add a quirk mode to OMXCodec that makes it aware of this fact for proper display. Also integrate back a change from eclair-mr2 that delays releasing an output buffer briefly after posting it to surface flinger, as we don't know how long it'll take it to actually display the buffer's content.
/frameworks/av/media/libstagefright/include/OMXCodec.h
2dd3d79885e9688d4d43e7b57133c83c3052cf04 16-Oct-2009 Andreas Huber <andih@google.com> am d96f6e85: Merge change I8176f35e into eclair-mr2

Merge commit 'd96f6e85931e3d4ac4a6dacbedc561e56c293b8d' into eclair-mr2-plus-aosp

* commit 'd96f6e85931e3d4ac4a6dacbedc561e56c293b8d':
Reimplement the OMX backend for stagefright.
318ad9c1d9d6515026dfc2c021359d27decaa7a1 15-Oct-2009 Andreas Huber <andih@google.com> Reimplement the OMX backend for stagefright.

Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

Changed APIs to conform to the rest of the system.
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IOMX.h
6442caf0e53566cf80308c4b938925145365e963 13-Oct-2009 Andreas Huber <andih@google.com> am c642199d: Merge change Ibd7b43bb into eclair-mr2

Merge commit 'c642199d1d60176980e2781bb78f42dce93e1c84' into eclair-mr2-plus-aosp

* commit 'c642199d1d60176980e2781bb78f42dce93e1c84':
Separated private from public header files.
07eb7ba44a1400df1f2917694478f53f4e919a70 13-Oct-2009 Andreas Huber <andih@google.com> am fe324a61: Merge change I8d87cd98 into eclair-mr2

Merge commit 'fe324a61c39d5db59f09fdae81c808d7851841e6' into eclair-mr2-plus-aosp

* commit 'fe324a61c39d5db59f09fdae81c808d7851841e6':
Fix various compiler warnings accumulated over time.
89e69da4d86348409994c9dafbbb2634ccd7c196 13-Oct-2009 Andreas Huber <andih@google.com> Separated private from public header files.
/frameworks/av/media/libstagefright/include/ESDS.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
/frameworks/av/media/libstagefright/include/HTTPStream.h
/frameworks/av/media/libstagefright/include/QComHardwareRenderer.h
/frameworks/av/media/libstagefright/include/SampleTable.h
/frameworks/av/media/libstagefright/include/SoftwareRenderer.h
/frameworks/av/media/libstagefright/include/TIHardwareRenderer.h
/frameworks/av/media/libstagefright/include/TimedEventQueue.h
/frameworks/av/media/libstagefright/include/string.h
549aa3741725ea2fd75c5fb717ff5a9316a5a55d 13-Oct-2009 Andreas Huber <andih@google.com> Fix various compiler warnings accumulated over time.
/frameworks/av/media/libstagefright/include/SampleTable.h
3fc0367dc25e676c1609dd673426e9dd58596570 13-Oct-2009 Andreas Huber <andih@google.com> am cfd55579: OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.

Merge commit 'cfd55579c2e20514b181809dfaf30bd6f7e04c7e' into eclair-mr2-plus-aosp

* commit 'cfd55579c2e20514b181809dfaf30bd6f7e04c7e':
OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
7f281f87670c63775ea1ae8b24af31822d5ad416 09-Oct-2009 Andreas Huber <andih@google.com> OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
/frameworks/av/media/libstagefright/include/MediaErrors.h
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
8308837da73e081471eb077326cdbe5342377ba2 13-Oct-2009 Andreas Huber <andih@google.com> am ef703f60: Merge change I98276091 into eclair-mr2

Merge commit 'ef703f60d5c00527048fdaf1c24984762f6fd434' into eclair-mr2-plus-aosp

* commit 'ef703f60d5c00527048fdaf1c24984762f6fd434':
Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
48c948b1137e7bbdb161b51908657ab72ac5e2da 08-Oct-2009 Andreas Huber <andih@google.com> Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
/frameworks/av/media/libstagefright/include/MetaData.h
d3242febb70aca55c5df866300aa7ea03c39e82c 09-Oct-2009 Andreas Huber <andih@google.com> am 9b8f9477: Fixing the build.

Merge commit '9b8f947790aa1dabf9eb0621d0ac8f9d189116a2' into eclair-mr2-plus-aosp

* commit '9b8f947790aa1dabf9eb0621d0ac8f9d189116a2':
Fixing the build.
d3eaeefb1bac68bc1fee91b794be2c2c3bea6d94 09-Oct-2009 Andreas Huber <andih@google.com> Fixing the build.
/frameworks/av/media/libstagefright/include/ColorConverter.h
d5b86bc5c3be14ad152f6d815282571f94f4635c 09-Oct-2009 Andreas Huber <andih@google.com> am 936fff36: Merge change Ib64cab41 into eclair-mr2

Merge commit '936fff36882764ec031ae4fb8338273cc2abccd5' into eclair-mr2-plus-aosp

* commit '936fff36882764ec031ae4fb8338273cc2abccd5':
Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
2a4a7d5af053a17586a262a1267ba993e31790f1 07-Oct-2009 Andreas Huber <andih@google.com> Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
/frameworks/av/media/libstagefright/include/ColorConverter.h
/frameworks/av/media/libstagefright/include/SoftwareRenderer.h
ce87db03ebff7d3bb18e4a25cf51bdc5f0b93677 08-Oct-2009 Andreas Huber <andih@google.com> am 2d295a96: Merge change Iedebfe8d into eclair-mr2

Merge commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5' into eclair-mr2-plus-aosp

* commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5':
Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this.
36efa039efaae4526791336cb688032d22b34bec 08-Oct-2009 Andreas Huber <andih@google.com> Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this.
/frameworks/av/media/libmedia/include/media/IOMX.h
f16d4c3e8b454f970515530b9bf87edc318bdaf0 08-Oct-2009 Andreas Huber <andih@google.com> am cd74c0d5: The vendor is about to check in a fix for this issue, the workaround is no longer needed

Merge commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9' into eclair-mr2-plus-aosp

* commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9':
The vendor is about to check in a fix for this issue, the workaround is no longer needed
9749025189acc6c737be22007e90ed8bbbcdbc21 08-Oct-2009 Andreas Huber <andih@google.com> The vendor is about to check in a fix for this issue, the workaround is no longer needed
/frameworks/av/media/libstagefright/include/OMXCodec.h
34a76cd613ef30f70ab7e2f88cf98c630694a611 07-Oct-2009 Andreas Huber <andih@google.com> am f894d111: Merge change I6c32aa75 into eclair-mr2

Merge commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a' into eclair-mr2-plus-aosp

* commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a':
Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height.
ec430b158df17b2c766f7750a96c35d3902f5f49 07-Oct-2009 Andreas Huber <andih@google.com> Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height.
/frameworks/av/media/libstagefright/include/OMXCodec.h
0df42e8b1cb99f3d73d8dd3d045125ef3fea2439 07-Oct-2009 Eric Laurent <elaurent@google.com> am 62443f5f: Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).

Merge commit '62443f5f4517ba17d911975e695f1ab75bfdbf77' into eclair-plus-aosp

* commit '62443f5f4517ba17d911975e695f1ab75bfdbf77':
Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
a849526f3d2e99d49751bbed060185158a8ba7ea 07-Oct-2009 Marco Nelissen <marcone@google.com> am c39d2e3c: Music visualizer support hack. This currently assumes 44k stereo (won\'t crash on other formats, but won\'t give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.

Merge commit 'c39d2e3c012fb96999991e30659a474f9f30f789' into eclair-plus-aosp

* commit 'c39d2e3c012fb96999991e30659a474f9f30f789':
Music visualizer support hack.
eab618d39407454aefc267343a46faaf8c32d5ef 07-Oct-2009 Eric Laurent <elaurent@google.com> am 4e362817: am 62443f5f: Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).

Merge commit '4e362817ab49da3325531e1213e70ec6bbe32084' into eclair-mr2-plus-aosp

* commit '4e362817ab49da3325531e1213e70ec6bbe32084':
Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
e33e00e931d1381d402484aa5cde67e540e3c82c 06-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).

This change is a complement to the main fix in kernel driver for the same issue (partner change #1250).
It removes clicks sometimes heard after the end of the tones while audio flinger is sending 0s to the audio output stream.
The problem was that the sleep time between two writes was more than the duration of one audio output stream buffer which could cause some underrun.

Also fixed a recent regression in ToneGenerator that made that the end of previous tone was repeated at the beginning of current one under certain timing circumstances when the maximum tone duration was specified.
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
9563e4284869dfb2d4c8d33bae313fcf7f755afb 06-Oct-2009 Marco Nelissen <marcone@google.com> am a97402e1: am c39d2e3c: Music visualizer support hack. This currently assumes 44k stereo (won\'t crash on other formats, but won\'t give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.

Merge commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177' into eclair-mr2-plus-aosp

* commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177':
Music visualizer support hack.
10dbb8e97e7a81ca4867663b5517f048820b3094 20-Sep-2009 Marco Nelissen <marcone@google.com> Music visualizer support hack.
This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
d931eef4e585a2f296c26e735be573889e9bc2ee 25-Sep-2009 Eric Laurent <elaurent@google.com> am e9bd4788: Merge change 26881 into eclair

Merge commit 'e9bd4788d4370714374d833aed1339d17c5ded09' into eclair-plus-aosp

* commit 'e9bd4788d4370714374d833aed1339d17c5ded09':
Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes or over A2DP.
824b6a4a67166c3937400702944f659bd0d5d386 24-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes or over A2DP.

When the AudioTrack callback notification size is relatively high (Which is the case on Sholes and over A2DP), it is likely that the end of tone is reached during the first callback. In this case, the AudioTrack is stopped before exiting the callback which causes 2 problems:
- 1: If the AudioFlinger thread is scheduled before we exit the ToneGenerator callback, the track can be stopped and reset before the data is actually marked as present in the buffer by the AudioTrack callback => no audio will be processed by AudioFlinger.
- 2: In this case, the data write index in the AudioTrack buffer is incremented after the track was reset by the AudioFlinger which leaves unplayed data in the buffer. This data will be played the next time the AudioTrack is started if not flushed in between.

The fix consists in adding an intermediate state to ToneGenerator state machine so that we exit the callback function when the stop condition is reached and stop the AudioTrack the next time we execute the callback.
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
ee678acd88cbec07c08cd5a36bb98bb99a56371f 17-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
387eac4b282b9b403af772f92bcad469ae69177f 22-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Update comment in mediaplayer.h.

When sending a MEDIA_INFO message, the second integer is supposed
to be an "info" code instead of an "error" code.
/frameworks/av/media/libmedia/include/media/mediaplayer.h
4265a834394bfe14a008a2ac58fbbe388566ad07 16-Sep-2009 Andreas Huber <andih@google.com> Another software color conversion implementation, this time OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
/frameworks/av/media/libstagefright/include/SoftwareRenderer.h
430209e4d4d767e96d1e59a705d1b8b6624cb1e8 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25128 into eclair

* changes:
Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
10f75b8c71beb7f327e50bbac8e528af4e40fa24 15-Sep-2009 Andreas Huber <andih@google.com> Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
/frameworks/av/media/libstagefright/include/SoftwareRenderer.h
1b84df1a0823fbcb9cec754311f53eaccfe85ae3 15-Sep-2009 Andreas Huber <andih@google.com> Added an API IOMX::createRendererFromJavaSurface.

This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
/frameworks/av/media/libmedia/include/media/IOMX.h
777893a928680f09e306b4b9efc1d5cf4479a9da 11-Sep-2009 Andreas Huber <andih@google.com> Move JPEGSource.{cpp,h} into libstagefright.
/frameworks/av/media/libstagefright/include/JPEGSource.h
18291bc20e55e8f3fd5feb786771a8ed32c19c59 10-Sep-2009 Andreas Huber <andih@google.com> Media MIME types now have corresponding constants in MediaDefs.h, new codec enumeration API.
/frameworks/av/media/libstagefright/include/MediaDefs.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
25b130939339d57789a86fac837a2a8cedbcb7d8 10-Sep-2009 Andreas Huber <andih@google.com> Minor API change in MPEG4Writer, support for amr output into MPEG4 containers.
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
f75978f63a25e79c683e96611f95cb5cd49efd3d 09-Sep-2009 Andreas Huber <andih@google.com> Added a .amr file extractor (for AMR-NB and AMR-WB content).
/frameworks/av/media/libstagefright/include/AMRExtractor.h
/frameworks/av/media/libstagefright/include/MP3Extractor.h
03480f8ae9df41902b6523493fe19a2a513b8d98 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24179 into eclair

* changes:
Support encoding amr-wb content in stagefright.
85fa14d35468acca07ce0085d67b909f673fae07 07-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 1992233: DTMF tones on Sholes is really long.

Add a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged.
Also modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
456db75516efc889e1ee4e5e16021e77c03b0941 08-Sep-2009 Andreas Huber <andih@google.com> Support encoding amr-wb content in stagefright.
/frameworks/av/media/libstagefright/include/OMXCodec.h
148c1a2a96774517407717b61e5bc9cb08be8806 06-Sep-2009 James Dong <jdong@google.com> Add basic metadata retrieval support for midi, ogg, etc.
Bug 2050320
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
365928e6e1bec6637d10652cce65733557c3be29 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23835 into eclair

* changes:
When encountering a .nomedia file, notify the MediaScannerClient, so that it can erase the data column for entries that are in the folder containing the .nomedia file. This prevents us from deleting (via a delete trigger) files when somebody adds a .nomedia file after the fact.
f482a41c86cf1c28acdd8e0f127b4a628b36535e 03-Sep-2009 Marco Nelissen <marcone@google.com> When encountering a .nomedia file, notify the MediaScannerClient,
so that it can erase the data column for entries that are in the
folder containing the .nomedia file. This prevents us from
deleting (via a delete trigger) files when somebody adds a
.nomedia file after the fact.
/frameworks/av/media/libmedia/include/media/mediascanner.h
7a6b9e2eca7d20457ace3538c689640e5bfda4f3 03-Sep-2009 Andreas Huber <andih@google.com> Setting the component role appears to be mandatory now for all mime types.

Also using CODEC_LOGV instead of vanilla LOGV to include the component name the message related to.
/frameworks/av/media/libstagefright/include/OMXCodec.h
e5adbeee3401915ff8e1a983396ce3554436b11c 02-Sep-2009 Andreas Huber <andih@google.com> Some work to make audio encoding work.
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
37940eefcba982836b579fe1ffec6cada72b0974 02-Sep-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c45bfbb97ccd05982008df47181f9c73abaf0497
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:58:12 2009 -0700

This quirk should not be enabled by default in order to make the bug reproducible by the vendor.

commit 21d72e80e795fcae53d9c3bcc8ba6312b081e420
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:55:45 2009 -0700

Undoing the hack to temporarily give up the lock to facilitate reading from the buffer source.

This simply causes too many issues, there need to be independent threads providing input buffers and dequeuing output buffers.

commit 84d507def8999c146ce124cc8edfe106c9ca70c2
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:16:23 2009 -0700

The AAC components appear to output stereo data even if the input data is mono...
/frameworks/av/media/libstagefright/include/OMXCodec.h
e0f0b08aa692d15f3bfa19e10abfc84803c099b4 27-Aug-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 3fa5f3ce910f34da0cedb8bcce1bd593db7eb740
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 27 14:48:54 2009 -0700

Getting rid of more code now obsolete with the departure of OMXDecoder.

commit e0d923ec0c7bb60bec8eb97739036a4c70c0feef
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 27 14:33:06 2009 -0700

Remove obsoleted OMXDecoder class. OMXDecoder is dead, long live OMXCodec.
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/OMXClient.h
/frameworks/av/media/libstagefright/include/OMXDecoder.h
63d88ff95d9c1d5be1850f732c4dd05088abaeee 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22897 into eclair

* changes:
Fix issue 2045911: Camera Shutter tone does not play correctly while listening to music.
284f513a4ce2c5aa0e250c07c873731aedb0be26 27-Aug-2009 Andreas Huber <andih@google.com> An attempt to fix a deadlock between OMXCodec::start and upstream ::read
/frameworks/av/media/libstagefright/include/OMXCodec.h
a9c322e398a1f5fdcace3b8b73967f010b1c31ca 27-Aug-2009 Eric Laurent <elaurent@google.com> Fix issue 2045911: Camera Shutter tone does not play correctly while listening to music.

Add the possibility to delay routing and volume commands in AudioPolicyClientInterface. The delay is not blocking for the caller.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
8297cedd12f689167d74de5ddacb514e9f6896ea 27-Aug-2009 Andreas Huber <andih@google.com> Another quirk, some OMX components fail to properly flush before shutdown and we must do it for them...
/frameworks/av/media/libstagefright/include/OMXCodec.h
0c89199745bc1bf05b997fc7c342017807676b6f 26-Aug-2009 Andreas Huber <andih@google.com> assert => CHECK in stagefright.
/frameworks/av/media/libstagefright/include/MediaDebug.h
ea7d15629752256f6ea1d5c6ea796e59aefd030f 26-Aug-2009 Andreas Huber <andih@google.com> Keep up with latest changes to overlay handling on that unnamable platform.
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/TIHardwareRenderer.h
1beb760d920561679862ded945a04e370368c7f7 25-Aug-2009 Andreas Huber <andih@google.com> Make sure not to ask for more buffers when we know that there won't be any, added a quirk for the aac decoder.
/frameworks/av/media/libstagefright/include/OMXCodec.h
ff5fffd65cb639db5bb7c62a4313c6d3dd777a72 21-Aug-2009 Android Code Review <code-review@android.com> Merge change 10274

* changes:
Ignore pause and seek for live streaming.
7530e9c708275c273c134c36c68179f511c1940e 20-Aug-2009 Andreas Huber <andih@google.com> Dynamically allocate a pair of MemoryHeaps according buffer count/sizes required by the OMX component, respect JPEG compressed size.
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
dbc03445db2bbf83b64f0c0a5dc62e61408864d7 19-Aug-2009 Andreas Huber <andih@google.com> The PV AVC software decoder expects each fragment of a NAL unit to be handed to the decoder unframed.
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/OMXDecoder.h
2d7d46fb2d7f5f80afbf060f25ed049079fb0fc9 18-Aug-2009 Andreas Huber <andih@google.com> Refactored "stagefright" commandline app, split off JPEGSource.
/frameworks/av/media/libstagefright/include/MediaBufferGroup.h
693d271e62a3726689ff68f4505ba49228eb94b2 14-Aug-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 5bb012f0065f7ffaaeb4f569d71f0e3a8d6b19c3
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 10:40:08 2009 -0700

An attempt at fixing export using the qcom encoders. More quirks.

commit 0690e76bfa48118a68287ccf1bbfa82febaa620c
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 09:08:28 2009 -0700

Callbacks are now dispatched from a separate thread in OMX.

commit c6571a039526df29b6343f9a1971dbc019088c61
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 15:42:25 2009 -0700

Massive API changes throughout stagefright, smart pointers everywhere.

commit 900612af6a0555664d9ba195112cd859491265f4
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 13:33:12 2009 -0700

OMXCodecs now properly shutdown.

commit 96732f05e1b0603dcd1b11f16a23512592eeb4f5
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 12:04:04 2009 -0700

More work on JPEG decoding using the hardware OMX component.

commit 63839a073ac393e3a130434ba467969053b694ad
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 12 13:13:31 2009 -0700

An attempt to drive the JPEG decoder OMX node.

commit 3ac2fe5ab2926eda81b2123610b2434c645294ff
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:38:21 2009 -0700

Renamed StateMachine to OMXCodec and put it in its proper place.

commit 247da75a96bf8881956413023dd49a84d5b4f5b2
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:06:19 2009 -0700

Statemachine is now a full-fledged MediaSource.

commit 045244f6771fa0b9b329495c953afda900a84b71
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 7 09:16:54 2009 -0700

Properly setup the input format when exporting to AMR audio.

commit 271b984cb32c5cd9e46e3f90ae121f334e4b8da9
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 6 09:59:38 2009 -0700

Added some code to test audio encoding to the OMX harness.

commit 79af4748e4af33bd66d3fbac606e332a69741cf4
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 5 14:36:22 2009 -0700

Merge the old OMXDecoder and the new, shiny, StateMachine code.

commit 91cf5dd77a8762bc10a0b2ffce35e3bbeb262231
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 4 17:41:43 2009 -0700

A new harness to test OMX node compliance (and quirks).
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/CachingDataSource.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/MP3Extractor.h
/frameworks/av/media/libstagefright/include/MPEG4Extractor.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaDebug.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaPlayerImpl.h
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/OMXCodec.h
/frameworks/av/media/libstagefright/include/OMXDecoder.h
/frameworks/av/media/libstagefright/include/SampleTable.h
59ecb64c9629ab02329f8240c85b820ee0c98a2e 14-Aug-2009 Sahil Sachdeva <sahils@google.com> DO NOT MERGE, ALready merged to master.
1440173 [NJ-1331] MetaData utility parse the wrong m4a meta data. Changes to Java, application side.
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
f4148b55c5d6f68b22462e3880015fefa91ae7c6 07-Aug-2009 Andreas Huber <andih@google.com> Expose a variation of the createRenderer API that works on a plain Surface.
/frameworks/av/media/libmedia/include/media/IOMX.h
408b8e1073385d0d09bb96b9952f84731a0b4aeb 07-Aug-2009 Andreas Huber <andih@google.com> Deprecate/remove now unused socketpair ipc communication in favour of exclusive binder use.
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/OMXClient.h
fa2877b9ea48baed934b866d2ab3658b69c4c869 28-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001214: AudioFlinger and AudioPolicyService interfaces should not use pointers as handles to inputs and outputs.

Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces.
AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
bf37f3364804f521cc61845b1f1ce16fe133814b 04-Aug-2009 Andreas Huber <andih@google.com> Recording/Export to .mp4/h.263 somewhat works on TI hardware.
/frameworks/av/media/libstagefright/include/OMXDecoder.h
8b938cdab5bd3d074d9b41bc2915fcfc11e47f27 31-Jul-2009 Andreas Huber <andih@google.com> The IOMX interface now instantiates IOMXRenderers to hide the details of hardware accelerated blitting.
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libstagefright/include/MediaPlayerImpl.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/SurfaceRenderer.h
81573ec97eaf631cc63eedceb928e123dafd593c 30-Jul-2009 James Dong <jdong@google.com> Remove hardcoded maximum frame rate limit from the framework
bug 1993400
/frameworks/av/media/libmedia/include/media/mediarecorder.h
cfb3bc79a0e4d60ee2512c4ddbb85c424cc96c19 28-Jul-2009 Andreas Huber <andih@google.com> While other OMX nodes appear to now have switched to using microseconds to timestamp buffers, at least the TI AAC and MP3 decoders still use milliseconds.
/frameworks/av/media/libstagefright/include/OMXDecoder.h
0024245e134467d120b40099da16c467dc365e76 28-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 374ea382ee3a9e3ce17e4c6357fc40d02e362810
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 28 09:54:13 2009 -0700

PV's OMX implementation now uses (spec-compliant) microseconds instead of milliseconds in buffer timestamps.

commit 8d02f8ab5d7b022ad4ad34db2a9bdeea6ce2acfe
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 14:24:26 2009 -0700

Support for using an overlay for video playback on TI hardware.

Appears to be currently constrained to CbYCrY 16-bit colorspace.

commit d17f321cb4b15c1fea378f33a7ef5998f23dd0fc
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 09:45:38 2009 -0700

Added '--audio-only' commandline option to stagefright tool.

commit d8beef6be5c668c46451446d87e622933371cd75
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 24 13:35:00 2009 -0700

Generalize the various workarounds for OMX nodes with their own unique interpretation of the spec.

commit c7dfd53eeadf8ed5a39bf2b19b014dcd62f3324d
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 16:06:36 2009 -0700

Fixed erroneous TI AAC decoder behaviour wrt shutdown.

The AAC decoder appears to not return out buffers on an Executing->Idle transition, implemented a workaround that does a flush on all ports followed by the Executing->Idle. Oh, and flush with OMX_ALL doesn't properly work either. Fun.

commit d6377282e75060881336578f166f9c7feacf3f8f
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 14:06:50 2009 -0700

Apparently the "channels" parameter in AudioTrack's constructor no longer counts channels but is a bitmask of enabled destinations, update the code accordingly.

commit ff698c79e851a2e57d362e9c3a09828af4048087
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 16:54:44 2009 -0700

Fix MPEG4 decoding using TI's hardware decoder that I broke earlier...

commit 2ef78bb87cd856eb7f0b3d7dd68782a8650c12bf
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 15:43:18 2009 -0700

Now that the qcom decoder properly advertises its own custom colorspace, update dependent code to reflect this fact.

commit bbaec96910727080fd7c8a6907c04facb9f5220f
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:32:03 2009 -0700

Finishing up previous, incomplete change.

commit 76f14a1ae816b6f434771f8d12bdad81196f351e
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:25:17 2009 -0700

The TI video decoder now properly decoder AVC/H.264 content.

commit e106130d8c100d5c94603e43864a7a93cca10252
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 08:56:04 2009 -0700

Experimental support for the TI H.264 decoder, various modifications to OMXDecoder, non-functional still.

commit 241c3062dec3447db1a1ee74558cb4b9098fc404
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 12:13:09 2009 -0700

Enable TI hardware OMX decoders (except for AVC/H.264 which still has issues).

This particular set of OMX nodes does not appear to properly return our buffers when sending the "disable" command on a port. Rather it reqires manually flushing that port and _then_ disabling it instead.

commit 1c34506a46e32ce25f2a86f3b4250dcfc037356a
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 08:51:35 2009 -0700

Make it simpler to switch between the stagefright player and PVPlayer.

commit 249c6de05671d403f8dd51f095d49bf190430c9c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 20 14:38:15 2009 -0700

Prepare to use soon-to-be-available hardware decoders in the OMX decoder.
/frameworks/av/media/libstagefright/include/OMXDecoder.h
/frameworks/av/media/libstagefright/include/TIHardwareRenderer.h
9a92037bd6477533062d635b676a6c9833aab96e 27-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001517: AudioTrack compatibility issue.

Modified enum values in AudioFormat.java and AudioSystem.h.
Added code for backward compatibility in AudioTrack.java and AudioRecord.java.
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
c2f1f07084818942352c6bbfb36af9b6b330eb4e 17-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1795088 Improve audio routing code

Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioPolicyService.h
a64c8c79af1a15911c55306d83a797fa50969f77 21-Jul-2009 niko <niko@google.com> Added native metadata support.

Metadata.java:
Fixed typo 8k != 8092. The comment was correct though.

In Metadata.h, the new Metadata class is declared in the ns android::media
to limit the chances of conflict with other packages.

The MetadataType in MediaPlayerInterface is gone and moved to Metadata as
an inner typedef.

Similarly the SortedVector<MetadataType> instance have been replace by a
new type Metadata::Filter.

All the keys declared in the java counterpart are also in Metadata.h.

Metadata.cpp:
Contains the implementation of the native metadata packing.

There an associated change in the opencore package that should go in
at the same time as this one.
VPlayer.h
/frameworks/av/media/libmedia/include/media/Metadata.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
6d9d4ac96142880c35d6bee520347a9db74f92ed 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
d608a813a9d2cbc6e2a5ea81d78d4a9044090c4c 17-Jul-2009 niko <niko@google.com> Added method to get metadata out of the player.

The method passes a list of metadata ids to be retrieved and
a parcel where the metadata records should be appended.

If the list of ids is empty, all the metadata should be returned.
VPlayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
361f482fd229c4d0b683d04c93b9da4ab01660b7 17-Jul-2009 Marco Nelissen <marcone@google.com> Fixes to make libstagefright build for the simulator.
/frameworks/av/media/libstagefright/include/TimeSource.h
14d2747c7e54037e267bcff78b29e65b2181f0fa 13-Jul-2009 Nicolas Catania <niko@google.com> New test player stub to load mock native players.

Added a new class TestPlayerStub that takes a magic url in the setDataSource call.
Based on the value of the url, the stub is going to load a DL and create the concrete
player used during the test.
After these initialization steps TestPlayerStub is just a wrapper.

Added a new functional test MediaPlayerInvokeTest to demonstrate how a new
mock player to test the invoke method can be loaded.

Added a new mock player for the invoke test: invoke_mock_media_player.cpp.
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
20111aa043c5f404472bc63b90bc5aad906b1101 15-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 8d179995654c19d9094e51989dc84ed0deba6e04
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 16:30:40 2009 -0700

Protect stagefright code with BUILD_WITH_STAGEFRIGHT build-define.

commit 99b41acb58c34e8f024c30c833a09fd7b31c4e1f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 14:06:00 2009 -0700

OMX::list_nodes API, stagefright --list now lists all available OMX components.

commit 94a74c5b24aae6d7e446fff83d62ae3a57dc351b
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 16:04:29 2009 -0700

Reenabled "record" commandline application to test encoding, support for h263 codec specific data when writing to .mp4.

commit d363dd74f611577567c66d25900d6264c306468c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:59:58 2009 -0700

Make non-socket communication in IOMX the default.

commit e89fc82c4fd138c88339887baf72f1d0e67f8660
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:32:33 2009 -0700

The OMX interface now optionally supports communication through the binder only (no sockets involved)

commit 28611de11223fba65299787cdd33f7fdbd6a60a3
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 15:09:13 2009 -0700

Split off the logic to render to a Surface (not ISurface!) into SurfaceRender.{cpp,h}

commit c0cfa885faaeb17d3fc5436f6447b61708bd6fe1
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 12:21:46 2009 -0700

Fix display dimensions vs. decoded dimensions display issues, unfortunately breaks software rendering a bit...

commit ae209a2b5d09caed5dd383c910f238926aaa8fc6
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 09:33:29 2009 -0700

Simple video decoder performance test in "stagefright" commandline tool.

commit 59fe7840111d6f46dd3c48f4950146aed962dbd2
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 16:05:12 2009 -0700

StagefrightPlayer: Properly publish video dimensions by notifying the listener.

commit 51b6598f0e47be5e12d77f1d14e111e71c593638
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 11:38:15 2009 -0700

MediaPlayerInterface::AudioSink now supports the specification of a callback for pull-based audio.

commit 31ce53375d748da3e7d30e993ce89dae97fd65ea
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 17:23:37 2009 -0700

Proper support for pushing audio to a specified AudioSink interface. Still not bulletproof: video falls behind frequently.

commit a23e312b10631a5d47f5c9831205beac6b84ab36
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 15:10:13 2009 -0700

IGenesisPlayer and friends are no more, java interface now uses local playback instead
of playing inside the media server process.

commit 42ee5c06ab5ba1c16f50472b0b26a0526635c73c
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 13:17:03 2009 -0700

MP3 extractor now supports seeking (only fixed bitrate files currently supported)

commit 96a790405763bfa738d1c6845c99a9fdf579b66f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 7 10:53:54 2009 -0700

Keeping up-to-date with new master-gl changes, removing CameraSource for now, removing unnecessary commandline utilities from the build.

commit 6c9dcb7c628c0347154dd7f37913a3a5f04deb99
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 16:40:02 2009 -0700

Finally take advantage of the fact that the Qcom OMX decoders already place the output buffers into memory accessible by the hardware yuv converter and avoid extra allocations and memcpys in that case. Split of the render logic into subclasses of VideoRenderer.

commit e8d46e81cffc15ffb0bdf03f511e4a4497ca7621
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 12:18:29 2009 -0700

Added a few more cases of valid MPEG4 files to the sniffer, fixed end of stream notifications in MPEG4 files.

commit 88bffc5ed4033a607080f8777a1c0ec9e3e079de
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 2 12:25:03 2009 -0700

MediaPlayerImpl now properly pauses/resumes instead of tearing down the decoder chains and starting back up from the beginning.

commit 732aa0a87c7e8d8a10776b275712649954962414
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:58:56 2009 -0700

Remove pthread_mutex_* and pthread_cond_* in favour of Mutex and Condition.

commit 669e5944b2fe0542a3b8dba0c441a94503e99fb0
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:43:02 2009 -0700

Proper support for end-of-stream signalling of MediaSources.

commit afb038f2dc594c742e554b2d42b86ffc7434e3fc
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 30 16:48:03 2009 -0700

Support for the "sniffing" of datasources to determine their probable mime type (along with confidence). Slightly refactored the MP3Extractor to share common code with the sniffer.

commit ed3644b8bd56807e1db4b32433a93a2467f1f3c5
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 13:27:52 2009 -0700

I don't think prepare should automatically start the player.

commit 11eb9b49dc4a0819d366682817cba68613f4fe12
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 11:09:22 2009 -0700

Somewhat better timing information implemented in the MP3Extractor.

commit cab023a1751735c0ed26c8493498a91d8644c6c9
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 25 15:41:56 2009 -0700

Initial checkin for support of mp3 content, extraction and playback. Media extractors now abstracted in MediaExtractor baseclass.

commit 40f4146bb3c647e56690dd9b0fa3ffdea60030dc
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:41:12 2009 -0700

Make sure we only allocate surface buffers if there is video to be played.

commit 7f85e7d92fe81740e102e09905b19354f4ac178e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:19:32 2009 -0700

Clean up a failed merge and implement stub for new API in MediaPlayerBase.

commit f0e9d494a4c03402ea7b54891848ca5a50c421b2
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 15:38:03 2009 -0700

Support yuv420->rgb565 conversion if hardware color conversion is unavailable.

commit 87223248b3099cd5261b94169f84cfd1eba56a8f
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 09:35:56 2009 -0700

Remove unimplemented and currently unnecessary blocking option from MediaSource::ReadOptions.

commit e07e651f0325892b797f3eb64dbeca0f317afdfd
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 16:26:42 2009 -0700

Enable assertions in HTTPDataSource.

commit 0dc97adebea1721156880f4b3d5c70f8d50c53b2
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:39 2009 -0700

delete foo.

commit 7f05845dda496e7defee284d32509d127e785784
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:08 2009 -0700

added foo.

commit e432970c51eeec4e5d549bdb3e2d3e48ffb4f0e7
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 11:44:31 2009 -0700

Make sure to initialize all fields in _all_ constructors... Use a Mutex instead of the raw pthread_mutex_t.

commit d6286a6bbca639952491448fa3e609b775a8a814
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 17:11:49 2009 -0700

send_command is now implemented twice... ugly hack to get both shutdown working correctly and startup as well... playback now "works" on the emulator, too.

commit 8d657e004677a7c5dae4479e8519bcaa94c18aad
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 11:58:55 2009 -0700

Instead of erasing codec specific data once it's been output to the omx node, retain the data and just rewind after a stop.

commit 279fede6ba35cbc37c35616c53406bf2c9720202
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 10:58:11 2009 -0700

Various fixes related to play/pause. Decoder now properly frees OMXMediaBuffers, made MemoryDealer destructor protected instead of public to prevent accidental stack-allocation of MemoryDealer objects.

commit 0f717f15a6328efd3f34082929cd8ad2351095a9
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 08:44:12 2009 -0700

Make sure to rewind codec specific data on OMXDecoder::stop and reset AudioPlayer's notion of time mapping.

commit 0cfb63e33270daf9b215214608ab383f93a31823
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 14:25:48 2009 -0700

Massive rename.

commit 30ed8f476c4431a5275538958b3e281bd17d5eab
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 13:52:41 2009 -0700

send_command and fill/empty buffer commands must be executed in sequence, send_command is now dispatched over the socket instead of through the binder interface to ensure this.

commit b832d04011b2dd8a9632eb7e575bfe1addd1270d
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:21:17 2009 -0700

MediaBuffers can now be "clone()", they sit on top of the same data but have their own range and metadata. Once a clone's refcount drops to 0 it decrements the refcount on the original buffer.

commit 4e944672808bdf1ed40a69f3f602f93ebf7b4049
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:01:01 2009 -0700

Split MediaBuffer.h into MediaBufferGroup.h and MediaBuffer.h, same with their respective source files.

commit ddb7529b4de4828db51432bd405fddd76cfa3b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 16:30:25 2009 -0700

More fudging with A/V sync...

commit 1e5a4d8df08237b58c06c6527a33152ae931addf
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 11:54:20 2009 -0700

API cleanup of MediaSource. Got rid of MediaRing as it really doesn't serve a purpose if OMX decoders are used.

commit 0953c65232aa9753d17d2e25c5f5526eb810cf13
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 16:59:19 2009 -0700

Experimental TimedEventQueue and an attempt at a cleaner player implementation using it, OMXDecoder is now a little less verbose.

commit 2085b8ea9484a21fa11f94194a27405d413aeecc
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 10:17:01 2009 -0700

Properly bail out of the AV sync loop if the MediaPlayerImpl is stopped.

commit 471f143458a8a0d93cb1bf9568c63c3967279dc6
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 17:32:27 2009 -0700

Now this is much better AV sync, defer seeking the audio source until we know where the video source synced to.

commit 4010d371dbe62ce4971e13437776cba32cb0bb3d
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 16:01:07 2009 -0700

Tweaked some of the heuristics in AV sync, OMXDecoder is now a little less verbose, seek to a sync sample at or _after_ the requested position.

commit f3d4af1d5a4ac31fa02271b000f6c7ec593f0da9
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 15:33:58 2009 -0700

Change the TimeSource interface's APIs, prefer microseconds over milliseconds now, changed the way MediaPlayerImpl does AV sync.

commit 08bb46fa61d12e852a424698ddb0c90700328f6e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 11:57:24 2009 -0700

Using framework's Mutex and Condition classes instead of pthread functions, much saner locking in OMXDecoder.

commit 4d77b4e09e59bbf8c1af009ae7dc62b10af52fd6
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 17:12:03 2009 -0700

MediaSources now publish their format.

commit 7e429a26c57bf936e1a08035d2d11839f9f00310
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 16:38:29 2009 -0700

MetaData is now implemented in terms of KeyedVector, MetaData is now reference counted.

commit 0fa957aa5c9bcb6ec122ed7b5b97430039be6797
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 14:39:55 2009 -0700

Sync sample seek support.

commit 78a5f090d02e7e6e1a146b29bdb7771eecaa2f86
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 13:51:11 2009 -0700

Distinguish shutdown from port-flush since one requires buffers to be freed and the other one doesn't. Fixes a problem with seek.

commit e57781d3b2c985a74cd8b60e7c8f2d576459d038
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 10:52:20 2009 -0700

First shot at support for seeking a MediaSource. Sync frames are not properly handled yet.

commit 0551cd78fda78bf66877fb26c5a55e5ae23d8367
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 16:23:38 2009 -0700

Preliminary support for camera input.

commit f8ebafa65d10d5a06944de6b2e2992a33121b857
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 12:13:47 2009 -0700

Allow NativeMediaPlayer access to Surface's getISurface() method.

commit b1a9fb36eeccd9f49d28c1c64b31fccbd6506eeb
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:38:25 2009 -0700

Header files are now in their own genesis2 hierarchy below frameworks/base/include.

commit f49b8b234b8f6ce83148787eef540dd920f04aa6
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:22:03 2009 -0700

moved MPEG4Writer into libgenesis2.

commit 5224254919dac4728677335ea60429fa16f518b4
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:13:38 2009 -0700

Everything now lives in the android namespace, integrated errors with android errors, renamed MediaPlayer to MediaPlayerImpl.

commit f9a9d84f7e0465ef5d1938a068655ba39527cf99
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 16:43:11 2009 -0700

Support for getPosition() and getDuration().

commit 3206cc5140bcbc88be039f8d94b954af63e69752
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 15:37:45 2009 -0700

Support for {MediaPlayer, GenesisPlayer, Genesis2Player}::isPlaying()

commit 9f41b248e0dfce71bbc50f883750cec52ebfd1fe
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 13:49:50 2009 -0700

Proper disconnection from the OMX service.

commit cdcf47a2c31599109ee42277c7fa14af3c600091
Author: Andreas Huber <andih@google.com>
Date: Tue May 26 17:27:06 2009 -0700

New player type for the genesis player in libmediaplayerservice. Playing video through an ISurface now.

commit 0586af20ac9ae0403dd190bafd290b0f90549723
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 15:53:19 2009 -0700

Fix a buffer overflow error by adding padding in case we need to de-frame AVC data.

commit eac62fff6ad2ffb7b75c0d4a1b9620d33e93fb9b
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 13:35:30 2009 -0700

Support for http URIs in MediaPlayer, compensate for AudioTrack latency.

commit a7db456e3173d94d6b5e457547e2a6a5f7a8e1cc
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 11:33:25 2009 -0700

Support for URIs in MediaPlayer class, support for shoutcast streams in MediaPlayer, force shutdown of OMX nodes if they don't shutdown cleanly within a second.

commit 1f0268f4f14ad5215668f34e06a420850174d665
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:33:16 2009 -0700

and foo.txt is gone again.

commit 0feca4e0919f345704d78ec78894bac5027bd5ed
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:28:49 2009 -0700

added foo.txt

commit 9c7d04b35cdc895a2de3602dc46522f608bd205f
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:28:04 2009 -0700

delete foo again

commit fec3ca1720992cce51b9a92b86b945da88a6b16c
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:27:45 2009 -0700

weird

commit 30a6571302333146e537e537a3a8986245cca87c
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:18:55 2009 -0700

reverse test

commit dea3d99dd0fe9386e8a3c51954d9d0fe2be09d38
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:18:22 2009 -0700

test

commit a9eeafec6e46072cac41e54ebdbd153cb7ae7518
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 16:37:50 2009 -0700

Use the video ring again for now.

commit e05ff3d3c1c4f89ef499a2b172138a775fd694e3
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 15:42:19 2009 -0700

Export to .mp4 now works for MPEG4 video content. Fixed a bug in the sample table wrt co64 chunks.

commit 5c44c540374a4e50c4e8aaab2b7a34aed6e1391e
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 09:56:11 2009 -0700

Fix the build, all binder-related headers have moved and there's a new library libbinde
r to link against now.

commit 23e0a24404d16c898c2c6b3c7495ad303844bc71
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 08:42:04 2009 -0700

Initial checkin of MPEG4Writer, a class to export media sources into an mpeg4 file. MPEG4/AVC metadata (efss & friends) not currently working.

commit 9cd77adb1ac194197364ffad00a0d7215f458e1a
Author: Andreas Huber <andih@google.com>
Date: Wed May 20 12:31:45 2009 -0700

New shell command to test recording/encoding. Various changes to OMXDecoder to support encoding properly. Now each OMXDecoder needs a dedicated thread on the client side since onEvent responses could block which would cause deadlocks if a node depends on the output of another node for example.

commit 5c510fb55ffed7ec25305999ed9b6c1eec48d503
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 15:40:06 2009 -0700

Make media decoding the default in the genesis2 commandline app instead of shoutcast playback.

commit f6c7a2040b8eb43326621f12c3a936e09b3a70e3
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 11:03:04 2009 -0700

The king is dead, long live the kind... Replaced old OMX binder interface with new OMX binder interface/socket hybrid.

commit 0d4955eb5df9bfafb576d22f2ed572644d6d69ac
Author: Andreas Huber <andih@google.com>
Date: Thu May 14 12:39:34 2009 -0700

dynamic negotiation of NAL framing with the MPEG4Source, removed stale code from genesis2 commandline tool. Enable support form PV H264 software decoder.

commit 380369f54a8027cbc9349305184d6bf527a24efe
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 17:32:00 2009 -0700

Explore the option of running everything inside the mediaserver process by encapsulating the player in an IGenesisPlayer binder interface.

commit b5cada56b9089a23e0c461352a97dc71e08b424d
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 12:11:06 2009 -0700

Introduction of TimeSource class, clean shutdown of OMX Nodes.

commit 89f6e582e605dcb2149eb67f73fe9345d4b9be2e
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 17:11:56 2009 -0700

Helper classes MediaRing and MediaPlayer.

commit 9aaed8739b4bb941473da367fb88f63224d2f1b7
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 14:19:18 2009 -0700

Using mmap to map a file instead of going through FILE* improves performance, who knew?

commit ad097a78bbd002c59193ffdc39b64935928426c7
Author: Andreas Huber <andih@google.com>
Date: Mon May 11 16:42:42 2009 -0700

Added a performance test, refactored AudioDecoder a little.

commit bdd1b80ab3f3ba43e04f1f996e7fa84ed2e2728a
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 16:19:29 2009 -0700

No more copying the output buffers coming out of the decoder, NAL separation also done in the extractor to avoid copying the data.

commit 858955b42c29b8033841a8caaa56c2a449810ef3
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 14:02:38 2009 -0700

Change from a model in which the caller specifies the destination buffer to one where the MediaSource returns a buffer.

commit 95098b6d4f8bdc37dfb6a109ca58db4d9e414e2d
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 13:21:45 2009 -0700

Changes to support multiple pieces of codec specific data to the decoder, de-frame nal units from the h.264 stream and insert start codes

commit 3941fcf87a48dda81683df727dfb1381f62d9184
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 16:37:45 2009 -0700

some refactoring. Most streams play now.

commit d3152862840d4dd39068e5197bec8674f3d55dd5
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 15:37:32 2009 -0700

Misc. changes to support H264 decoding using the qcom hardware decoder

commit d4ecdfe7af36e7468270d1c2cbbdc540efe0351e
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 09:28:18 2009 -0700

Timestamps are now stored as a fraction, i.e. units and scale, also, PV appears to violate OMX specs by assuming timestamps are in milliseconds instead of microseconds.

commit fe6a50943f885e065d4061aa727a54417e9f36db
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 14:18:27 2009 -0700

Refactored commandline app instantiation of the decoder.

commit da1ff2724d0e78e8b360d9a2c34c55dd0e2c0492
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 10:41:14 2009 -0700

Proper audio/video synchronization.

commit 569ee3a23f600f4b6b87c6178c0223b06e97f201
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 09:17:20 2009 -0700

Preliminary support for timestamps.

commit e4e302a89207550d8a7170d8c0afbd9c15047c84
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:13:12 2009 -0700

Another quick hack job to make CachingDataSource thread-safe as well.

commit dfb376a58bd7c09aa04e89558186fcfe13fe696c
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:08:14 2009 -0700

Quick rushjob to make FileSource and SampleTable thread safe.

commit 02b29e7ebdab1f8b959b6c177ceb3b89d998f375
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 17:22:04 2009 -0700

Made video decoding work for mpeg4/h263 and mostly(?) with AVC content.

commit 3a57b8ff15e48f5a0af03bf0a99c32e240dbb7ef
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 09:26:42 2009 -0700

Getting rid of old sample code to drive the OMXNode binder interface.

commit 5b046aed0cf524a57ea711bc1e43ea80e57b2cb3
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 16:21:11 2009 -0700

Moved files from the commandline utility into the framework, renamed MP3Decoder to AudioDecoder

commit 7f3fbba21512a078b732cc52c7bd5ba5acb9a317
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 15:56:19 2009 -0700

Fixed buffer ordering and an off-by-1 error in the SampleTable code. Plays all AACs now :)

commit 024d06baab8f2c540dde16f7e7a4b6dd57f638c7
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 11:52:48 2009 -0700

Some AAC content in .3gp or .mp4 files plays correctly now, other does not. Implemented ESFS parser.

commit 1470427866b0d3e0ce6848b4edc01c13a09be289
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 30 15:19:31 2009 -0700

Another checkpoint, amr decoding now functional.

commit e612d044439f56331b6a2bc4a88622e04d4d42e7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 12:11:29 2009 -0700

string wrapper around String8, various fixes, shoutcast now works again.

commit 2ea52dfb1a39bf3a223ffc87855e54919e2daff7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 11:08:18 2009 -0700

Initial check-in of OMXNode binder interface.

commit 7880d2957f74c0d7fba7679431ff5adb3780543b
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 10:05:01 2009 -0700

Initial check-in of both libgenesis2 and the genesis2 commandline tool.
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IOMX.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
/frameworks/av/media/libstagefright/include/AudioPlayer.h
/frameworks/av/media/libstagefright/include/AudioSource.h
/frameworks/av/media/libstagefright/include/CachingDataSource.h
/frameworks/av/media/libstagefright/include/CameraSource.h
/frameworks/av/media/libstagefright/include/DataSource.h
/frameworks/av/media/libstagefright/include/ESDS.h
/frameworks/av/media/libstagefright/include/FileSource.h
/frameworks/av/media/libstagefright/include/HTTPDataSource.h
/frameworks/av/media/libstagefright/include/HTTPStream.h
/frameworks/av/media/libstagefright/include/MP3Extractor.h
/frameworks/av/media/libstagefright/include/MPEG4Extractor.h
/frameworks/av/media/libstagefright/include/MPEG4Writer.h
/frameworks/av/media/libstagefright/include/MediaBuffer.h
/frameworks/av/media/libstagefright/include/MediaBufferGroup.h
/frameworks/av/media/libstagefright/include/MediaErrors.h
/frameworks/av/media/libstagefright/include/MediaExtractor.h
/frameworks/av/media/libstagefright/include/MediaPlayerImpl.h
/frameworks/av/media/libstagefright/include/MediaSource.h
/frameworks/av/media/libstagefright/include/MetaData.h
/frameworks/av/media/libstagefright/include/MmapSource.h
/frameworks/av/media/libstagefright/include/OMXClient.h
/frameworks/av/media/libstagefright/include/OMXDecoder.h
/frameworks/av/media/libstagefright/include/QComHardwareRenderer.h
/frameworks/av/media/libstagefright/include/SampleTable.h
/frameworks/av/media/libstagefright/include/ShoutcastSource.h
/frameworks/av/media/libstagefright/include/SoftwareRenderer.h
/frameworks/av/media/libstagefright/include/SurfaceRenderer.h
/frameworks/av/media/libstagefright/include/TimeSource.h
/frameworks/av/media/libstagefright/include/TimedEventQueue.h
/frameworks/av/media/libstagefright/include/Utils.h
/frameworks/av/media/libstagefright/include/VideoRenderer.h
/frameworks/av/media/libstagefright/include/string.h
7b115569a3816783bfa7f980e2208a6f9d96daa1 04-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Ignore pause and seek for live streaming.
VPlayer.h
8e1b6cce24574b9ecd5b0300155776bd0b4ef756 09-Jul-2009 Nicolas Catania <niko@google.com> Basic plumbing to retrieve metadata from the native player.

IMediaPlayer.h
Added a getMetadata method that mirrors the on in MediaPlayer.java.

MediaPlayer.java
Added a native method to get the metadata from the native player.
Parse the parcel into a Metadata object.

Metadata.java
Added a stub to parse the Parcel returned by the native player into
a set of metadata.

android_media_MediaPlayer.cpp
JNI call to forward the getMetadata call.

MediaPlayerService.cpp
MediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
a7e0e8b4c429fc68eb1bd5b5a30f5b91352288f9 08-Jul-2009 Nicolas Catania <niko@google.com> Implemented the metadata changed notification filters.

IMediaPlayer:
new setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type)
serialized in a Parcel.

MediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp
new setMetadataFilter that passes the filter down to the MediaPlayerService's binder interface.

MediaPlayerService.cpp
The Client inner class holds the allowed and blocked metadata types.
These are in 2 vectors that get populated in the setMetadataFilter.

A new shourldDropMetadata method returns true if a type of metadata should be dropped according
to the filters.

The notify method in run the metadata update notifications thru the filter and possibly drop them.
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
349dba337e07e129f6ba49a132999f0b73fedbe3 07-Jul-2009 Eric Laurent <elaurent@google.com> am 88e209dc: Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Merge commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c'

* commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c':
Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
573266210fb2b2e7d86fbd46d0dfe16763611d91 07-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t.
Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate().
AudioTrack::setSampleRate() no returns a status.
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
1d187f1a86855f5f0694d7ec30efc9833bf7c589 13-May-2009 Nicolas Catania <niko@google.com> Direct api to the native media player.

MediaPlayer.java has 3 new methods:
* newRequest creates a Parcel that can be used to send data to the
native player using invoke.
* invoke issues synchronous calls to the native player using opaque
parcels for the request and reply.

IMediaPlayer.h has 1 new abstract method:
* invoke

The Midi and Vorbis players have a stub for these. So far only PV
makes use of that new feature.

To avoid any copy overhead, the JNI interface uses Parcel as a java
object (no serialization/copy happens at the JNI layer).

The remote interface token is inserted when the Parcel is constructed
in java. That way the parcel is already routable when it reaches
IMediaPlayer.cpp (proxy). No extra copy is needed there.
VPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
3d59a4b99937a7d0dc07eec2574cc8a98cc99fdd 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 1bee98af: Merge change 5100 into donut

Merge commit '1bee98af6532eba3c6cda636eee890530c95a2a7'

* commit '1bee98af6532eba3c6cda636eee890530c95a2a7':
Fill in CDMA gaps and clean up ToneGenerator code
5e0a3043af16bc71a4211ee00dc00724de6623a7 17-Jun-2009 David Krause <david.krause@motorola.com> Fill in CDMA gaps and clean up ToneGenerator code
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
4710a1f6c9800dae90f9e2702ba2b5b54c095eae 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am d670b8c6: Merge change 3981 into donut

Merge commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a'

* commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a':
Removed trailing whitespaces.
660951867e959ebe98612742ef1f72d33ea7e9a3 12-Jun-2009 Nicolas Catania <niko@google.com> Removed trailing whitespaces.
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
2a7d5b3c1a3749db7c4ace34bf1253c44967e843 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am b2df1699: Merge change 1548 into donut

Merge commit 'b2df1699c996e62baa78877978cd2c5607ea4194'

* commit 'b2df1699c996e62baa78877978cd2c5607ea4194':
NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
9747c5a1f5e51fab72169767972bf55f73711000 08-Jun-2009 Jianhong Jiang <jianhong@google.com> NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
/frameworks/av/media/libmedia/include/media/mediarecorder.h
f853bb74a196b5403482bf8e8cf9429081fa5974 04-Jun-2009 Ravi K Yenduri <yenduri@pv.com> Ignore pause and seek for live streaming.
VPlayer.h
273d098cc72a88c797d01c7dff0c1350f315f05f 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
95634c8b6ad5419e310a5196bcc37f5988ed82da 26-May-2009 Android (Google) Code Review <android-gerrit@google.com> am de8268d6: Merge change 2331 into donut

Merge commit 'de8268d6d1cd168510c490b17e93154d2eab767c'

* commit 'de8268d6d1cd168510c490b17e93154d2eab767c':
Fix issue 1846343 - part 1
f5879c1448cc6aebc51b26d3ec2399d66144f8f4 22-May-2009 Eric Laurent <elaurent@google.com> Fix issue 1846343 - part 1

This change is the first part of a fix for issue 1846343, :
- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.
- renamed streamType to inputSource in all native functions handling audio record.

A second change is required in opencore author driver and android audio input to completely fix the issue.
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
7562408b2261d38415453378b6188f74fda99d88 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
b206b934737c73b2ad243ebcad53f110d464819e 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
a9470ac2bf900f805468b4868aeeb6465b25e02e 20-May-2009 Garret Pick <pickgr@pv.com> Change required for OpenCORE 2.04 Update
VPlayer.h
0b62e242d112d46e9357242b0a4e11c720c98ca0 05-May-2009 Eric Laurent <elaurent@google.com> Fixed issue 1709450: Requirements for CDMA Tone Generator

Added new tone types for CDMA IS-95 specific tones.
Automatic selection between IS-95, CEPT and JAPAN version base on operator
country code for call supervisory tones.
Also improved tone generator capabilities:
- Each tone segment can now generate its own set of frequencies
- A tone does not have to be a succession of alternating ON/OFF segments
- The sequence repetition does not have to start from first segment
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
1dd70b9f04961a06fcb73a97fca10a53b3245d3c 21-Apr-2009 Eric Laurent <elaurent@google.com> Fix issue 1745312: Various cleanups in media framework

AudioTrack, AudioRecord:
- remove useless mAudioFlinger member of AudioTrack and AudioRecord.
- signal cblk.cv condition in stop() method to speed up stop completion.
- extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily

AudioFlinger:
- remove some warnings in AudioFlinger.cpp.
- remove function AudioFlinger::MixerThread::removetrack_l() as its content is never executed.
- remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute().
- Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99.

AudioSystem.java:
- correct typo in comment

IAudioflinger, IAudioFlingerClient:
- make AudioFlinger binder interfaces used for callbacks ONEWAY.

AudioHardwareInterface:
- correct routeStrings[] table in AudioHardwareInteface.cpp
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
1503b07c2619dc520b0b6747f645cebe10cc05a3 31-Mar-2009 Ravi K Yenduri <yenduri@pv.com> Enable OpenCORE on master - part 1
VPlayer.h
a845f672e491ec3567709501f8af8d3661f184e7 28-Mar-2009 Eric Laurent <> AI 143177: am: CL 142889 Fix issue #1736153 Camera shutter sound can be muted by new AlarmClock setting.
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
Original author: elaurent
Merged from: //branches/cupcake/...

Automated import of CL 143177
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
e47562d6b22a091c62ad0c7c2d68d0968b5d21af 26-Mar-2009 Eric Laurent <> Automated import from //branches/cupcake/...@142889,142889
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
7d563247cdac0509009d579bbf849157d47c38a9 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@141200,141200
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
7dc112527d77b675d5c0451502b33fe2c552a79e 25-Mar-2009 Jason Sams <> Automated import from //branches/donutburger/...@140866,140866
/frameworks/av/media/libmedia/include/media/mediaplayer.h
2c22aeb65e801f663a754d043062f85e49f77739 25-Mar-2009 Jean-Michel Trivi <> Automated import from //branches/donutburger/...@140663,140663
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
87e445b4bed2931b9033aff68878cd4b392e1fab 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
1179bc9b0e3d17c984e8f4ad38561c049dd102fa 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/av/media/libmedia/include/media/mediarecorder.h
c048cae0367db6fbb4fe1127be5011910713d4ad 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
VMediaRecorder.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
65e731f393f704eedab6fbe0af7f8a580c8d4617 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
VPlayer.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
87e06b6ae58d0caca9196e31490f2a5b515a9740 06-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136654
hread_init.h
89fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
VMediaRecorder.h
VMetadataRetriever.h
VPlayer.h
hread_init.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
15f767b960b38059a74a42a33e16d8df2aec8bc1 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
VMediaRecorder.h
VMetadataRetriever.h
VPlayer.h
hread_init.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
ad04d9201452001dbaac4349f084cc9316190b89 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
VMediaRecorder.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
99ffda877980468a9ae31e013cd10fb3645df1b0 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
VMediaRecorder.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
25658fd43d150a45fb37734a9f9f27f48bb5c133 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
7a2146d5807030b2629f347736be5301b61e8811 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
VMediaRecorder.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
5e07b5774c8b376776caa4f5b0a193767697e97e 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
VPlayer.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlingerClient.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
e5198b620a9a208ec59ea8457282404725f8ff6e 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
54ffb8abf94365496a2dbf5d792b6977d6a8ef06 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
VMediaRecorder.h
cce8bd12da6d8419a8770e4552a51ec297c250c2 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/JetPlayer.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
7b5eb023f8d87cca6d830ae6c11c6aadbe02aca8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
VMediaRecorder.h
VMetadataRetriever.h
VPlayer.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/IMediaMetadataRetriever.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/IMediaRecorder.h
/frameworks/av/media/libmedia/include/media/MediaMetadataRetrieverInterface.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h
2729ea9262ca60d93047e984739887cfc89e82eb 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
VPlayer.h
hread_init.h
/frameworks/av/media/libaudioclient/include/media/AudioRecord.h
/frameworks/av/media/libaudioclient/include/media/AudioSystem.h
/frameworks/av/media/libaudioclient/include/media/AudioTrack.h
/frameworks/av/media/libaudioclient/include/media/IAudioFlinger.h
/frameworks/av/media/libaudioclient/include/media/IAudioRecord.h
/frameworks/av/media/libaudioclient/include/media/IAudioTrack.h
/frameworks/av/media/libaudioclient/include/media/ToneGenerator.h
/frameworks/av/media/libmedia/include/media/IMediaPlayer.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerClient.h
/frameworks/av/media/libmedia/include/media/IMediaPlayerService.h
/frameworks/av/media/libmedia/include/media/mediametadataretriever.h
/frameworks/av/media/libmedia/include/media/mediaplayer.h
/frameworks/av/media/libmedia/include/media/mediarecorder.h
/frameworks/av/media/libmedia/include/media/mediascanner.h
/frameworks/av/media/libmediaplayerservice/include/MediaPlayerInterface.h