• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libstagefright/include/
History log of /frameworks/av/media/libstagefright/include/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4a9ab2a382558941ea7fe92324a3d97848686ca8 14-Jun-2017 Dongwon Kang <dwkang@google.com> Revert "Throw IAE when crypto or descrambler is not given for secure codec"

This reverts commit aaa5e6400d7654ca1a7dcebeba36214ed060e3cb.

Test: revert change
Bug: 62570231
Change-Id: Ic1d8b67616a3ac8f491e367d91b3a70d7d22ffa0
CodecBufferChannel.h
aaa5e6400d7654ca1a7dcebeba36214ed060e3cb 08-Jun-2017 Dongwon Kang <dwkang@google.com> Throw IAE when crypto or descrambler is not given for secure codec

Test: MediaCodec throws IAE for the given decoder stress test
Bug: 62100632
Change-Id: I33e7a1f942c49647a17bc2728f1d3b099265628d
CodecBufferChannel.h
009ff0dd59732f0c389d172edb26942c35422e3a 06-Jun-2017 Dongwon Kang <dwkang@google.com> Protect sp assignments in RemoteDataSource.

sp assignments is not thread safe and close also can be called from
binder clean-up procedure on the separate thread.

Test: cts-tradefed run cts -m CtsMediaTestCases -t android.media.cts.MediaPlayerTest#testVorbisCrash
Bug: 62251555
Change-Id: I3e5f42d87b490f4aadfa17276632783545611cdc
emoteDataSource.h
f1e459c6400a774d99390227e853a30f58cee4a2 24-Mar-2017 Elliott Hughes <enh@google.com> Fix apps using Adobe AIR.

Apps that use Adobe AIR are all broken because the symbol
_ZN7android9OMXClient7connectEv disappeared. If we use overloading
for OMXClient::connect rather than a default parameter, that gives
us another release to reach out to the app authors.

Bug: http://b/35325668
Bug: http://b/35454864
Bug: http://b/36106661
Bug: http://b/36263763
Bug: http://b/36501801
Bug: http://b/37176992
Test: ran broken apps
Change-Id: Ic310fc0e69be322f007601d23bb4bf82df215036
(cherry picked from commit 9f3f8dd774753c5ed2dfabde65d440182bfaa02e)
MXClient.h
4ec8d83215d61ce8dfad15f5c42e7a190d924bf6 18-Apr-2017 Wonsik Kim <wonsik@google.com> stagefright: prevent component to be stuck on error

Bug: 36818684
Bug: 34983882
Test: Run the command below on Nexus Player overnight:
while true ; do adb shell am instrument -e class 'android.platform.tv.tests.aupt.YouTubeTests' -w 'android.platform.tv.tests.aupt/android.support.test.aupt.AuptTestRunner' ; done
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: I9663c3d62d97c3f5db0af6c30f39bb59cbc7e3e7
Codec.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
Codec.h
43fb79ad6ffecb86d5041afd8c06b764fb6f934f 06-Apr-2017 Lajos Molnar <lajos@google.com> stagefright: Rework GraphicBufferSource - step 1

- Abstract buffer reference counting so that it does not intimately
assume a BufferQueue. Move releasing acquired buffers into a
callback as this is BQ specific. Having vectors for slots is also
BQ specific.

Use shared, copiable objects to manage buffers and their lifecycles:

CachedBuffer: a cached buffer in a slot

AcquiredBuffer: a buffer acquired from the producer that will
need to be released (and will get released when all copies of
this object go out of scope)

VideoBuffer: an acquired buffer with metadata

- Rename variables to be more descriptive.

- Move associated methods and variables closer together.

- Document methods and some of the operations of GraphicBufferSource.

Bug: 37110143
Change-Id: Iea5e7a376eba2bdd41624a7ddbe1d94c3d0e7b68
oundation/ADebug.h
oundation/FileDescriptor.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
bc7aae4ff7e72e5bf0fa888f946835840a4357bb 31-Mar-2017 Chong Zhang <chz@google.com> MediaCas: changes to address API review comments

Attach CAS system id as well as session id for scrambled tracks,
so that MediaExtractor can construct the CasInfo object.

bug: 22804304
bug: 36791613
bug: 36783335

Change-Id: I524c10a746615da5c16845658c39fd5a972182c9
etaData.h
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.h
89999206477b02597be9b5322d35e37b11ca7326 27-Feb-2017 Hangyu Kuang <hkuang@google.com> (DO NOT MERGE) media: Add support for setting encoder latency in ACodec.

Test: Video recording.
Bug: 34221970
Change-Id: Ibd1ac03b206540cac354d4c80bafdacb6f0ea9e7
(cherry picked from commit 8e92c7c9f17a3a05f487c6bef40e921de75df7b7)
Codec.h
b5df547bce900fa5764d735bee304e79c001d60d 21-Mar-2017 Yin-Chia Yeh <yinchiayeh@google.com> Camera: HAL1 recording batching support

Test: Angler HAL1 + batching normal recording mode
Bug: 35997432
Change-Id: If088715ccdb40163f44150c16deed62432692c07
ameraSource.h
ameraSourceTimeLapse.h
d49dbd6b625cddb82f3f7bbeac62d48ef338ef0f 07-Jul-2016 Andy Hung <hunga@google.com> Allow MediaExtractor to create FileSource

Remove binder call to MediaServer for reading files.

Test: Photos, Play Music, Play Movies, Youtube
Bug: 29125703
Change-Id: Id6abf592bf6d70b81158f6038b1982f0a537b9b9
allbackDataSource.h
ataSource.h
ileSource.h
emoteDataSource.h
6dcab2bafd847be84c2c2230bbd04af9c45c491e 28-Mar-2017 Chong Zhang <chz@google.com> DRM: more fixes for heap base mapping -- DO NOT MERGE

Heap base for the same heap could be mapped to different values
after they go across binder to CryptoHal. So we can't use heapbase
to index the heaps.

Since each ACodec instance allocates all its shared memory buffers
from the same memory dealer, we let CryptoHal assign a sequence
number to the ACodec when it calls setHeap. In subsequent calls
to CryptoHal::decrypt, reference the heap by the seq num, and ignore
the heap base address.

Bug: 36479980
Bug: 36209723
Bug: 36660223

Test: the above bugs don't repro

Change-Id: I2f519a689a5891447385d1bf9d6e668bb3b4dbe2

(cherry-picked from bf628da1e231e2e4d6bf61f9884e120bae3f9156)
CodecBufferChannel.h
d07c92742fc5801cab8e99801f591365986acbe9 28-Mar-2017 Chong Zhang <chz@google.com> Revert "Revert "Fix decoder instantiation during playback"" -- DO NOT MERGE

This reverts commit de7268d8e20b883ec88a7ff19ad560a665373484.

Bug: 36479980
Bug: 36209723
Bug: 36660223

Change-Id: I8d83305a28dc35cee16f8f1068c90fdd0b9effff
(cherry picked from commit 6aa5c0662c86c7f7b2890577a207086eeecbd177)
CodecBufferChannel.h
01c10f8cdcd58d1e7025f426a72e6e75ba5d7fc2 17-Mar-2017 Lajos Molnar <lajos@google.com> stagefright: add support for named vendor extension parameters for MediaCodec

Relay vendor extension params to the component and populate vendor extension
parameters to the format. Failure to set these parameters is propagated to
the caller. Component may decide whether to fail on invalid/incomplete
settings.

Also add required support:

- propagate more errors from OMX to client, and be specific about
errors we ignore in MediaCodec.configure().
- add AMessage::findAsInt64

Bug: 32746650
Change-Id: I67ee8a5c1d3e65816cdadc28d228721925e2e327
Codec.h
oundation/AMessage.h
93e29c0846e0f7583ae96edafbf5e8a3169711ee 22-Mar-2017 Jeff Tinker <jtinker@google.com> Merge "Revert "Fix decoder instantiation during playback""
de7268d8e20b883ec88a7ff19ad560a665373484 22-Mar-2017 Jeff Tinker <jtinker@google.com> Revert "Fix decoder instantiation during playback"

This reverts commit 33327c7f0f04bcce3f8e8ee23953f87efc423037.

Bug: 36479980
Bug: 36209723

Change-Id: I8ff9422086f5ba9ba5df60135d20b9d8bfc0be52
CodecBufferChannel.h
7ec2a45e48f6c24a5e8fa96416d8793329b79d2f 17-Mar-2017 Jeff Tinker <jtinker@google.com> Merge "Fix decoder instantiation during playback"
33327c7f0f04bcce3f8e8ee23953f87efc423037 16-Mar-2017 Jeff Tinker <jtinker@google.com> Fix decoder instantiation during playback

When a decoder is created while another decoder
is in use and the two decoders share a common
crypto instance, decryption results would become
indeterminate, which could cause the decoder to
hang. This change adds a notification to the
crypto instance so it can update state when its
ownership changes.

bug: 36209723

Test: playbacktests-debug-androidTest.apk as
described in the bug.

Change-Id: I453c260eace5543dd79a3569bf6a9592394c4113
CodecBufferChannel.h
9c544bb666bc990812422797c326a76a1bf53beb 16-Mar-2017 Ray Essick <essick@google.com> Merge "Name changes to Media Metrics Keys"
afb43f76821e6a63e17e6484289a40430ada6978 09-Mar-2017 Ray Essick <essick@google.com> Name changes to Media Metrics Keys

The API council noticed that we used keys like "ht" and "wid" which
are more properly namespaced like "android.media.mediacodec.height".
This changes those keys on the generation side of the system; it goes
together with other changes that document the namespaced-names in the
consumption and documentation side of the system.

Bug: 35811992
Test: check 'dumpsys media.metrics', subset of CTS
Change-Id: Ie05a105229ab931a6b14c0157cc642b5d8413dde
ediaCodec.h
2752e5b66ac80b5d6bcba1db186f29f86722956b 28-Feb-2017 Mathias Agopian <mathias@google.com> fallout of getting rid of IGraphicBufferAlloc

Test: compile & run
Bug: cleanup
Change-Id: Ifba0668d798c523c556ca7dae2c172711a256b05
urfaceMediaSource.h
3b2847fa5506dc265d2e46f067bfbb66ae209f74 19-Jan-2017 Chong Zhang <chz@google.com> MediaCas: add CAS support to MPEG2TSExtractor and MediaCodec

bug: 22804304
Change-Id: I14ec4ffc8c72e283f5cfd742dabaf4ad8bd9d698
CodecBufferChannel.h
odecBase.h
PEG2TSExtractor.h
ediaCodec.h
etaData.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
ACWriter.h
Codec.h
MRWriter.h
udioPlayer.h
udioSource.h
ufferProducerWrapper.h
ameraSource.h
ameraSourceTimeLapse.h
odecBase.h
olorConverter.h
ataSource.h
ataURISource.h
ileSource.h
rameRenderTracker.h
PEGSource.h
PEG2TSWriter.h
PEG4Writer.h
ediaAdapter.h
ediaBuffer.h
ediaBufferGroup.h
ediaClock.h
ediaCodec.h
ediaCodecList.h
ediaCodecSource.h
ediaDefs.h
ediaErrors.h
ediaExtractor.h
ediaFilter.h
ediaHTTP.h
ediaMuxer.h
ediaSource.h
ediaSync.h
ediaWriter.h
etaData.h
uMediaExtractor.h
MXClient.h
ersistentSurface.h
rocessInfo.h
rocessInfoInterface.h
enderScriptWrapper.h
impleDecodingSource.h
kipCutBuffer.h
tagefrightMediaScanner.h
urfaceMediaSource.h
urfaceUtils.h
tils.h
ideoFrameScheduler.h
UVCanvas.h
UVImage.h
oundation/AAtomizer.h
oundation/ABase.h
oundation/ABitReader.h
oundation/ABuffer.h
oundation/AData.h
oundation/ADebug.h
oundation/AHandler.h
oundation/AHandlerReflector.h
oundation/AHierarchicalStateMachine.h
oundation/ALookup.h
oundation/ALooper.h
oundation/ALooperRoster.h
oundation/AMessage.h
oundation/ANetworkSession.h
oundation/AString.h
oundation/AStringUtils.h
oundation/AUtils.h
oundation/AWakeLock.h
oundation/ColorUtils.h
oundation/Flagged.h
oundation/MediaBufferBase.h
oundation/Mutexed.h
oundation/ParsedMessage.h
oundation/TypeTraits.h
oundation/base64.h
oundation/hexdump.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
MXNodeInstance.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
PEG4Extractor.h
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
haredMemoryBuffer.h
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.
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
MXNodeInstance.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
CodecBufferChannel.h
3e378967b379afcd559b53d70d00e758f9c2616d 05-Jan-2017 Wonsik Kim <wonsik@google.com> stagefright: fix unreleased OMX handle

- Ensure OMX handle is freed even if binder death notification comes
first.
- Add DeathRecipient in ResourceManagerService so that it could
handle dead clients properly.

Fix: 28824626
Fix: 34252788
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: Ifc441a2771b5674749ff65a4520177dda115b292
MXNodeInstance.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
RMExtractor.h
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
CodecBufferChannel.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
CodecBufferChannel.h
9b46a8f9ebcca3b86662e7ea998a2afea0153478 07-Dec-2016 Wonsik Kim <wonsik@google.com> Merge "MediaCodec refactoring part 2-b: introduce BufferChannel"
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
CodecBufferChannel.h
f967d6ab32360cab729a103ccf2a6b6c6da53f34 06-Dec-2016 Robert Shih <robertshih@google.com> Merge "MPEG2TSExtractor: get duration by seeking to end"
d3ed3883c2d7bf3fb871be512055ed72cea964da 01-Dec-2016 Pawin Vongmasa <pawin@google.com> Decouple OMX from OMXNodeInstance.

OMXNodeInstance has a member named mOwner, which is a reference to OMX.
Since Treble conversion would replace OMX with a new class (to be named Omx),
mOwner should have a type that is different from OMX. Fortunately, the
only use of mOwner in OMXNodeInstance is to call freeNode(). This CL
introduces OMXNodeOwner, an abstract class that has freeNode() as the only
function, and changes the type of mOwner to OMXNodeOwner. This way,
OMXNodeInstance can work with both OMX and Omx.

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

Bug: 31399200

Change-Id: Ia2d07a48aa94da8378fd36e55244a7e7817a5f42
MX.h
MXNodeInstance.h
mxNodeOwner.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
PEG2TSExtractor.h
29b7dcf6d3cdb97103467dc8106151c6260c239a 24-Oct-2016 Jeff Tinker <jtinker@google.com> Removing widevine classic

bug:30505334
Change-Id: I40ac8020b5442857936037a15847b0271359e624
VMExtractor.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
MXNodeInstance.h
impleSoftOMXComponent.h
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
ecureBuffer.h
haredMemoryBuffer.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
MXNodeInstance.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
ecureBuffer.h
haredMemoryBuffer.h
3604cb1a5548694393c7b7a87191eb517bebaa47 10-Oct-2016 Chong Zhang <chz@google.com> IOMX: move max pts gap handling to OMX

bug: 31399200

Change-Id: I52177d6826caeedf670ecf3e6d0ff85d0e3bf1df
MXNodeInstance.h
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
ecureBuffer.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
MX.h
MXNodeInstance.h
ea07b85ee0f16ff6ea4f53d375d3e95ef010c8ed 11-Oct-2016 Wei Jia <wjia@google.com> MPEG4Extractor: set mime type of fileMetaData correctly. am: 55fe26abb4 am: f9279fbd57
am: d664ec34dc

Change-Id: I69b25594c10a45c2c0b2017260795bfe3b5a55db
d664ec34dc50a2ac4b93123b3fe02735ce27f1e3 11-Oct-2016 Wei Jia <wjia@google.com> MPEG4Extractor: set mime type of fileMetaData correctly. am: 55fe26abb4
am: f9279fbd57

Change-Id: I745cdbbed56521a1babbe01b4d28c886b6a77760
55fe26abb4e3fe701c01b130fee4a5919f8edcbf 10-Oct-2016 Wei Jia <wjia@google.com> MPEG4Extractor: set mime type of fileMetaData correctly.

Bug: 32045229
Change-Id: Iaf165e4731296175d361e30597b03beaa1e6e833
PEG4Extractor.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
MXNodeInstance.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
MX.h
7dcc5f394b17238f2ae1a9c59f34664d3ad085e7 05-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove getState() and livesLocally()

These are no longer used.

bug: 31399200

Change-Id: Ic61e8c7fa016ccd038e2b2427ccb08b78af34245
MXNodeInstance.h
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
MX.h
MXNodeInstance.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
ataConverter.h
haredMemoryBuffer.h
vc_utils.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
MX.h
MXNodeInstance.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
MX.h
MXNodeInstance.h
af9f6d3956672ac552e2404e2252f1aa9fc784a6 09-Sep-2016 Lajos Molnar <lajos@google.com> resolve merge conflicts of 35514a3 to nyc-mr1-dev-plus-aosp
am: 71aba39b87

Change-Id: Ia93c60e5e6dc11c94ce0a0b7f30a4372b2423406
71aba39b8767de04e35b3366a6413928f50582f0 09-Sep-2016 Lajos Molnar <lajos@google.com> resolve merge conflicts of 35514a3 to nyc-mr1-dev-plus-aosp

Change-Id: Id8987a560a26cd02b6ec51be72dd0914f451d800
d32d4030c3778b7947c08e9be7d38c229d8d555d 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.
- Use a backup buffer for metadata mode buffers and do not directly
share with clients.
- 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
MXNodeInstance.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
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
MRExtractor.h
allbackDataSource.h
LACExtractor.h
D3.h
PEG2PSExtractor.h
PEG2TSExtractor.h
PEG4Extractor.h
idiExtractor.h
MXNodeInstance.h
ggExtractor.h
ampleIterator.h
ampleTable.h
AVExtractor.h
VMExtractor.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
MRExtractor.h
allbackDataSource.h
LACExtractor.h
D3.h
PEG2PSExtractor.h
PEG2TSExtractor.h
PEG4Extractor.h
idiExtractor.h
MXNodeInstance.h
ggExtractor.h
ampleIterator.h
ampleTable.h
AVExtractor.h
VMExtractor.h
6bb2aa2e95384e413b5d2be6b5110056b2927809 19-Jul-2016 Wei Jia <wjia@google.com> resolve merge conflicts of 54276e9 to master

Change-Id: Iec79f36a551159338b1aa9de7c3524a05f38edee
54276e959cf792291cead394d42bd881602cdc3b 19-Jul-2016 Wei Jia <wjia@google.com> Merge \"MPEG4EXtractor: add support of MP4A QT version 1 and 2.\" into nyc-mr1-dev
am: 449c5619bd

Change-Id: I2643a3400127add7a16f40e031c6a963ad1b431a
bb0b734ca158c2129d7c31449a3eedcd76dcd03c 27-Jun-2016 Wei Jia <wjia@google.com> MPEG4EXtractor: add support of MP4A QT version 1 and 2.

Also allow parsing QT wave atom.
Bug: 29500382
Bug: 16162336
Change-Id: Ida05a4e3b6286d4c4d5a07fa18e6a719bd0cca9f
PEG4Extractor.h
2d46f5972c0f7583a36e9df0c9622e91d6a1a5fd 14-Jul-2016 Wei Jia <wjia@google.com> MediaExtractor: add DrmInitialization in IDataSource.
am: 9a1a953745

Change-Id: Ib5a5b4c2989fb9688e53ad4251892b8a6b863f2b
9a1a9537456e41cb8450f84a735c3d005a22ffe2 07-Jul-2016 Wei Jia <wjia@google.com> MediaExtractor: add DrmInitialization in IDataSource.

Bug: 28901867
Change-Id: Ic33dc8dc2f5f36239e057d2f2aceeb7738eef968
(cherry picked from commit 2a5e49c984befa066e966cd9af2303a54976f163)
allbackDataSource.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
oftVideoDecoderOMXComponent.h
2a5e49c984befa066e966cd9af2303a54976f163 07-Jul-2016 Wei Jia <wjia@google.com> MediaExtractor: add DrmInitialization in IDataSource.

Bug: 28901867
Change-Id: Ic33dc8dc2f5f36239e057d2f2aceeb7738eef968
allbackDataSource.h
6797293e267d9ee05d976f3c926cc2119af3eb1e 13-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \\"media: Add colorAspect support to SoftAVC decoder.\\" into nyc-mr1-dev am: 67f98ee9ea
am: e6d34ee345

Change-Id: Iae693b1491efb29f378a7bfc46c1ee2c7a258d3f
e6d34ee345e9a900254b5baae0dbdd4304207259 12-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \"media: Add colorAspect support to SoftAVC decoder.\" into nyc-mr1-dev
am: 67f98ee9ea

Change-Id: Ie241857c98ffc10fe00412a603e95bb20c0636f5
67f98ee9eafec11a81c018bce170a81481e52a7a 12-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "media: Add colorAspect support to SoftAVC decoder." into nyc-mr1-dev
c2e98f5f60460890195b33abe40e376f800b242e 17-Jun-2016 Hangyu Kuang <hkuang@google.com> media: Add colorAspect support to SoftAVC decoder.

Bug: 27442922
Change-Id: Iad48c1b9dad76cb65530bef274d0d3c5e710e627
oftVideoDecoderOMXComponent.h
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)
vc_utils.h
5bbc0f0ac255265dcf1e5f8706f11b6805bb30b7 12-Jul-2016 Pawin Vongmasa <pawin@google.com> resolve merge conflicts of 23332cb to nyc-dev am: 978a6cd087 am: 801d27d4d7
am: 936a5d3bbd

Change-Id: Id69be5cafc56b00a09c32d335800a3a599a921ed
801d27d4d76aa040e83c9d9a2286909fd6661b88 12-Jul-2016 Pawin Vongmasa <pawin@google.com> resolve merge conflicts of 23332cb to nyc-dev
am: 978a6cd087

Change-Id: Ia48baac4feb85234666bcb8f1dca520aee92f729
978a6cd08746164ee1f37405d55e0f0bed8f8c24 12-Jul-2016 Pawin Vongmasa <pawin@google.com> resolve merge conflicts of 23332cb to nyc-dev

Change-Id: I6506243808ac2d76ff0dc25dcd44160c014b00c1
542a057a2211f5946135dbd8ce3ba79c8a16f7ae 12-Jul-2016 Pawin Vongmasa <pawin@google.com> resolve merge conflicts of 8fc0fd2 to mnc-dev

Change-Id: I1935a500e1d7c1c95a2006f08c98d4d04fb9caba
8fc0fd206113f3ef1dbf865d78e84c9265bf8067 11-Jul-2016 Pawin Vongmasa <pawin@google.com> Impose a size bound for dynamically allocated tables in stbl. am: 583a012a9f am: 34519820bf am: 726010eb1f am: 7a9538cd36 am: 80fa0cde3f
am: e97d67a51c

Change-Id: I7b6aad59efd44d39d6658b9990c11e4f02f76a16
80fa0cde3f4fd8b7ae7c046fcc086ef421dee3de 11-Jul-2016 Pawin Vongmasa <pawin@google.com> Impose a size bound for dynamically allocated tables in stbl. am: 583a012a9f am: 34519820bf am: 726010eb1f
am: 7a9538cd36

Change-Id: I8e2bb6e6f42c8a9a094eafe3c618ed809eb4fd3b
7a9538cd36716c8263d3808edd58bc87cedd8492 11-Jul-2016 Pawin Vongmasa <pawin@google.com> Impose a size bound for dynamically allocated tables in stbl. am: 583a012a9f am: 34519820bf
am: 726010eb1f

Change-Id: Id4fd4a863d083b27286e7b3abf7897ca8f20b798
726010eb1ffee8dfb85ea2871b88eb793baccd0d 11-Jul-2016 Pawin Vongmasa <pawin@google.com> Impose a size bound for dynamically allocated tables in stbl. am: 583a012a9f
am: 34519820bf

Change-Id: Ie338b5b5c726137d173caa97e3a1b428d04d1837
583a012a9fce81162b163d3533e2644d4abad88a 22-Jun-2016 Pawin Vongmasa <pawin@google.com> Impose a size bound for dynamically allocated tables in stbl.

Impose a restriction of 200MiB for tables in stsc, stts, ctts and stss
boxes. Also change mTimeToSample from Vector to array.

Bug: 29367429
Change-Id: I953bea9fe0590268cf27376740f582dc88563d42
ampleTable.h
a5ad0383f56b9d4ae31875f6d10f4d9c2d97921a 22-Jun-2016 Wonsik Kim <wonsik@google.com> Merge \\\\\\"Revert \\\\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\\\"\\\\\\" into klp-dev am: 7e6bd6a911 am: 3ad7688745 am: 9d65d13cc7 am: 4ef5122525 am: 77d31bde26
am: b53ba5e7a6

Change-Id: I72a7f15894380adabfc21e017abac88b6fe26348
77d31bde26ba5c3c986fce1dcfa94a2727253f49 22-Jun-2016 Wonsik Kim <wonsik@google.com> Merge \\\\"Revert \\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\"\\\\" into klp-dev am: 7e6bd6a911 am: 3ad7688745 am: 9d65d13cc7
am: 4ef5122525

Change-Id: Ib0106bbe2ffba8de744907a2714eedf207756abe
4ef5122525e0ce7a4d3e16bb07c295340a813b00 22-Jun-2016 Wonsik Kim <wonsik@google.com> Merge \\\"Revert \\\"Impose a size bound for dynamically allocated tables in stbl.\\\"\\\" into klp-dev am: 7e6bd6a911 am: 3ad7688745
am: 9d65d13cc7

Change-Id: Ib8d8f9c58c1ffb169cf488d57fb841f80a664e97
9d65d13cc7c207d4ef877df2834d4fbac74741ad 22-Jun-2016 Wonsik Kim <wonsik@google.com> Merge \\"Revert \\"Impose a size bound for dynamically allocated tables in stbl.\\"\\" into klp-dev am: 7e6bd6a911
am: 3ad7688745

Change-Id: I02de46ed2ce14428a45826270b557426ee2aaf47
66c4dbb96c38630d0cd6551fc8c9bf8fa3318903 22-Jun-2016 Wonsik Kim <wonsik@google.com> Revert "Impose a size bound for dynamically allocated tables in stbl."

This reverts commit 25e029746796fe88e82417fb01af2e27b8bbadb2.

Change-Id: I91225838a8be72a3cd413f2bcb99e7dca7e62929
ampleTable.h
5fa433b8c9ff7d415f5fb1ebefe0d989a7d11432 22-Jun-2016 Wonsik Kim <wonsik@google.com> Merge \\\\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\\\" into klp-dev am: 8f73edb22a am: a263248bf0 am: 4c969bf93f am: 7e06799472 am: fcb008b743
am: 26dc0a2a91

Change-Id: Ic91093f89dad5ada3f6997b7dff1557e726099c4
fcb008b74333b63074144198e1f069473ce5fda0 22-Jun-2016 Wonsik Kim <wonsik@google.com> Merge \\\\"Impose a size bound for dynamically allocated tables in stbl.\\\\" into klp-dev am: 8f73edb22a am: a263248bf0 am: 4c969bf93f
am: 7e06799472

Change-Id: I4c877fcf9839e44ca849d25f46ba55f74cd0064e
7e06799472dd93f3c4e33807ab41256e75287291 22-Jun-2016 Pawin Vongmasa <pawin@google.com> Merge \\\"Impose a size bound for dynamically allocated tables in stbl.\\\" into klp-dev am: 8f73edb22a am: a263248bf0
am: 4c969bf93f

Change-Id: I6258bac89bbe02e47b3c912df26f26033d7b76b4
4c969bf93f71e394de3aa8b08f0ed0f96c48379d 22-Jun-2016 Wonsik Kim <wonsik@google.com> Merge \\"Impose a size bound for dynamically allocated tables in stbl.\\" into klp-dev am: 8f73edb22a
am: a263248bf0

Change-Id: I0389073f6b18450edc8fa70ed3ec72683a166915
25e029746796fe88e82417fb01af2e27b8bbadb2 22-Jun-2016 Pawin Vongmasa <pawin@google.com> Impose a size bound for dynamically allocated tables in stbl.

Impose a restriction of 200MiB for tables in stsc, stts, ctts and stss
boxes. Also change Vector to std::vector for efficiency and consistency.

Bug: 29367429
Change-Id: I175da524612b9fe68496c612966af51f01a5cd5e
ampleTable.h
1323780a4e7d8146aa90829ee982f1dca81e298d 21-Jun-2016 Wonsik Kim <wonsik@google.com> resolve merge conflicts of bce0a92 to nyc-mr1-dev-plus-aosp
am: d53e3ba7c7

Change-Id: I54ffe73680cbc0721a05f8fbc94c1dc9cbf9c1fd
d53e3ba7c75cb7ae82702294475a1f85d19aea9f 21-Jun-2016 Wonsik Kim <wonsik@google.com> resolve merge conflicts of bce0a92 to nyc-mr1-dev-plus-aosp

Change-Id: I94f7a7be4ceff016c9779c2898ad3dd8ab1f41b2
bff5b5a8bb44754e0b51631527de1c49ab7e5a43 20-Jun-2016 Wonsik Kim <wonsik@google.com> resolve merge conflicts of fd15c3f to nyc-dev-plus-aosp

Change-Id: If72b6d7e2985787aa0ba1baf00952524721396c7
719fd3c0625705777f1ef0667005b111733c2e0b 25-May-2016 Wonsik Kim <wonsik@google.com> DO NOT MERGE omx: check buffer port before using

Bug: 28816827
Change-Id: I3d5bad4a1ef96dec544b05bb31cc6f7109aae0a5
MXNodeInstance.h
ac26fe3ae73b102b0d50720072dc83b143adeb22 25-May-2016 Wonsik Kim <wonsik@google.com> DO NOT MERGE omx: check buffer port before using

Bug: 28816827
Change-Id: I3d5bad4a1ef96dec544b05bb31cc6f7109aae0a5
MXNodeInstance.h
41eca4f0ec697529fe8a47f34f43f5ba98a50162 25-May-2016 Wonsik Kim <wonsik@google.com> omx: check buffer port before using

Bug: 28816827
Change-Id: I3d5bad4a1ef96dec544b05bb31cc6f7109aae0a5
MXNodeInstance.h
de76068b9bbb6eabc6854e07e6c2d6cf4284d1df 26-May-2016 Lajos Molnar <lajos@google.com> stagefright: determine if an HEVC file is HDR am: 72061e5ab5 am: b22037e06e
am: 0010ac6c17

* commit '0010ac6c17a6d196a236678200c5deb8724a2ab6':
stagefright: determine if an HEVC file is HDR

Change-Id: I154712e0712b6874bb50f842c641974e77ecccca
b22037e06e15027d374f71ce7bdc89c9189b2a28 26-May-2016 Lajos Molnar <lajos@google.com> stagefright: determine if an HEVC file is HDR
am: 72061e5ab5

* commit '72061e5ab52d12c17054aeffbb2299a002b6b53a':
stagefright: determine if an HEVC file is HDR

Change-Id: Idf5747c525ea666c9b8c4c82dd4d9833fb1f4448
e34b92afb85d71a9c167b58d30aad47ef4a9a98e 26-May-2016 Lajos Molnar <lajos@google.com> Merge changes Ia03716ca,If3d6c8fd into nyc-dev am: 2008b88e58 am: 1d92ce2f68
am: b444ba0530

* commit 'b444ba053072505be521b673719a2a9a4966c996':
stagefright: do not fail on bad bitstreams in HevcParameterSets
stagefright: add safe versions of parseUE and parseSE

Change-Id: Ib121be32a645c19cc72a483d2723e8f6d832af4c
72061e5ab52d12c17054aeffbb2299a002b6b53a 25-May-2016 Lajos Molnar <lajos@google.com> stagefright: determine if an HEVC file is HDR

Bug: 28671284
Change-Id: Ib567a75c2df759bfef4335d91fd6786946cfee82
evcUtils.h
1d92ce2f6876fdb304ddc6b24dea926fbd470238 26-May-2016 Lajos Molnar <lajos@google.com> Merge changes Ia03716ca,If3d6c8fd into nyc-dev
am: 2008b88e58

* commit '2008b88e582b821307201b9c959d2a3819aaa678':
stagefright: do not fail on bad bitstreams in HevcParameterSets
stagefright: add safe versions of parseUE and parseSE

Change-Id: I47f6b29438a5433b08f0dd42cd2ca2884c535832
2f4555e2080b7bd9933924840e70a1d4fc87ecb2 25-May-2016 Lajos Molnar <lajos@google.com> stagefright: add safe versions of parseUE and parseSE

Bug: 28938657
Change-Id: If3d6c8fda14a0f9d9ab7dc6fced530dfb5d51113
vc_utils.h
8f5489c504939db380a89dd43b1949eb77e4a5ff 11-May-2016 Lajos Molnar <lajos@google.com> stagefright: update & pass graphic buffer properly to OMX am: e63de4c601 am: 46d737a803
am: d94d3f972f

* commit 'd94d3f972f29c79da5ae22decd32bf122a0bc037':
stagefright: update & pass graphic buffer properly to OMX

Change-Id: Iefb2892c4ca3fbf83efec6e5646f8cbd6a891d92
d94d3f972f29c79da5ae22decd32bf122a0bc037 11-May-2016 Lajos Molnar <lajos@google.com> stagefright: update & pass graphic buffer properly to OMX am: e63de4c601
am: 46d737a803

* commit '46d737a80357631ec0e98250be0f23fc084800eb':
stagefright: update & pass graphic buffer properly to OMX

Change-Id: Ib83bc4bf2b721ea6224a2a030c2c595cefc70bf6
d37e1c1070bd777aa6d50afbca4ec7f69bacab07 11-May-2016 Lajos Molnar <lajos@google.com> stagefright: update & pass graphic buffer properly to OMX
am: e63de4c601

* commit 'e63de4c60116261b90bc93b608ccd4bd182f3484':
stagefright: update & pass graphic buffer properly to OMX

Change-Id: Icb837524ce5b9ec1fda7a49006582e5bcbe7bafe
e63de4c60116261b90bc93b608ccd4bd182f3484 09-May-2016 Lajos Molnar <lajos@google.com> stagefright: update & pass graphic buffer properly to OMX

Update graphic buffer must update the handle in the proper buffer.
E.g. if using emptyBuffer later, it must update the backup buffer
and use the backup buffer's metadata mode which may differ from the
codec buffer's mode. Also use proper size for filled graphicbuffer.

Bug: 22775369
Change-Id: I9ec7032ed5db4c0636e2e2a4bad32022d251d66b
MXNodeInstance.h
c5911aa82343907ad9c8254847673fa5c2101d62 10-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: IOMX: pass native handle in sp<NativeHandle>" into nyc-dev am: 038ccfd6ff am: 10dac29441
am: 4c23141394

* commit '4c2314139420e78284d4a36674a903aa210c8657':
stagefright: IOMX: pass native handle in sp<NativeHandle>

Change-Id: Ida0bc478ea3cd02a978f4af1ac9c824f12c146c2
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
MX.h
MXNodeInstance.h
57c7f5a7cf8b52a3f14954071598179818a60b18 10-May-2016 Lajos Molnar <lajos@google.com> Merge changes I58b03acd,I7d7eb086 into nyc-dev am: 0d0a8b48d2 am: f1a0ec37b9
am: f2a4c632b2

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

Change-Id: I7953e6e5317121098e82f5cb9abfac4c4255d203
f2a4c632b254a176ddccb4d78af2d2a8c7231060 10-May-2016 Lajos Molnar <lajos@google.com> Merge changes I58b03acd,I7d7eb086 into nyc-dev am: 0d0a8b48d2
am: f1a0ec37b9

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

Change-Id: I9d1b51e1c6f486f1c8fe36383adcc4261b056256
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
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
MX.h
MXNodeInstance.h
995d39cc23949569ea3a689985812ee923da5d4f 23-Apr-2016 Marco Nelissen <marcone@google.com> Merge "DO NOT MERGE Verify OMX buffer sizes prior to access" into lmp-mr1-dev am: 0822864
am: c90ba30

* commit 'c90ba3056712a9c0ef6383fb00dc3b9c9b0edbc7':
DO NOT MERGE Verify OMX buffer sizes prior to access

Change-Id: I42551c5f62380f422257f80a933ccd301674a041
67ef30185837950144d30e5a73d852eb9a7a0a89 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
oftOMXComponent.h
55e50f8c29198d612648ecb556bb25c7389fac2e 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9 am: 63e9b57353 am: ef21738066 am: 59f9cc2a46 am: 9be65cb007 am: 9b449c48be am: 7a33c06204 am: f0eb48c896 am: 64cb47eeba am: 54355d98e0 am: 17cb0490ff am: f242406ee4
am: a26048a9fd

* commit 'a26048a9fdc8db29882edd436a8c596466289bac':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: Ib08755e019cd7c77c1729e143b701ae25067dec9
a26048a9fdc8db29882edd436a8c596466289bac 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9 am: 63e9b57353 am: ef21738066 am: 59f9cc2a46 am: 9be65cb007 am: 9b449c48be am: 7a33c06204 am: f0eb48c896 am: 64cb47eeba am: 54355d98e0 am: 17cb0490ff
am: f242406ee4

* commit 'f242406ee442477bb105d444ea5c0b2ade904b12':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: If776eb4dbddad6c9ef2286dc0e7be75e69fba04b
e6baf22d0741ad9e750d6e806d30372d4a124d31 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9 am: 63e9b57353 am: ef21738066 am: 59f9cc2a46 am: 9be65cb007 am: 9b449c48be am: 7a33c06204 am: f0eb48c896 am: 64cb47eeba am: 54355d98e0
am: 17cb0490ff

* commit '17cb0490ffffafc13c47260d51bbcbf2509e1d79':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: If34212a5485d9040cc502467658093f90376b98b
17cb0490ffffafc13c47260d51bbcbf2509e1d79 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9 am: 63e9b57353 am: ef21738066 am: 59f9cc2a46 am: 9be65cb007 am: 9b449c48be am: 7a33c06204 am: f0eb48c896 am: 64cb47eeba
am: 54355d98e0

* commit '54355d98e0a4417cde0479e3fd4399edbc11586b':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: If0135d9ba79df9e71803f34a3c80da03f723d655
7a33c062046a6b38cbe12c2f9928a0f1f0e82ebc 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9 am: 63e9b57353 am: ef21738066 am: 59f9cc2a46 am: 9be65cb007
am: 9b449c48be

* commit '9b449c48bea200b1f642148797a3bb43f555356d':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: I6c2a13f8844d2405da3ef14ac8f960734419fd07
9b449c48bea200b1f642148797a3bb43f555356d 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9 am: 63e9b57353 am: ef21738066 am: 59f9cc2a46
am: 9be65cb007

* commit '9be65cb007a1525cae776c155144d73e23f10ada':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: Icc2ba78e6bd4c4fbd401c13c8d09e5f5eb686373
59f9cc2a46281fd9e491f3e6631d3a34b9f6c84d 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9 am: 63e9b57353
am: ef21738066

* commit 'ef21738066caa918b34c57844d3e0f6cebbce86a':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: I32d931ef1d2ac785f5d5e024786cb54ca833dbf7
ef21738066caa918b34c57844d3e0f6cebbce86a 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d am: a1e309beb9
am: 63e9b57353

* commit '63e9b573530837702e42e00900407bbe9fdae952':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: Idcf74c810152b7160cf99aa25fe664c6b40f0750
63e9b573530837702e42e00900407bbe9fdae952 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789. am: 70dec4dc7d
am: a1e309beb9

* commit 'a1e309beb98e8fb35422102717af4f973ef1f34b':
SampleTable.cpp: Fixed a regression caused by a fix for bug 28076789.

Change-Id: I1dd3ffd9a489453d0f66c0344f52c6efecf31b2e
70dec4dc7d1d813afaff58fb26b0fd7127e897bf 21-Apr-2016 Pawin Vongmasa <pawin@google.com> SampleTable.cpp: Fixed a regression caused by a fix for bug
28076789.

Detail: Before the original fix
(Id207f369ab7b27787d83f5d8fc48dc53ed9fcdc9) for 28076789, the
code allowed a time-to-sample table size to be 0. The change
made in that fix disallowed such situation, which in fact should
be allowed. This current patch allows it again while maintaining
the security of the previous fix.

Bug: 28288202
Bug: 28076789
Change-Id: I1c9a60c7f0cfcbd3d908f24998dde15d5136a295
ampleTable.h
cf3d3de0ee44b3053d35e49867406eb75a7c74b4 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 am: b151194 am: 3784db4
am: 8e65d5f

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

Change-Id: I9033d5825424c316cc695702fc17088b513105c7
8e65d5f6de6028183f9cc73b8c2ad8d6ecf0f175 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 am: b151194
am: 3784db4

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

Change-Id: I18b1b67f76003f6104fea3f850234f84572e0c1a
c59e36ea5e84d6c2e0bd99f8de13cdb6a3a72b96 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
am: b151194

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

Change-Id: I35baa29d0b7aabf5a395d1b767fecf6f9bebad16
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
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
ampleTable.h
e3230df9add3752e20224c23a27422c59815e2c2 07-Apr-2016 Marco Nelissen <marcone@google.com> Merge "Expand mediaextractor dumpsys" into nyc-dev am: b7b06be
am: 89a2919

* commit '89a29193cbb89c2120b32bb79640befeaa92b8c2':
Expand mediaextractor dumpsys

Change-Id: I5a98267fbea6feb00216bd088dc7889dd695217e
89a29193cbb89c2120b32bb79640befeaa92b8c2 07-Apr-2016 Marco Nelissen <marcone@google.com> Merge "Expand mediaextractor dumpsys" into nyc-dev
am: b7b06be

* commit 'b7b06be6ff2e6034a18986f94c76940b13ef4183':
Expand mediaextractor dumpsys

Change-Id: If6ecdcf4d51da03f7704f5fbe97c85154a18d35d
69d3d8a9540b0da787ea0beccad2517f057dd54d 07-Mar-2016 Marco Nelissen <marcone@google.com> Expand mediaextractor dumpsys

Bug: 22775369
Change-Id: I3366a52ba7a00d1685a2211465f2f18f143d0efc
allbackDataSource.h
TTPBase.h
uCachedSource2.h
15e6f84247e2283af5dafb4da465fa8519a58fdc 05-Apr-2016 Marco Nelissen <marcone@google.com> Close MediaDataSource on extractor/retriever release am: fbe7fcf
am: 8ffffec

* commit '8ffffec44ea59955d9440c7b5a11e51755d2dfdb':
Close MediaDataSource on extractor/retriever release

Change-Id: Id265ac6a4fbc310e2ab040a46c221829cc6e338b
8ffffec44ea59955d9440c7b5a11e51755d2dfdb 05-Apr-2016 Marco Nelissen <marcone@google.com> Close MediaDataSource on extractor/retriever release
am: fbe7fcf

* commit 'fbe7fcfe818b6f68e352c7c450d4fe15a543b801':
Close MediaDataSource on extractor/retriever release

Change-Id: Idee11c47cd7dd8c6242a8f795fe3e90f4c5bf2b9
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
allbackDataSource.h
f093e06bf006fa5342088e2d78ce123de6ff5ea3 24-Mar-2016 Marco Nelissen <marcone@google.com> Merge "Use uint32_t for NAL offset and size" am: 52ffc55
am: a6ef715

* commit 'a6ef715610913c9c835906802058ab8fa3e0dcf3':
Use uint32_t for NAL offset and size
a6ef715610913c9c835906802058ab8fa3e0dcf3 24-Mar-2016 Marco Nelissen <marcone@google.com> Merge "Use uint32_t for NAL offset and size"
am: 52ffc55

* commit '52ffc55fae0ea6bc3784a841340d52f45b88f009':
Use uint32_t for NAL offset and size
6510efa3775418714c598e4ad8243cc5497cfc12 23-Mar-2016 Wei Jia <wjia@google.com> Merge "MPEG2TSExtractor: add syncPoint after mSourceImpls has been updated." into nyc-dev am: a5547e5
am: 94f1605

* commit '94f160519c65640292948c36e4bc509b722118b0':
MPEG2TSExtractor: add syncPoint after mSourceImpls has been updated.
a5547e58c11c1266c69783650be4f26ad67e6653 23-Mar-2016 Wei Jia <wjia@google.com> Merge "MPEG2TSExtractor: add syncPoint after mSourceImpls has been updated." into nyc-dev
9558f6dd733dc450270f38b9a139d384d273ce0a 09-Mar-2016 Wei Jia <wjia@google.com> MPEG2TSExtractor: add syncPoint after mSourceImpls has been updated.

ATSParser: fix the pesStartOffset for each syncEvent.

Bug: 27297491
Change-Id: I5a994db52a58bbbb61c1a3e37e9bd9a327a8587e
PEG2TSExtractor.h
80d4bf2122c0045da2c6c9f714efe9d2a37520fa 23-Mar-2016 Lajos Molnar <lajos@google.com> Merge "ACodec: enable support for non-16bit PCM data" into nyc-dev am: 14cbc37
am: ca38806

* commit 'ca38806dbcdeac6e702986a888da47ef7f2a4fc5':
ACodec: enable support for non-16bit PCM data
5b4401b28990107bb797dc0d5f3904cf27417e98 18-Mar-2016 Lajos Molnar <lajos@google.com> ACodec: enable support for non-16bit PCM data

Bug: 27172163
Change-Id: Ia5c824f64a6f26b45da9969eb7a85e09abbd5800
ataConverter.h
0b8dec713aee5b6fde8c4aedee91674795004725 22-Mar-2016 Marco Nelissen <marcone@google.com> Use uint32_t for NAL offset and size

This is enough for the offsets/sizes within a single buffer, and
prevents miscommunication between 64-bit and 32-bit processes.

Bug: 27785687
Change-Id: I4e6c3edbb7e740324c9ff7f8ae539d41ea3be4e2
vc_utils.h
bcbd7bce03772a22c2965dab636c1f67b7a655f5 16-Mar-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: add AC3/EAC3 support

Bug: 16847897
Change-Id: Iaf2f379f45aaab372ce6567cb0d60fad1978bfdd
PEG4Extractor.h
58fb7c6e1a9244dd7215a647388c440d8d75851b 15-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: use colr box for color aspects

Bug: 25684127
Change-Id: I105294ce0d41ac58d80a2a4a74d35a9b78536790
PEG4Extractor.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
MXNodeInstance.h
oftwareRenderer.h
57fad3c31f46ec98d15bc253c16f9d269aeb8ea7 08-Mar-2016 Lajos Molnar <lajos@google.com> IOMX: add dataspace to createInputSurface

Bug: 25684127
Change-Id: Ibe746d7d077f32b0f2ecfb8494f415a6bf0bd673
MX.h
MXNodeInstance.h
f0e76eb64b49f84a4b299ed0573144b9278bb92c 05-Mar-2016 Marco Nelissen <marcone@google.com> Merge "DO NOT MERGE Verify OMX buffer sizes prior to access" into klp-dev
am: d579ad0639

* commit 'd579ad0639c6df7f4648047992aaaf00f107799c':
DO NOT MERGE Verify OMX buffer sizes prior to access
423766ca07beb7e3e9cd301385708ca13fcce3e1 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
oftOMXComponent.h
51f59b41eae9c4f493ebfd0972cee951895bdf19 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
oftOMXComponent.h
f1a2668f4f09e38722424a6a74f0ea26f49e4110 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
oftOMXComponent.h
f4cf8817de14d2a14dbef3e6f319d65dbfba6e47 03-Mar-2016 Marco Nelissen <marcone@google.com> Merge "Verify OMX buffer sizes prior to access" into nyc-dev
2720c8b094cfa58de314daa8e5e4fb4fa81fe3b2 29-Feb-2016 Marco Nelissen <marcone@google.com> Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
oftOMXComponent.h
1c0de60e809c116fb8cb0eded39270c6eb060a3b 01-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: use MediaImage2" into nyc-dev
a48a51c056198a778755cbed52884dc30b74ac0a 25-Feb-2016 Marco Nelissen <marcone@google.com> media.extractor dumpsys to show recent extractors

Bug: 22775369
Change-Id: Ie68484985567896a00d5c193d1853a8f2e3b3964
ACExtractor.h
MRExtractor.h
VIExtractor.h
RMExtractor.h
LACExtractor.h
PEG2PSExtractor.h
PEG2TSExtractor.h
PEG4Extractor.h
idiExtractor.h
73dd808754c641fe798273d356ee38368715fa7b 25-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: use MediaImage2

Bug: 25684127
Change-Id: I2f8b672a191ee4e60c9364e826cae34089ef5f9c
MXNodeInstance.h
f967be033092c68fa611bff6803f32fc46d9ea8a 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Always treat composition time offsets as signed" into nyc-dev
b1dc9e07c084d0df17de71b54f8340c0b8917824 17-Feb-2016 Marco Nelissen <marcone@google.com> Always treat composition time offsets as signed

even for version 0 ctts atoms that technically should contain only
unsigned values.

Bug: 27174229
Change-Id: I7309222f5fe646c25c45ff5351bfc310759ef542
ampleTable.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
MX.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
MX.h
MXNodeInstance.h
cf3abd4875fd54ba40fccdbd90755d2a5ecfca60 12-Feb-2016 Marco Nelissen <marcone@google.com> Ensure OMX node ids are unique across processes

Change-Id: I2418616a998ad6faa8b22dcd8ac4ef08b9354aa9
MX.h
9d73ec661e34f91f8d80a11cc5208a23997b75a0 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: move MetadataRetriever off of OMXCodec

Also remove some unneeded OMXCodec includes.

Bug: 17108024
Change-Id: I1e4b32d83216e9c6b1d76a18fb346dc632be4b1d
tagefrightMetadataRetriever.h
01854c0129245d034bd99d64817dce06df20c5a6 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove deprecated AwesomePlayer

Bug: 17108024
Change-Id: Ia721bdfa87b07612ad8e76cbdcda6de2b8ce2a74
wesomePlayer.h
imedEventQueue.h
e4d40ad91f3516bde106658673b2cb076b5dfcb7 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove deprecated AwesomePlayer

Bug: 17108024
Change-Id: Ia721bdfa87b07612ad8e76cbdcda6de2b8ce2a74
wesomePlayer.h
imedEventQueue.h
6b0795009b8f53ab771e0074b76381977d016f4b 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: move MetadataRetriever off of OMXCodec

Also remove some unneeded OMXCodec includes.

Bug: 17108024
Change-Id: I1e4b32d83216e9c6b1d76a18fb346dc632be4b1d
tagefrightMetadataRetriever.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
allbackDataSource.h
9aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5e 07-Dec-2015 Wonsik Kim <wonsik@google.com> stagefright: add HEVC support to MediaRecorder

Bug: 22879917
Change-Id: I6c97b051467de44c506a8ff021321e5953a63fc3
evcUtils.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
ACEncoder.h
ACExtractor.h
MRExtractor.h
wesomePlayer.h
RMExtractor.h
LACExtractor.h
P3Extractor.h
PEG2PSExtractor.h
PEG2TSExtractor.h
PEG4Extractor.h
idiExtractor.h
ggExtractor.h
tagefrightMetadataRetriever.h
AVExtractor.h
VMExtractor.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.
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)
MX.h
MXNodeInstance.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)
MX.h
MXNodeInstance.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.
031e841e34f2358a71cc63ad8192e0f48a9f63a7 06-Oct-2015 Wei Jia <wjia@google.com> am 8656914f: am b90b8291: am cb70fdbe: Merge "OMX: allow only secure codec to remotely call allocateBuffer." into mnc-dev

* commit '8656914fa29bbd72512752e221837333c672a188':
OMX: allow only secure codec to remotely call allocateBuffer.
8dde7269a5356503d2b283234b6cb46d0c3f214e 28-Sep-2015 Wei Jia <wjia@google.com> OMX: allow only secure codec to remotely call allocateBuffer.

Bug: 24310423
Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
MX.h
MXNodeInstance.h
ed2f82a560ab3f05d1f8e611b1cdce25c06beba2 21-Sep-2015 Wonsik Kim <wonsik@google.com> am e2cc5db8: am 6961db7e: am 04bbef0b: am 5c09132b: Merge "DO NOT MERGE NuCachedSource2: fix possible erroneous early free" into lmp-dev

* commit 'e2cc5db8b09adb9d968f033f8e57674878054a8b':
DO NOT MERGE NuCachedSource2: fix possible erroneous early free
6961db7ee1953f996afd9e0fa4377f4c31c69144 21-Sep-2015 Wonsik Kim <wonsik@google.com> am 04bbef0b: am 5c09132b: Merge "DO NOT MERGE NuCachedSource2: fix possible erroneous early free" into lmp-dev

* commit '04bbef0b298bdbb76dbd6577cf00977ad496710d':
DO NOT MERGE NuCachedSource2: fix possible erroneous early free
45409868318b8a273f3fbb395a0c4387840a80e6 16-Sep-2015 Dan Albert <danalbert@google.com> am 34e96e7e: am 99405e1f: am 97ed4e73: Merge "Add include guard into SampleIterator.h"

* commit '34e96e7efd1edf6778784b3ea64fc5308779e2d3':
Add include guard into SampleIterator.h
34e96e7efd1edf6778784b3ea64fc5308779e2d3 16-Sep-2015 Dan Albert <danalbert@google.com> am 99405e1f: am 97ed4e73: Merge "Add include guard into SampleIterator.h"

* commit '99405e1f8fb6d9e33f8791a54dd9416754caf573':
Add include guard into SampleIterator.h
99405e1f8fb6d9e33f8791a54dd9416754caf573 16-Sep-2015 Dan Albert <danalbert@google.com> am 97ed4e73: Merge "Add include guard into SampleIterator.h"

* commit '97ed4e73c8bc114f5950885dc289c42c2a12a38a':
Add include guard into SampleIterator.h
9860dcdf427d70e6aef4ce082be40a5459c466f4 16-Sep-2015 Wonsik Kim <wonsik@google.com> am b21a6420: Merge "DO NOT MERGE NuCachedSource2: fix possible erroneous early free" into klp-dev

* commit 'b21a642067477c72f419956da0ca8dafe0c04eab':
DO NOT MERGE NuCachedSource2: fix possible erroneous early free
5d16a6ee52b691ee14f00a620cb4fa051b5e0890 13-Sep-2015 Masaichi Toki <masaichi.x.toki@sonymobile.com> Add include guard into SampleIterator.h

Include guard is added to have SampleIterator.h safer.

Change-Id: Ib773a529cb7ab9d55524951f8bd8ed37f58c1cad
ampleIterator.h
3deaec1c1cd2f4c0fc35d186608814921f3efc30 14-Sep-2015 Wonsik Kim <wonsik@google.com> am 13511716: am eab8c009: am 2cea090c: am 4374b187: Merge "NuCachedSource2: fix possible erroneous early free" into mnc-dev

* commit '1351171663f3ff82b958b713a8bca381847cca21':
NuCachedSource2: fix possible erroneous early free
0d35dd2068d6422c3c77fb68f248cbabf3d0b10c 08-Sep-2015 Wonsik Kim <wonsik@google.com> DO NOT MERGE NuCachedSource2: fix possible erroneous early free

Because the constructor of NuCachedSource2 sent a message to
AHandlerReflector object, AHandlerReflector::onMessageReceived could
have executed just before the object gets wrapped in a strong
pointer, resulting in erroneous early free. Fix the issue by using
static Create function to ensure the message is sent after the
object is wrapped in a sp.

Bug: 23882800
Change-Id: I38a9d7a3083f184b4c81d0b00ba1661721278855
uCachedSource2.h
c894f81bdf106f648561e569e0dc97fc6046115b 08-Sep-2015 Wonsik Kim <wonsik@google.com> DO NOT MERGE NuCachedSource2: fix possible erroneous early free

Because the constructor of NuCachedSource2 sent a message to
AHandlerReflector object, AHandlerReflector::onMessageReceived could
have executed just before the object gets wrapped in a strong
pointer, resulting in erroneous early free. Fix the issue by using
static Create function to ensure the message is sent after the
object is wrapped in a sp.

Bug: 23882800
Change-Id: I38a9d7a3083f184b4c81d0b00ba1661721278855
uCachedSource2.h
316c3d929ffb004b0150d515e82aede02208ce97 08-Sep-2015 Wonsik Kim <wonsik@google.com> NuCachedSource2: fix possible erroneous early free

Because the constructor of NuCachedSource2 sent a message to
AHandlerReflector object, AHandlerReflector::onMessageReceived could
have executed just before the object gets wrapped in a strong
pointer, resulting in erroneous early free. Fix the issue by using
static Create function to ensure the message is sent after the
object is wrapped in a sp.

Bug: 23882800
Change-Id: I38a9d7a3083f184b4c81d0b00ba1661721278855
uCachedSource2.h
55e2f4ca5bb23ce32fbdd627b0f648c27106b98e 05-Sep-2015 Marco Nelissen <marcone@google.com> Make NuPlayer send global timed text info too

For feature parity with AwesomePlayer. Also add a small hack to
AwesomePlayer to make timed text track selection work again, so
the timed text CTS test can run with both AwesomePlayer and NuPlayer

Change-Id: I1be451c4b3191cae65bc46b3b721a1924b4fadc8
wesomePlayer.h
7c6a8141b4ceac5d343ab14cc025411c845a83d2 20-Aug-2015 Wei Jia <wjia@google.com> am e4bcb3f8: am 238a487a: am e3cb2507: am 4b995f73: Merge "libstagefright: fix handling of mSampleTimeEntries and mNumSampleSizes in SampleTable." into lmp-dev

* commit 'e4bcb3f8d444a11afad90b22fbde051c81c295c8':
libstagefright: fix handling of mSampleTimeEntries and mNumSampleSizes in SampleTable.
238a487a0cf0fde606a27ea1f00bad5d92589161 20-Aug-2015 Wei Jia <wjia@google.com> am e3cb2507: am 4b995f73: Merge "libstagefright: fix handling of mSampleTimeEntries and mNumSampleSizes in SampleTable." into lmp-dev

* commit 'e3cb25078b814b40f8e1506514bd17066935a51f':
libstagefright: fix handling of mSampleTimeEntries and mNumSampleSizes in SampleTable.
5a132594b531f1f48098a790927f82080cc27f61 18-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix handling of mSampleTimeEntries and mNumSampleSizes in SampleTable.

Bug: 23247055
Change-Id: I29ef59c7ff09248063714e5013f7c33f66c5eebd
(cherry picked from commit 3564c4562f46bede6ef1ea716c4fd4f77e470ae8)
(cherry picked from commit 108cd2dc8df55f3f2ecdfbb4bb0ae981a74b6860)
ampleTable.h
3564c4562f46bede6ef1ea716c4fd4f77e470ae8 18-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix handling of mSampleTimeEntries and mNumSampleSizes in SampleTable.

Bug: 23247055
Change-Id: I29ef59c7ff09248063714e5013f7c33f66c5eebd
ampleTable.h
505aab41c0e8e79a49d4506344fcd9d220d5965b 18-Jul-2015 Chong Zhang <chz@google.com> fix soft renderer rotation

bug: 13222807
Change-Id: I6f6f417422d3a18117b594670bb23e3019d449bb
oftwareRenderer.h
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
oftwareRenderer.h
26a48f304a8754d655e554178ffb6d7ba4c5aac3 04-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for batching OMX events

Bug: 20503131
Change-Id: I762c419ed1245f8b83fb1f6bf61e5557213ca07b
MXNodeInstance.h
23b6ee36e0d453d5ca9ff6b91e287a2be2325582 06-Jun-2015 Robert Shih <robertshih@google.com> Merge "stagefright: initial Ogg Opus support" into mnc-dev
8c10a80cf1af68f15eb39552ca116ec6f04fc173 01-Jun-2015 Robert Shih <robertshih@google.com> stagefright: initial Ogg Opus support

Bug: 19286916
Change-Id: I176d803aa5a16038d074aa06b41fc76da0be8952
ggExtractor.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
MX.h
MXNodeInstance.h
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
MX.h
MXNodeInstance.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
MX.h
MXNodeInstance.h
389379c4ccc0d09fbb54c510550ff6a895a319a1 27-May-2015 Andy Hung <hunga@google.com> am c796a24d: am 3d2874f2: am c356d596: am dd527c20: am f7198f86: Merge "IOMX: Enable buffer ptr to buffer id translation for arm32" into lmp-dev

* commit 'c796a24d577673044083634304c54f9e5b29f32a':
IOMX: Enable buffer ptr to buffer id translation for arm32
c356d596d9e2c01817adfa2448c5210c575ae729 27-May-2015 Andy Hung <hunga@google.com> am dd527c20: am f7198f86: Merge "IOMX: Enable buffer ptr to buffer id translation for arm32" into lmp-dev

* commit 'dd527c20a3c61864d02637202ed1c5c1f3ff8de8':
IOMX: Enable buffer ptr to buffer id translation for arm32
447a5628a4138f4bed11121d56965aff31bc765a 26-May-2015 Andy Hung <hunga@google.com> IOMX: Enable buffer ptr to buffer id translation for arm32

Bug: 20634516
Change-Id: Iac9eac3cb251eccd9bbad5df7421a07edc21da0c
(cherry picked from commit 2d6b6601743c3c6960c6511a2cb774ef902759f4)
MXNodeInstance.h
2d6b6601743c3c6960c6511a2cb774ef902759f4 26-May-2015 Andy Hung <hunga@google.com> IOMX: Enable buffer ptr to buffer id translation for arm32

Bug: 20634516
Change-Id: Iac9eac3cb251eccd9bbad5df7421a07edc21da0c
MXNodeInstance.h
540006666b4191cd78391378f1c66c21bcf0c4cd 13-Apr-2015 Wonsik Kim <wonsik@google.com> Implement seek for MPEG2TSExtractor

TODO: Use bandwidth-based estimation to seek forward long period.

Bug: 20126845
Change-Id: I5e2f90784a9ce0dce348715dfcfc4f83ee196170
PEG2TSExtractor.h
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
MX.h
MXNodeInstance.h
ebea5e7d0697c024c1ddf6001dcd33036e9bd95f 05-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "Stagefright: propagate InsufficientResources error" into mnc-dev
fafcc219184223ab584eac3b03ee807e2798207a 01-May-2015 Praveen Chavan <pchavan@codeaurora.org> Stagefright: propagate InsufficientResources error

Propagate OMX_ErrorInsufficientResources when handling
node-allocation failure any other error from the component.

bug: 20132289

Change-Id: I1ed9626dab947227e3d5e983bbbeee89ad7b2d2a
MXNodeInstance.h
d291c222357303b9611cab89d0c3b047584ef377 01-May-2015 Chong Zhang <chz@google.com> MediaCodec: implement persistent input surface APIs

Bug: 19127604
Bug: 19489395

Change-Id: Idaf1cc9008016f66903e93907a676f54e342e1a3
MX.h
MXNodeInstance.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
wesomePlayer.h
da7e453e1d1c77959822cf9602ddfed1c50be445 07-Apr-2015 Chris Watkins <watk@google.com> stagefright: add a 2kb cache for CallbackDataSource.

Without a cache the mediaserver does a lot of small reads which result
in round trips through binder and jni to the app MediaDataSource.

On a Nexus 5 I measured time to first frame from MediaPlayer for
1) 1350kbps h264, and 2) 20480kbps vp8. Without a cache, MediaDataSource
was ~250ms slower than an fd. With a 2kb cache it's 30ms slower for (1)
and 70ms slower for (2).

Change-Id: If1e811db7b853c4f79430603318d4744ac30acb9
allbackDataSource.h
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
wesomePlayer.h
PEG2PSExtractor.h
PEG2TSExtractor.h
MX.h
MXNodeInstance.h
ampleIterator.h
tagefrightMetadataRetriever.h
imedEventQueue.h
BRISeeker.h
INGSeeker.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
wesomePlayer.h
allbackDataSource.h
tagefrightMetadataRetriever.h
8cfad968d5ec429b033caff9743f1ef15090be61 08-Apr-2015 Chong Zhang <chz@google.com> stagefright: metadata retriever changes for capture fps

bug: 19460202
Change-Id: I20afded0b7eec45b2f25b51cf59d9f48eada74d8
PEG4Extractor.h
2441f2b68ab2b141b2b0c1652173693de8a2cb04 13-Feb-2015 Chong Zhang <chz@google.com> Merge "stagefright: stop reading meta data after MDAT or MOOF"
928da1e9631bc7f5a5484c4668646c161515aee6 13-Feb-2015 Chong Zhang <chz@google.com> stagefright: stop reading meta data after MDAT or MOOF

bug: 18520722

Change-Id: I213e4bde92a7830543c1815b324164b27d853049
PEG4Extractor.h
78acc89eae9789366b6384707861f4563addf2d3 07-Feb-2015 Chong Zhang <chz@google.com> process all SEI messages for CC extraction

bug: 19297083
Change-Id: I5b89e35cc2bd5fb2f332872941e7978f15a6f403
vc_utils.h
1eda9bfba04043c380666ba1ee86fd285b8ffbca 29-Jan-2015 Leena Winterrowd <lenhardw@codeaurora.org> am ce25d85a: am a93fd2be: stagefright: httplive: Decouple block size from bandwidth estimate

* commit 'ce25d85ad22e6df4b861d17e9e67cb6d0e62c363':
stagefright: httplive: Decouple block size from bandwidth estimate
ea5c0286e8a18e71608e6c6e5758b167fe0d6c26 29-Jan-2015 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 44a2390b to lmp-mr1-dev-plus-aosp

Change-Id: I39fdc2e8895e1e943749b9a2628656a8fa5bb72b
a93fd2be99d21629bed504b9b7df035fc2f54562 04-Dec-2014 Leena Winterrowd <lenhardw@codeaurora.org> stagefright: httplive: Decouple block size from bandwidth estimate

A very small block size in PlaylistFetcher can lead to framework
overhead and difficulty streaming high bitrate content, but since
HTTPBase keeps a constant history of the past 100 HTTP reads, the
block size directly affects bandwidth estimation and in turn,
switching latency.

Add setBandwidthHistorySize() to HTTPBase to allow setting the
history size for bandwidth estimation. Call this within LiveSession
based on the current block size to ensure that the number of bytes
used for estimating bandwidth does not change if the block size is
changed in PlaylistFetcher.

Since a single TCP/IP packet can contain up to 64k of data, increase
the block size in PlaylistFetcher from 2k to lcm(188, 1024) or 47k to
avoid inaccuracies in read timings due to up to a comparable 47 reads
from the same locally-cached packet instead of from the network.

Also make HTTPBase::addBandwidthMeasurement() virtual to allow
bandwidth estimation extensions that do not rely on a history list.

Bug: 18821145
Change-Id: I5f957be01f5346e74cfb7eeb150ca4b397ad5798
TTPBase.h
f0d689934e70d3e5b3784265e890377db04c7c1d 29-Jan-2015 Lajos Molnar <lajos@google.com> Revert "HLS: QCom enhancements"

This is to restore patch attributions

This reverts commit f580806d893c4631f5324ff0af5c2db68a40ef42.

Bug: 18821145
Change-Id: Idc49385fffccfde2a3915388fe3fe4e2b740d787
TTPBase.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
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
idiExtractor.h
8564e13b37d372da78bce08f34a3610795ae173c 29-Dec-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 2efb9566 to lmp-mr1-dev-plus-aosp

Change-Id: I4313941f3561176ce9f6ab055678fb626e570107
f580806d893c4631f5324ff0af5c2db68a40ef42 22-Dec-2014 Robert Shih <robertshih@google.com> HLS: QCom enhancements

This commit consists of:

http://go/pag/c/188753 Add NULL check for empty playlist
http://go/pag/c/188754 Fix deadlock for low duration clips
http://go/pag/c/188757 Create a copy of last enqueued metadata
http://go/pag/c/188755 Propagate target duration to LiveSession
http://go/pag/c/188762 Decouple block size from bandwidth estimate
http://go/pag/c/188756 Reduce memcpy calls for chunked content
http://go/pag/c/188758 Dont resume if we have almost fetched till stop time

Bug: 18821145
Change-Id: I7fd650999c6c50bbadffd65adee9020e669dfe62
TTPBase.h
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
oftVideoDecoderOMXComponent.h
oftVideoEncoderOMXComponent.h
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>
ACEncoder.h
D3.h
PEG2TSExtractor.h
vc_utils.h
f296e2b262d2a8f7c570eaed454a28cca99eb976 19-Jun-2014 Lajos Molnar <lajos@google.com> stagefright: add runtime debug support

Bug: 18285408
Change-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384
MXNodeInstance.h
2edda09a2ad1d112c52acd37d323f63f0a492d67 11-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: fix surface input handling of software encoders

- added SoftVideoEncoder for common color conversion and
extension handling logic
- fix YUV420 SemiPlanar handling that should be NV12 not NV21

Bug: 17935149
Change-Id: I9b8d05678b1862dd37bf349ea83d67bdf1bb5560
oftVideoEncoderOMXComponent.h
512e979284de984427e5b2f73b9054ae1b5e2b0a 11-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: support passing GraphicBuffer in metadata buffer

Bug: 17935149
Change-Id: I6bb5dd654e498a7153410afc052c2c8f7f35e44d
MXNodeInstance.h
d5a2f55034022f2d0425fa0701894d0c4787b726 24-Sep-2014 Ronghua Wu <ronghuawu@google.com> stagefright: fix cropping handling for SoftAVC and SoftMEPEG4.

Bug: 17326758
Change-Id: I9b0c281d92cf1803e275b1768e9edab9404ea577
oftVideoDecoderOMXComponent.h
1aa26f787afc525e0deae31d856dce74a4b28a0f 12-Sep-2014 Ronghua Wu <ronghuawu@google.com> stagefright: add adaptive playback support to SoftHEVC decoder.

Bug: 17326758
Change-Id: I245e2bd1490e810094ca550fdddfa87075bc2056
oftVideoDecoderOMXComponent.h
48296b792a8d68358de74141fa80bd5bd84d0307 14-Sep-2014 Chong Zhang <chz@google.com> Disconnect HTTP-based data source upon reset

Bug: 17425250

Change-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9
uCachedSource2.h
a694dd0ce2caaf921f7bc894df87a5d52594b4eb 05-Sep-2014 Ronghua Wu <ronghuawu@google.com> stagefright: add adaptive playback support to SoftMPEG decoder.

This covers both MPEG4 and H263 adaptive playback.

Bug: 17326758
Change-Id: I80a67b7f3ceab05e792f0a459439a8274bd78e20
oftVideoDecoderOMXComponent.h
bf220f3e6e799f28d1599c3c5106e9e15631a91d 02-Sep-2014 Ronghua Wu <ronghuawu@google.com> stagefright: add adaptive playback support to SoftAVC decoder.

Also change SoftVPX decoder to use common handlePortSettingsChanged
and copyYV12FrameToOutputBuffer method.

Bug: 17326758
Change-Id: I6fb2ee8fb9291f69c70493b8558af341adc1f4b2
oftVideoDecoderOMXComponent.h
031be0f358b07732092a4d1bf02fc99f109a63c4 22-Aug-2014 Ronghua Wu <ronghuawu@google.com> Add adaptive playback support to VPX decoder.

Bug: 13842676
Change-Id: I9c054ea489fd3a71b3b2394f15a85b84d42edb5a
impleSoftOMXComponent.h
oftVideoDecoderOMXComponent.h
475da7ef08c05a482ced8d318832cf5aa1141aff 09-Aug-2014 Ronghua Wu <ronghuawu@google.com> stagefright: Fix race condition between MediaCodec and SoftwareRenderer

* Set the buffer's format info when it's returned from OMX component.
* Move frame format meta from SoftwareRenderer's ctor to the render call.
I.e. each frame sent to the renderer carries the format info.
* Reset renderer with the new format instead of re-creating
SoftwareRenderer when incoming frame's format is changed.

Bug: 13842676
Change-Id: Ibab46f109200bcbdeab13a4cc1bcd0870f2a99fb
oftwareRenderer.h
5a446aafff3020d607ad6fb14cc7ae76dd8f7947 30-Jul-2014 Rachad <rachad@google.com> Added Tunneled video playback support to ACodec

Bug:16132368
Change-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38
MX.h
MXNodeInstance.h
a9522673f3076ea937eb2912945d7ed646ca05df 06-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: move ARRAY_SIZE to foundation

Bug: 11990470
Change-Id: Ifae790b774a0fb210acbe33a1310d3d6ba46e7fa
oftVideoDecoderOMXComponent.h
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
VMExtractor.h
599950efbb03b1672561d4cf2272504b879525e8 17-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: Fix seeking in MPEG4 container

- seek based on user-visible timestamp
- seek to previous, next and closest exactly

Bug: 12786906
Change-Id: I2d5e1fbff6469b6f081a284be2222a4cb50aa754
ampleTable.h
c1f4b2b73fe9432cb75ce1dd368475a2867e70ed 17-Jun-2014 Marco Nelissen <marcone@google.com> Parse trex and mehd boxes

Also get duration from mvhd if available, use that in addition to track
durations to determine total length of file, clear track header
struct so we don't read uninitialized garbage from it, and take
composition time offset into account for proper ordering when B frames
are used.

b/15669839

Change-Id: Ibf3e35b5c7299bac11d0e78a391545fc325dd2d0
PEG4Extractor.h
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>
MX.h
MXNodeInstance.h
01427884471391999393a15abbb95b5f0dce7d3b 09-May-2014 Robert Shih <robertshih@google.com> Merge "Expose sample duration in MPEG4Extractor."
908ea6603c64e29e40277a74c9fb0e776c097830 08-May-2014 Lajos Molnar <lajos@google.com> stagefright: set PTS for SoftwareRenderer

Change-Id: I08661a9eae09f919149aa5a58aa514d848de50a1
oftwareRenderer.h
344a1b9bb5cba14a0771c8b416466678aff3215f 02-May-2014 Lajos Molnar <lajos@google.com> am 113f2122: am 5fa3f7af: am b52675e9: Merge "Smooth out AwesomePlayer"

* commit '113f2122662856f2482836f1b4c585a050888afa':
Smooth out AwesomePlayer
1b78c4b1484c7d4c12b9a87329dc8d4b6e8c0c37 30-Apr-2014 Lajos Molnar <lajos@google.com> Smooth out AwesomePlayer

Use clock estimator to smooth out audio time stamps.

Change-Id: Iec1ff30c011069d06ff8051fc4839d00895463d6
wesomePlayer.h
170056540e9ce65261b45efd15f67e72e2df1bed 11-Apr-2014 Robert Shih <robertshih@google.com> Expose sample duration in MPEG4Extractor.

Bug: 12782113
Change-Id: I75ee361243c5382d9288349c554deb7bed952782
ampleIterator.h
ampleTable.h
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
imedEventQueue.h
8d1caa026caef3673799481c5fba454306f831e9 07-Mar-2014 Lajos Molnar <lajos@google.com> am 49ea1337: Merge changes I787e1c05,I72d3a5e1,I0a5cc65f,I75fc2a25,I2c2be08d, ... into klp-dev

* commit '49ea13379fb15ddb73183ebafa3a377342ef932f':
LiveSession: Use the actual, possibly redirected url as base in the M3U
M3UParser: Skip query strings when looking for the last slash in a URL
ChromiumHTTPDataSource: Keep track of the redirected URL
Initial HLS seamless switch implementation.
NuPlayer side support for seamless format switch.
LiveSession refactor
PlaylistFetcher: Add support for block-by-block decryption.
LiveSession: Add support for block-by-block fetchFile.
e2492dc46f5476e3abc617ee21d74f44198591dd 22-Nov-2013 Martin Storsjo <martin@martin.st> ChromiumHTTPDataSource: Keep track of the redirected URL

This makes the code actually match an existing comment in
DrmInitialization, which claimed that mURI was the redirected
URL and not the original one.

Bug: 13174301
Change-Id: I0a5cc65f520f1482ff91320ae78af84a8a681ee3
hromiumHTTPDataSource.h
145b727b4cce8b1b8d161612f30d12bbdfc8d134 06-Dec-2013 Haynes Mathew George <hgeorge@codeaurora.org> libstagefright: Delay release of wakelock in TimedEventQueue

Delay release of wakelock in the TimedEventQueue to
after an event has been processed.
This ensures AP shutdown does not happen while an event
is ready but hasn't been processed yet.

Bug: 11976087.
Change-Id: I9bce83b9ff0f2b4d174a53c95e5b0f135b5ccc70
imedEventQueue.h
240abcc4bf661a10ffca24859945796acc76ac6e 13-Feb-2014 Andreas Huber <andih@google.com> Remove unused FragmentedMP4Parser and friends. The functionality has been

subsumed into MP4Extractor.

Change-Id: Ic1b6445660adfb985c604f1ca6f0c86585f8de04
ragmentedMP4Parser.h
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
imedEventQueue.h
61bdaaa18a1d52666827e31bb7980a5784443835 10-Feb-2014 Lajos Molnar <lajos@google.com> Merge "ChromiumHTTPDataSource: Keep track of the redirected URL"
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
hromiumHTTPDataSource.h
TTPBase.h
DPLoader.h
hromium_http_stub.h
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
wesomePlayer.h
TTPBase.h
DPLoader.h
tagefrightMetadataRetriever.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
D3.h
PEG4Extractor.h
25cb85cd3c96c28f64aae52f9c66c76773aa124c 06-Dec-2013 Haynes Mathew George <hgeorge@codeaurora.org> libstagefright: Delay release of wakelock in TimedEventQueue

Delay release of wakelock in the TimedEventQueue to
after an event has been processed.
This ensures AP shutdown does not happen while an event
is ready but hasn't been processed yet.

Bug: 11976087.

Change-Id: I71a5f3ac4a57e1d05dd5d9ab5c6f91ed7bb64c87
imedEventQueue.h
0c9045e42eebdfcfeb1d372e932f043bb99f7ad9 22-Nov-2013 Martin Storsjo <martin@martin.st> ChromiumHTTPDataSource: Keep track of the redirected URL

This makes the code actually match an existing comment in
DrmInitialization, which claimed that mURI was the redirected
URL and not the original one.

Change-Id: I0a5cc65f520f1482ff91320ae78af84a8a681ee3
hromiumHTTPDataSource.h
5b5f76dcb29792830baca1f25e51a732b80241df 11-Nov-2013 Eric Laurent <elaurent@google.com> am a7291156: Merge "TimedEventQueue: improve wakelock management" into klp-dev

* commit 'a72911563b0e5b21b196d40249b53975bf8d8f85':
TimedEventQueue: improve wakelock management
e8332ee38cc9778aa7898bbd75858561ed1e0ba3 05-Nov-2013 Eric Laurent <elaurent@google.com> TimedEventQueue: improve wakelock management

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

Bug: 11509471.
Change-Id: Id06803b393b40c4db5095a6e7ec02339fa581a38
imedEventQueue.h
9e53ab095a13a9adaca4be832e8901933f49d014 04-Oct-2013 Eric Laurent <elaurent@google.com> am da0926af: Merge "TimedEventQueue takes a wake lock" into klp-dev

* commit 'da0926afdb12794497c93d68eee296f2d92bfa7e':
TimedEventQueue takes a wake lock
8db188489871c770d5d56cf67b0001222415db41 04-Oct-2013 Eric Laurent <elaurent@google.com> TimedEventQueue takes a wake lock

Take a wake lock when events present in a TimedEventQueue
to prevent from going idle before all delayed events are
processed.

Bug: 11057387.
Change-Id: I26a17df68068fde5e879a2fe7568dec439fc540f
imedEventQueue.h
aa50cc78be8a1067a0694a97b04d5a24b80af475 04-Oct-2013 Lajos Molnar <lajos@google.com> am 56ce7260: IOMX: Add prepareForAdaptivePlayback method

* commit '56ce726019f700a95ce5b45beebceadae4836e30':
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
MX.h
MXNodeInstance.h
d990e7b27b1984fcaee6c37005056db9ca5ca3c7 01-Oct-2013 Marco Nelissen <marcone@google.com> am 3d97e23f: Merge "Prevent onPrepared callback from being called twice" into klp-dev

* commit '3d97e23fcd78f752443cb6c30a1ee39f49f1f987':
Prevent onPrepared callback from being called twice
42c5ae81036d4002da3fe1e3b1016131ba737e74 27-Sep-2013 Marco Nelissen <marcone@google.com> Prevent onPrepared callback from being called twice

b/10891995

Change-Id: If6845c832d114629282f0b03f904a37c3325208e
wesomePlayer.h
5eab65aa7bd40e907d11dca8aad69714ffef19f1 19-Aug-2013 Marco Nelissen <marcone@google.com> am ff58698e: am f36ae7ca: Merge "Added support for 3GPP meta data atoms"

* commit 'ff58698ec7e0f32bf9f3e1758173fe170e17270c':
Added support for 3GPP meta data atoms
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
wesomePlayer.h
fbc9d2b9cda433d98c36acb842c4a91fdeeb75e0 14-Dec-2012 Oscar Rydhé <oscar.rydhe@sonymobile.com> Added support for 3GPP meta data atoms

3GPP metadata is not supported, only iTunes Metadata
Format is supported.

Change-Id: I78b41c88788d5a43800c936e0ac0f98424515c62
PEG4Extractor.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>
MX.h
MXNodeInstance.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>
wesomePlayer.h
0429aa9322a1419eae0b932491b22f300cd58206 23-Jul-2013 Geremy Condra <gcondra@google.com> Merge "Add routing sockets for the requesting user"
5908f88a7e45380a9b0d71a3b1ea535d76c420b3 16-Jul-2013 Chad Brubaker <cbrubaker@google.com> Add routing sockets for the requesting user

Mediaserver sockets are now routed as if the connection was in the
requesting app in per user routing.

Change-Id: I60f4649c3c4145a65264b54c1aa2c6c7741efaba
TTPBase.h
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
MX.h
MXNodeInstance.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>
wesomePlayer.h
SDS.h
7f616d3cc5366a4b8af20d3d0c768e3de1df0666 05-Jun-2013 Lajos Molnar <lajos@google.com> stagefright: created SoftVideoDecoderOMXComponent

Created common base class for all software video decoders to make
adding new features easier.

Change-Id: Id89964e572d5cc5add02662273e6ae96c6b7eb12
Signed-off-by: Lajos Molnar <lajos@google.com>
oftVideoDecoderOMXComponent.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)
hromiumHTTPDataSource.h
TTPBase.h
hromium_http_stub.h
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
D3.h
iveSession.h
3UParser.h
PEG2TSExtractor.h
fc80e9ec5582770cb5a7fef172af3b52625ecce7 30-May-2013 Marco Nelissen <marcone@google.com> Edit list uses timescale from movie header

not from track media header

Change-Id: I24063183f44027b999782cc9006e9a1b56e87355
PEG4Extractor.h
5544c66ba0aa789a997b376df503a5ffae425dc7 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
PEG4Extractor.h
ec77122351b4e78c1fe5b60a208f76baf8c67591 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
PEG4Extractor.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
MX.h
MXNodeInstance.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
MX.h
MXNodeInstance.h
6bde4671ae7cb383e731606d9ee548859047c961 15-Feb-2013 Marco Nelissen <marcone@google.com> Remove FragmentedMP4Extractor

MPEG4Extractor now supports fragmented mp4 files.

Change-Id: I5659a51f4e5e4407a12535e69238fe3abffda7dc
ragmentedMP4Extractor.h
ab89ac209fd1c3b0a2227168a48d7f3ae9bc43f3 15-Feb-2013 Marco Nelissen <marcone@google.com> Remove FragmentedMP4Extractor

MPEG4Extractor now supports fragmented mp4 files.

Change-Id: I5659a51f4e5e4407a12535e69238fe3abffda7dc
ragmentedMP4Extractor.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
PEG4Extractor.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
PEG4Extractor.h
0c3f0fa983107a8b5a4d6274179d15333fde8d3c 06-Feb-2013 Andreas Huber <andih@google.com> HLS now properly publishes its "seekable" flags after connection

has successfully completed and a sufficient amount of data fetched,
and only then signals that preparation is completed.

Change-Id: I7684a14238b826909f518f2af506966e522dfcfc
iveSession.h
0df36ec3303c2c6bf9b42c07945ac8bd234153f3 06-Feb-2013 Andreas Huber <andih@google.com> HLS now properly publishes its "seekable" flags after connection

has successfully completed and a sufficient amount of data fetched,
and only then signals that preparation is completed.

Change-Id: I7684a14238b826909f518f2af506966e522dfcfc
iveSession.h
81dd60e0340ddcf7f1d5fb80b6c30906fabf201a 20-Feb-2012 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added HTTP support for SDP files.

Added support for playing SDP files from http links. Previously,
SDP files only worked when started from rtsp links
(rtsp://a.b.c/abc.sdp), but they are just as common in http links.

patch provided by "Oscar Rydhé <oscar.rydhe@sonyericsson.com>"

Change-Id: Ic73af3a9a002009dbe8b04c267a4621bf7fe2f46
DPLoader.h
7a33b7740412accf6a1cc912686c8d0acfb2a883 20-Feb-2012 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added HTTP support for SDP files.

Added support for playing SDP files from http links. Previously,
SDP files only worked when started from rtsp links
(rtsp://a.b.c/abc.sdp), but they are just as common in http links.

patch provided by "Oscar Rydhé <oscar.rydhe@sonyericsson.com>"

Change-Id: Ic73af3a9a002009dbe8b04c267a4621bf7fe2f46
DPLoader.h
e4bbe007c721d29671c95cefd6162c018726bffe 19-Dec-2012 Andy McFadden <fadden@android.com> Merge "Rename ISurfaceTexture and SurfaceTexture"
6a695f176fcf758a68bc23f201e4615c37206369 19-Dec-2012 Andy McFadden <fadden@android.com> Merge "Rename ISurfaceTexture and SurfaceTexture"
1c80821b0720175478981ac43e7ca9567b58b7c5 18-Dec-2012 Marco Nelissen <marcone@google.com> Make codecs reconfigurable

Change-Id: I3dd46cb4401493becbf6152f4dcd5a8f1e9a0b44
impleSoftOMXComponent.h
6fc72b01a3b67903b52f1d33b1ad5c960b5365f1 18-Dec-2012 Marco Nelissen <marcone@google.com> Make codecs reconfigurable

Change-Id: I3dd46cb4401493becbf6152f4dcd5a8f1e9a0b44
impleSoftOMXComponent.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
wesomePlayer.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
wesomePlayer.h
e9810fae2ca6620337b75a787786cc0ea52adecd 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
vc_utils.h
516dacfb02d0b0eafe21114330c98ce0e7d90da9 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
vc_utils.h
6eb50f7ad52687331e55400a161164a62b8ebd52 29-Nov-2012 Marco Nelissen <marcone@google.com> am ce8dcdf5: am 031c93df: Merge "Bug fix for the MediaPlayer::prepare() api."

* commit 'ce8dcdf5361dd5de8c86cf5b0308c71d519f98ca':
Bug fix for the MediaPlayer::prepare() api.
c67d057596d81aea8fcd4868453cfcb501157297 29-Nov-2012 Marco Nelissen <marcone@google.com> am ce8dcdf5: am 031c93df: Merge "Bug fix for the MediaPlayer::prepare() api."

* commit 'ce8dcdf5361dd5de8c86cf5b0308c71d519f98ca':
Bug fix for the MediaPlayer::prepare() api.
45be8448daafeab8f37cb82cd2219f95bc218a6a 29-Nov-2012 Marco Nelissen <marcone@google.com> am 031c93df: Merge "Bug fix for the MediaPlayer::prepare() api."

* commit '031c93df74621dc2149876dc377aedee8930547f':
Bug fix for the MediaPlayer::prepare() api.
ce8dcdf5361dd5de8c86cf5b0308c71d519f98ca 29-Nov-2012 Marco Nelissen <marcone@google.com> am 031c93df: Merge "Bug fix for the MediaPlayer::prepare() api."

* commit '031c93df74621dc2149876dc377aedee8930547f':
Bug fix for the MediaPlayer::prepare() api.
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'.
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'.
6e8f0bc59ad2409b294ad4eb803131500306bc8b 28-Nov-2012 Dylan Powers <dylan.kyle.powers@gmail.com> Bug fix for the MediaPlayer::prepare() api.

For an MP3 source, within the prepare command, ID3 tags are checked in search of
gapless playback info. This causes problems for streamed sources. If ID3v2 tags
aren't present, then a check is done for ID3v1 tags. This results in a read
command that asks the cache to jump to the end of the file, and subsequently
make an extra http call to request those bytes. For a streamed source, this
causes the file to not be downloaded automatically when MediaPlayer::prepare()
is called, and causes stuttering and extra buffering time to be needed when
start() is finally called.
The solution is to ignore the ID3v1 tags as the gapless info would never exist
there, and only check for ID3v2 tags.

Change-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20
D3.h
ffd6ffc5429c45577fd8e9f8fa90e79bb91b8a84 28-Nov-2012 Dylan Powers <dylan.kyle.powers@gmail.com> Bug fix for the MediaPlayer::prepare() api.

For an MP3 source, within the prepare command, ID3 tags are checked in search of
gapless playback info. This causes problems for streamed sources. If ID3v2 tags
aren't present, then a check is done for ID3v1 tags. This results in a read
command that asks the cache to jump to the end of the file, and subsequently
make an extra http call to request those bytes. For a streamed source, this
causes the file to not be downloaded automatically when MediaPlayer::prepare()
is called, and causes stuttering and extra buffering time to be needed when
start() is finally called.
The solution is to ignore the ID3v1 tags as the gapless info would never exist
there, and only check for ID3v2 tags.

Change-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20
D3.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
iveSession.h
3UParser.h
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
iveSession.h
3UParser.h
11ed78642e2caad1c8c6a524ce4589dfbdfbf824 02-Nov-2012 James Dong <jdong@google.com> Remove unused default parameter for copyBuffer()

Change-Id: I8002986ccb926165af393ca80cece60dee011204
ragmentedMP4Parser.h
2e136686cd60556b681480079142142ab4a7e07c 02-Nov-2012 James Dong <jdong@google.com> Remove unused default parameter for copyBuffer()

Change-Id: I8002986ccb926165af393ca80cece60dee011204
ragmentedMP4Parser.h
f76ca8f6aaa56146b388239c034bd53f19b9abf2 24-Oct-2012 Marco Nelissen <marcone@google.com> Make ThrottledSource more usable

Add reconnectAtOffset(), DrmInitialization() and getDrmInfo().
Also rearrange the code a bit so all the methods that just call through
to the wrapped DataSource are in the header.

Change-Id: If25b674df317b0f6da5d36241c694e32abb0a01c
hrottledSource.h
a15ed9529e70caaf42aae78f9fe530abe38bcc1b 24-Oct-2012 Marco Nelissen <marcone@google.com> Make ThrottledSource more usable

Add reconnectAtOffset(), DrmInitialization() and getDrmInfo().
Also rearrange the code a bit so all the methods that just call through
to the wrapped DataSource are in the header.

Change-Id: If25b674df317b0f6da5d36241c694e32abb0a01c
hrottledSource.h
ac1b71664dbdba1379f00fad2dcc3baa5f734d6b 06-Sep-2012 Edwin Wong <edwinwong@google.com> Add getError and setError to propagate error code from WVMMediaExtractor up to player.

The two virtual functions provides a path for the player(AwesomePlayer) to retrieve
the last error from WVMMediaExtractor container.

Change-Id: Iee8d4a3eccf82af95eb3d4d465f069daced4aa1a
related-to-bug: 7073630
VMExtractor.h
8a74c9b8e2627560ae5a92d4261f0de4464490ad 06-Sep-2012 Edwin Wong <edwinwong@google.com> Add getError and setError to propagate error code from WVMMediaExtractor up to player.

The two virtual functions provides a path for the player(AwesomePlayer) to retrieve
the last error from WVMMediaExtractor container.

Change-Id: Iee8d4a3eccf82af95eb3d4d465f069daced4aa1a
related-to-bug: 7073630
VMExtractor.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
ragmentedMP4Extractor.h
ragmentedMP4Parser.h
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
ragmentedMP4Extractor.h
ragmentedMP4Parser.h
4ecce5026fe3235e783766dcb9fc2b59405da08f 31-Aug-2012 Marco Nelissen <marcone@google.com> Move fragmented mp4 parser to libstagefright

and rename it from Parser to FragmentedMP4Parser
Change-Id: I986f50d0c5c93648aac675d6160e18623b031541
ragmentedMP4Parser.h
cb1f88c684140ce0eb407049a78f889bc7d51be1 31-Aug-2012 Marco Nelissen <marcone@google.com> Move fragmented mp4 parser to libstagefright

and rename it from Parser to FragmentedMP4Parser
Change-Id: I986f50d0c5c93648aac675d6160e18623b031541
ragmentedMP4Parser.h
f10f36d34812bae602ff018fb503ad07eaf550b1 23-Aug-2012 Jeffrey Tinker <jtinker@google.com> Send current bandwidth info event when buffering occurs

There is a dependent change in vendor/widevine repo.

Change-Id: If063f4b1c8857e5bfc7be54ab0f97a4ed169b303
related-to-bug: 5883234
VMExtractor.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
wesomePlayer.h
bea455c8e4a230cc5aedc9df33e1ba97c64cec5f 15-Jun-2012 Colin Cross <ccross@android.com> libstagefright: dynamically load libstagefright_chromium_http

dlopen libstagefright_chromium_http to allow it to be on the platform
side of the pdk without getting overwritten during a pdk fusion build.

Change-Id: I391e81d98beab165c3313bc8a71bb370ebb8584d
hromium_http_stub.h
ab7a2e544643edcb2e09ed5f204580afd763edc1 27-Apr-2012 James Dong <jdong@google.com> Switch audio tracks at runtime

o The switching is not allowed if there is an audio seek operation ongoing.

o related-to-bug: 6110705

Change-Id: Ib92a165f3984aa033d97800184d3d17319522db5
wesomePlayer.h
6a3969cc3bcbfc84dbcc27aa726eb96bc03a830b 03-May-2012 Edwin Wong <edwinwong@google.com> Removed mutex lock in addTextSource, and rename to addTextSource_l
to indicate this method needs to be called with a lock hold.

Change-Id: I7e99f0a622e7de49c288be09dd4fc955bbca390b
related-to-bug: 5629511
related-to-bug: 5542712
wesomePlayer.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
wesomePlayer.h
a3cbc03f7c646ad9b05d24e72a6d306cb457807c 28-Apr-2012 James Dong <jdong@google.com> Removed software video encoders that are not OMX-based.

o related-to-bug: 5933287

Change-Id: I63635375e2bef00733b61adc3fa12c29df7e2155
VCEncoder.h
4vH263Encoder.h
e6d7f46c566d16792068f25ef479e3fbae7365b8 27-Apr-2012 Jeff Tinker <jtinker@google.com> Merge "Expose an API to run the WV extractor in crypto plugin mode." into jb-dev
ed709d00ead015b8a0de50ebc410073f6a078fd5 26-Apr-2012 Jeff Tinker <jtinker@google.com> Expose an API to run the WV extractor in crypto plugin mode.

Provides compatibility with the MediaCodec model.

Change-Id: I76f2c7d1e9d2cfc3e76b531ac9b2cf66aa6a4327
related-to-bug: 5986621
VMExtractor.h
514bcaf1e842e8e90fbeabf35e7e654622b75b02 17-Apr-2012 James Dong <jdong@google.com> Handle the case when there is no timed text track

o also replaced mTimedTextLock with mLock, since there is no particular reason to use a separate lock for timed text

o related-to-bug: 6110705

Change-Id: Ia687e96956692c42d492e57992e5721ca1e8e18b
wesomePlayer.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
uCachedSource2.h
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
wesomePlayer.h
5d2f8ba30c24ea597d54468cda01c7ec5f6a0e66 20-Mar-2012 Marco Nelissen <marcone@google.com> Parse gapless info from mp4 files

Change-Id: I4c83d4e12e996dc29708268e68a4bb74b368c6f3
PEG4Extractor.h
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
D3.h
INGSeeker.h
ded61aa958278147b5a150c189f86d025165f095 16-Mar-2012 Andreas Huber <andih@google.com> Remove obsolete software codec header files and amr encoders.

Change-Id: Ifbdf252ee312c9cb5ab29498f1e06dae8f23faf7
ACDecoder.h
MRNBDecoder.h
MRNBEncoder.h
MRWBDecoder.h
MRWBEncoder.h
VCDecoder.h
711Decoder.h
4vH263Decoder.h
P3Decoder.h
PXDecoder.h
orbisDecoder.h
cbcd6e869dd41158076e742a31c1ee410fc0c713 15-Mar-2012 James Dong <jdong@google.com> Merge "Defines MediaPlayer APIs to support multiple audio/video/timedtext tracks."
5102400104ce1f0a6de7bf913381a91e4f18a22a 15-Mar-2012 Marco Nelissen <marcone@google.com> Fix Xing seeking when TOC[0] == 0

A file purchased from the Amazon mp3 store had two 0 entries at the
start of the TOC (presumably because there was a lot of silence at
the beginning, which compresses well), which made TOC based seeking
think the TOC was not valid.
b/6170518

Change-Id: Ie7135b4af06ebb925f63a374be780cf3a9404347
INGSeeker.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
wesomePlayer.h
3bed68cb3d43af40475f56211869c40470c1fb4d 09-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Extend WAV extractor for multichannel

Support multichannel (more than 2) audio in WAV.
Support WAV_EXT format.

Change-Id: If0e6cf28cb3096f4f148ff6583f7e01db8f8a901
AVExtractor.h
5e5631bbf2403b8242e77977792318d65362ed91 09-Mar-2012 Jeff Tinker <jtinker@google.com> Merge "Fix videos app bandwidth accounting for 4G streaming"
9eeafeb52fecf90882e9b44eeefcb7c3e16aa915 25-Feb-2012 Mathias Agopian <mathias@google.com> remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
oftwareRenderer.h
dce4161f7d4d39498f69591e876f5fecdde95833 14-Feb-2012 Jeff Tinker <jtinker@google.com> Fix videos app bandwidth accounting for 4G streaming

Register the app uid with the WV extractor so it can
attribute bandwidth usage to the proper process.

Multi-repository commit, also changes in vendor/widevine

Change-Id: I42395fd08bf0bfc7e224745f820a714400066456
related-to-bug: 5434244
VMExtractor.h
7c5b72c1ea1a7a8ec40c1364e5e32043799c811f 10-Feb-2012 James Dong <jdong@google.com> Change the signature of method addTextSource() in AwesomePlayer

o avoid a unnecessary copy constructor call

Change-Id: Ib598bbe42d42a835549e2d29502c6f196f859874
wesomePlayer.h
10a5a34b0a8ba44343d0c7e0d3f261af49b5cf4c 31-Jan-2012 James Dong <jdong@google.com> Merge "First step of refactoring 'timedtext' code."
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
MX.h
6655174826330afe66ef766258181ae8c11f3f6c 11-Jan-2012 Insun Kang <insun@google.com> First step of refactoring 'timedtext' code.

Goal
1. Removed dependency of TimedTextPlayer on AwsomePlayer.
2. Generalized TimedTextParser to TimedTextSource and its subclasses.

Summary
1. Introduced TimedTextDriver, TimedTextPlayer (new implementation),
TimedTextSource (and its subclasses).
2. Removed TimedTextParser.

Remaining TODOs
1. Revise VideoVidew, Gallery3D app, AwesomePlayer to check if
'pause' and 'resume' works well.
2. Consider revising MediaPlayer APIs such as setParameter() ->
addTextSource(). Need more thoughts.

Change-Id: Ie0c4f15b9690102de755cef6940f8c31ccf78e27
wesomePlayer.h
bd9c9a80fd487b3e83861c32b388eac146f8a299 19-Jan-2012 Andreas Huber <andih@google.com> Make sure the ThrottledSource reports the proper mime type

of the underlying source.

Change-Id: I7cfd5c9f10d4b07781ed82fbdc9bf3db2e86cf84
hrottledSource.h
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
wesomePlayer.h
hromiumHTTPDataSource.h
uCachedSource2.h
VMExtractor.h
2a3d6e1b6cfd2d564a48371598fdc664ea40fa8c 14-Dec-2011 James Dong <jdong@google.com> am 3f6a7d1e: am d70c64db: Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix." This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.

* commit '3f6a7d1ee961a4544563932b7499535dc1cac1ec':
Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix." This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.
785ee06d106cd7958e0c151ebc6b7174d9ba861e 14-Dec-2011 James Dong <jdong@google.com> Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck
1. Revert "Fix drm flag setting missed in false drm recognition fix."
This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.

2. Revert "Fixed the false drm recognition."
This reverts commit aadbd80b307c817698ce5110ff8e002804d1b230.

3. Revert "Fix drm enumeration order, resolves failure to play forward lock ringtones"
This reverts commit a5cbf023e349f2394ba6fc58d73b4375cfec4369.

4. Revert "Fix ANRs due to Widevine DRM plugin sniff taking too long."
This reverts commit d0d19db1ca1c289b069db33f4665bcb9386064e9.

As a result of the reverting, many ANRs from WV sniffing are back.

related-to-bug: 5739618
VMExtractor.h
901e78d96eec495bda0dbe2e2b73009951301817 09-Dec-2011 Jeff Tinker <jtinker@google.com> am a5038d16: am a693a4b5: Merge "Fix ANRs due to Widevine DRM plugin sniff taking too long." into ics-mr1

* commit 'a5038d169f47b2e2278c0056495dfd4808803f8a':
Fix ANRs due to Widevine DRM plugin sniff taking too long.
8e49b604c806eabe3eea2bd24813cdfc4b87c64c 08-Dec-2011 Jeff Tinker <jtinker@google.com> Fix ANRs due to Widevine DRM plugin sniff taking too long.

Add a Widevine-specific format sniffer to avoid having to
refetch data from the remote server.

Change-Id: I5fdb21fe7a0d6e74f2a6f06e6fbf8070b068ac60
related-to-bug: 5725548
VMExtractor.h
6c83e3be2921009ff7dcfced2a3eda7811b8b041 16-Nov-2011 Narayan Kamath <narayan@google.com> Allow data uris to be data sources

bug:5571010
Change-Id: I0b6ae6c729ac34d46e9990fcceb08294eb4f7c58
ataUriSource.h
60047ae30cc816e98ddb4b0b48e58c34c3d1f486 17-Nov-2011 Andreas Huber <andih@google.com> am 624efe45: am c1b1709b: Merge "Make sure not to cancel pending seek/EOS notifications on a cache underrun..." into ics-mr1

* commit '624efe45671131903fb5165f6133ba39486092ab':
Make sure not to cancel pending seek/EOS notifications on a cache underrun...
c34233e673c9791e137456d0c427d58db184b690 16-Nov-2011 Andreas Huber <andih@google.com> Make sure not to cancel pending seek/EOS notifications on a cache underrun...

or they are lost for good.

Change-Id: I2f9f53efb05db4077961137c9dc8c27edac4ec62
related-to-bug: 5544907
wesomePlayer.h
471af5aaea2d2491a77dba379771f7c96b9ca3c3 08-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 26f70db9 to master

Change-Id: Ib1536b1a4c9eeff80e0726b3e61cee12057cd120
14da736f1707a6dbefa52405e910ecb1b3bc2dd2 01-Nov-2011 Andreas Huber <andih@google.com> Properly decode ADTS files with ID3 headers.

Change-Id: I55247e79ac9cc9547e3e0f6fe048bcbdc9b639d1
ACExtractor.h
2aa4cc04154d82f6658fb86f394f13bb488b0468 08-Aug-2011 Andreas Huber <andih@google.com> Support new HLS byte-range extensions

Change-Id: Ic767ddea93ffcb87d83b8fbc20837486648da3d7
iveSession.h
3UParser.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
wesomePlayer.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
MX.h
MXNodeInstance.h
2bfdd428c56c7524d1a11979f200a1762866032d 12-Oct-2011 Andreas Huber <andih@google.com> NuPlayer is now taking on the task of streaming over RTSP.

Change-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a
RTSPController.h
wesomePlayer.h
f337772630b0a1b48d7828647d1079ebdc22919d 13-Oct-2011 Andreas Huber <andih@google.com> Merge "Support for an MPEG2 Program Stream extractor."
49c59815369616b0fd5451ccabd377e8fe1dc3fa 07-Oct-2011 Andreas Huber <andih@google.com> YouTube can now request custom cache/prefetch parameters and disconnect-at-highwater

through the use of pseudo http headers specified in the setDataSource call.

x-cache-config: -1/-1/0
x-disconnect-at-highwatermark: 1

turns off keep-alives and disconnects every time the cache is full (will attempt
to reconnect once it run below lowwater mark)

related-to-bug: 5433309

Change-Id: Id2f942fc956e0e156834cfcd6bb08dae6a29fae1
uCachedSource2.h
a045cb0e77097120e86e367e1cab5494ce2a5d5e 05-Oct-2011 Andreas Huber <andih@google.com> Allow a system property "media.stagefright.cache-params" to override cache/prefetcher

default parameters. To override specify a property

adb shell setprop media.stagefright.cache-params "4096/20480/15" to
set the low water threshold to 4096 KB, the high water threshold to 20 MB
and the keepalive interval to 15 secs.

if high and/or lowwater mark are negative, the default values are used for
the respective value.

if keep-alive interval is 0, keep-alives are disabled.

Change-Id: I89a4a06836e4a2f473d7a92b567ab07818c2f87d
uCachedSource2.h
2944eca607304a095ea43ba2b8f0b9de61249f9f 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
PEG2PSExtractor.h
32e1832dfac3a6bbcc5c0973ccd0e22de4d1a1ac 23-Sep-2011 Andreas Huber <andih@google.com> Support even more .avi files with .mp3 content not aligned to chunk boundaries

Change-Id: I3ace4118e2e519648c23c51d0b699ba0d7511a5d
related-to-bug: 5349382
VIExtractor.h
c639aad6d8894f57c02e620f52ccf49e51b64866 21-Sep-2011 Andreas Huber <andih@google.com> Support some .avi files containing H.264 video, log warnings if audio/video unsupported

Change-Id: Ie7280f25f2bd19f32234c08673e64ceb65833677
related-to-bug: 5349382
VIExtractor.h
89aa8fe4cb00d2f24260005b008602232d678684 19-Sep-2011 Andreas Huber <andih@google.com> Remove an O(n^2) algorithm in MPEG4Extractor.cpp to speed up seeks in long streams

containing B-frames.

Change-Id: Ie4dc734d2c2d5a5ce84674bb883f4b27e2278642
related-to-bug: 5336497
ampleTable.h
3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45 17-Sep-2011 Andreas Huber <andih@google.com> In order to recover from video lagging behind audio, drop avc frames

that are not referenced by other frames before feeding them into the decoder.

Change-Id: I822190af8f8329567bff8da1ea23136d0a765481
vc_utils.h
7de73f4eb68f3aa478e19ba05a13bc84296f9894 13-Sep-2011 Andreas Huber <andih@google.com> Support .avi tracks that have a sample size of 1, i.e. samples != chunks

Assume for now that all chunks are the same size, i.e. have the same number of
samples.

Change-Id: Ib8a7dfeb16cc3e5be199ff9d98b68dd0b9c23eb8
related-to-bug: 5279872
VIExtractor.h
02f6e988107bc13ebe4828b734ea0fc3d9d11ae0 01-Sep-2011 Andreas Huber <andih@google.com> Guard the audio notifications with a separate lock to avoid deadlocks during reset.

Change-Id: I9a97372e1f777d1cbd6774cac2ed34b4b8cd9392
related-to-bug: 5179827
wesomePlayer.h
63970b42f101c87db7cfd26d43b0d300260b1582 29-Aug-2011 Andreas Huber <andih@google.com> Return an error to the client instead of asserting if decoder instantiation fails

after a surface change.

Change-Id: Ic7758cbeb107032db68a1c3b8e2984710a12dd8b
related-to-bug: 5212725
wesomePlayer.h
14f95746466fb6abdbbf33ee26d92ebf3fbef98f 12-Aug-2011 James Dong <jdong@google.com> Some decoders require more gentle treatment

We sacrifice A/V sync to some extent to enable the decoder to recover from
temporary bottlenecks.

Change-Id: I16195091ad752bfad4c70869cdd7e9f28ca3a118
related-to-bug: 5180142
wesomePlayer.h
169c286ed166499c5099d2b336967e0bf3d25551 17-Aug-2011 Andreas Huber <andih@google.com> Make sure we have all the sample table metadata before declaring a track valid.

Change-Id: I2dfbc3e6017b5cd264e4cccfa47d19047b2e7f31
related-to-bug: 5178976
ampleTable.h
a23456b306f35b9ecf973bf5818ca39295e9e029 08-Jul-2011 Ashish Sharma <ashishsharma@google.com> Network traffic accounting for chromium stack support in mediaserver.

- Atribute network activity to uid calling the mediaplayer
- Enables logging of chromium network stack in logcat

Change-Id: I2d28c8392248a056b3cee305dd4d4475ebba4337
TTPBase.h
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
hromiumHTTPDataSource.h
uCachedSource2.h
4378ace44b9de477608a6c2fbf7134bc0345555f 15-Jul-2011 Gloria Wang <gwang@google.com> Merge "Use unsigned char to store table of contents retrieved from XING header. Our compiler treats char default to unsigned (trygon-eng on master branch). If I force "signed char" for the table of contents array, some MediaFramework tests for VBR mp3 would fail."
6fb40672ac0f0b2f479367fa0ba4e8944df06dad 15-Jul-2011 Gloria Wang <gwang@google.com> Use unsigned char to store table of contents retrieved from XING header.
Our compiler treats char default to unsigned (trygon-eng on master branch).
If I force "signed char" for the table of contents array, some MediaFramework
tests for VBR mp3 would fail.

Change-Id: I725e2d4dfe57ff36fdb1d65fe3184f7ab41ad695
INGSeeker.h
7e43a5a2dcfa9bc64ef477472a33c87a84695c09 15-Jul-2011 Andreas Huber <andih@google.com> Refetch playlists according to the HLS specs, varying delay if playlists unchanged

since the previous fetch.

Change-Id: I75e167a650c65a23e284381db5203beba7be7420
related-to-bug: 4983546
iveSession.h
5442cb59e8483e18b3a02400d431d167ea7074b3 14-Jul-2011 Andreas Huber <andih@google.com> If audio startup fails while executing MediaPlayer::start() do NOT post an error

notification, the error returned by MediaPlayer::start() will suffice.

Change-Id: I49bd8d42078f039e5e6d8d4fed4f7f55dc5ff82a
related-to-bug: 5020200
wesomePlayer.h
49c8340bd83cc5d64b1fcaed4afbda5fd4d74a3e 14-Jul-2011 Andreas Huber <andih@google.com> Merge "Remove legacy http support from stagefright, chromium is the new hotness."
0ee92ffd74ac8594b68aa3c73b341dc0c6330b3f 14-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "OMX CallbackDispatcher uses C++ Thread not pthread"
dab718bba3945332dc75e268e1e7f0fe2eb91c4a 14-Jul-2011 Andreas Huber <andih@google.com> Remove legacy http support from stagefright, chromium is the new hotness.

Change-Id: I6725d42d38b91e6a1cbca43174870f445aeb3d99
TTPBase.h
TTPStream.h
uHTTPDataSource.h
87e031caf905145cb6e362a8c60f02736b87deef 13-Jul-2011 Andreas Huber <andih@google.com> Remove old-style software decoders.

Change-Id: Ie0729d6a65470ffdc38229791f25a75a22c724d8
hreadedSource.h
ca9718b81d1edb3d094a11502737293dcb7526e7 24-Jun-2011 Glenn Kasten <gkasten@google.com> OMX CallbackDispatcher uses C++ Thread not pthread

This permits leveraging future improvements to Thread.

Change-Id: I45e25a309e7edd1d4f0dacc5ec987329afa497d9
MX.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
PEG4Extractor.h
13b263c0fb2f03f12089150c3d05b545c25257ca 01-Jul-2011 Andreas Huber <andih@google.com> Merge "Charge network traffic to the uid of the process using the MediaPlayer."
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
RTSPController.h
wesomePlayer.h
TTPBase.h
TTPStream.h
iveSession.h
3edf4509ad62582c682cbcf572396da4036506a3 01-Jul-2011 Edwin Wong <edwinwong@google.com> Merge "Revert "Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video.""
e301545a292987b6f7f3b316003eb8b76e3a5e2e 01-Jul-2011 Jeff Tinker <jtinker@google.com> Revert "Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video."

This reverts commit d63d947d406977c7c307f69369908b4342c98ef3
VMExtractor.h
306bafcd7cabeb9059e066296cd225b8b03968a2 28-Jun-2011 Jeff Tinker <jtinker@google.com> Merge "Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video."
50255a92dfb2ffd35955035ae9ac9d4b85f606b8 27-Jun-2011 Jeff Tinker <jtinker@google.com> Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video.

This change allows the WVM extractor to close and reopen when not in use which resolves
the issue with heap fragmentation between plays.

Change-Id: I160ee1e98aada2bfdd0818eeb6300ad50644fb75
VMExtractor.h
3571d50a2582bc9c63f09cd81b4f490ea3522bd9 24-Jun-2011 Andreas Huber <andih@google.com> Fix the new color converter to respect the destination crop rect.

Also fixes the SoftwareRenderer to request blitting the correct crop rectangles.

Change-Id: I38706cf9b42d96c6d5b35a9380f006ea4fbbf1ea
oftwareRenderer.h
c5a57efb706ec79032fc09c43b16d11ed0876604 22-Jun-2011 Anu Sundararajan <sanuradha@ti.com> Stagefright: add support for gralloc OMX_UseBuffer.

XXX: This change should go along with a documentation change to
HardwareAPI.h that describes the new extension.

This change adds support for passing a buffer_handle_t to OMX_UseBuffer
during OMXCodec initialization. This new way of passing the
buffer_handle_t's replaces the old OMX_SetParameter-based approach, and
this change deprecates that interface, but still supports it for OMX IL
implementations that do not support the new interface.

Change-Id: If9c1cb3c6c349c54dab094aeb8af13eae9f85271
Signed-off-by: Jamie Gennis <jgennis@google.com>
Signed-off-by: Sarthak Aggarwal <sarthak@ti.com>
MXNodeInstance.h
9067e30b3ccb3a07e41b61af22c036378053a9a3 21-Jun-2011 Andreas Huber <andih@google.com> Parse the individual segment's duration as a floating point number which is now

allowed in later HLS specs.

Change-Id: I7c8296acb4e9b0f80022f3057769de0eea9ee0c6
related-to-bug: 4779022
3UParser.h
a0b1d4b161599c2bb2a47119e50c51e75bbe980e 08-Jun-2011 Andreas Huber <andih@google.com> Make dumpsys(media.player) more useful by having AwesomePlayer populate it.

Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
wesomePlayer.h
b33d2ac90cfce0fe6db8c3e979e7ae2bbfc28163 02-Jun-2011 James Dong <jdong@google.com> Do not call getEstimatedBandwidth if the streaming is not HTTP-based

Change-Id: I4ab6c57e5b2b989676b8dfbb98402d10a5752261
uCachedSource2.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
wesomePlayer.h
hromiumHTTPDataSource.h
TTPBase.h
uCachedSource2.h
uHTTPDataSource.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."
ecc0840163093942f3418aa4b27e9279c187b173 26-May-2011 Gloria Wang <gwang@google.com> Merge "For out of band timed text support (timed text in a separate file)."
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
wesomePlayer.h
imedTextPlayer.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
P3Extractor.h
vc_utils.h
931db87f8fd6fa1fd5b918f3b1fc107e8dca2e0e 25-May-2011 Andreas Huber <andih@google.com> Merge "Make sure all references to the decoder plugin are accounted for"
5a65e30064dc8dffa4f3d868f1c46038972c40c5 25-May-2011 Andreas Huber <andih@google.com> Make sure all references to the decoder plugin are accounted for

before calling dlunload().

Change-Id: I59aa1d19edf566b8a86a6f73b1c2eeb47c96b0de
related-to-bug: 4466387
impleSoftOMXComponent.h
oftOMXComponent.h
68cb8cfaaf4d01125397ff3bea30603bdc5001d4 24-May-2011 Jeffrey Tinker <jtinker@google.com> am c41a17de: am 6e5cdca1: am ef89cc14: Merge "Multi-repository checkin, goes with https://android-git.corp.google.com/g/111038" into honeycomb-mr2

* commit 'c41a17de2b2e80f246adeef4962073916dcfff0b':
Multi-repository checkin, goes with https://android-git.corp.google.com/g/111038
cd0b0fe858a9f109281031717d5c0001953b9054 22-May-2011 Jeffrey Tinker <jtinker@google.com> Multi-repository checkin, goes with https://android-git.corp.google.com/g/111038

Fix for b/4198446 HC - Support for Widevine Adaptive VOD

Change-Id: Ia777c80825e3416bab6ae6273fba46a194135e60
VMExtractor.h
e39350924f4e743ec04cc9640526e06990c8cbda 19-May-2011 James Dong <jdong@google.com> resolved conflicts for merge of a8939e0d to master

Change-Id: I090479ed09618e1aa3685ca79e16202d9c82f523
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
impleSoftOMXComponent.h
oftOMXComponent.h
681755fc0d0797506456f46a2a10555916d6be32 21-Apr-2011 Andreas Huber <andih@google.com> Using widevine:// to stream adaptive bitrate wvm content no longer

uses stagefright's http cache but defers caching to the WVMExtractor, which
now has the responsibility of reporting buffer status/duration.

Change-Id: Ieec64a20203977fd0a61d0c6834da124de78bfa2
related-to-bug: 4390283
wesomePlayer.h
VMExtractor.h
c0dfc5b02d4179769bbdd25c10d430576ec09568 10-May-2011 Andreas Huber <andih@google.com> Properly honour any pending seek request when reading the first buffer after

starting the audio player.

Change-Id: Ibedc1804a8c444e4d0f5be4eb87b22ed5d2c367d
wesomePlayer.h
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
wesomePlayer.h
imedTextPlayer.h
4f9e47f2c03ce36261c4717cd7e131d7940bb068 26-Apr-2011 Gloria Wang <gwang@google.com> Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
wesomePlayer.h
ae23aaee377578d9601db8d0acff66a4dd40920a 28-Apr-2011 James Dong <jdong@google.com> Add avg bandwidth estimate every 2 seconds - do not merge.

This patch is meant for testing only.
We will remove this patch once we tracked down all those spinning issues.

related-to-bug: 4339075

Change-Id: I4cf1927f1067d4f7dbc589ceb3c47407eaf40ae7
uHTTPDataSource.h
ad0d9c9c39a24b7fbd94e935a5855c9025341929 19-Apr-2011 Andreas Huber <andih@google.com> Add extra headers specified in the media player's setDataSource call

to all http requests made by the http live implementation.

Change-Id: I9dd78bb261bc678ea98c82009ca2634b74f3cd58
related-to-bug: 4315346
iveSession.h
7bf8413f91fc072452f315a91618aeef2574d420 19-Apr-2011 Andreas Huber <andih@google.com> Make sure a read restarts the prefetcher if necessary.

Change-Id: I87cac0e61e4dce7987ddf29c32f51e1672d1bbed
related-to-bug: 4286618
uCachedSource2.h
4678a6dc5f09008481524949a9667af5a6190374 15-Apr-2011 Andreas Huber <andih@google.com> Remove streamability verification, it's taking too long. Also...

make sure that findSampleAtTime uses composition time instead of decoding time,
at the expense of extra memory.

Change-Id: I67d09389b3df7ed265f614bdd0b142ca7f19f86a
related-to-bug: 4294536
PEG4Extractor.h
ampleTable.h
c33b033d11b781719d7f8dd2a63a826f09bb3593 12-Apr-2011 Andreas Huber <andih@google.com> Merge "Experimental support for changing the video surface/texture on an active mediaplayer"
a9e05b911f978dc3f25d4b1e35e51383dc4f9fc7 07-Apr-2011 Jason Simmons <jsimmons@google.com> In the MP3 extractor, compute timestamps based on sample count instead of byte count.
This fixes timestamp accuracy on VBR streams.

Change-Id: I73a30309536919cbeb5e5163f2f1340e2b9fa4b1
P3Extractor.h
dab59b5a4956b7e9b1ffc64a0676e7990579934e 01-Apr-2011 Andreas Huber <andih@google.com> Remove legacy hack to only drop frames every other late frame

Change-Id: I197e568d292341c330efb394c41aa9af0e74b081
related-to-bug: 4203195
wesomePlayer.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
VIExtractor.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
hromiumHTTPDataSource.h
uCachedSource2.h
uHTTPDataSource.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
wesomePlayer.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
tagefrightMetadataRetriever.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
PEG2TSExtractor.h
150694cda0842d38a9358fe8d1fcb4fb4a76599e 14-Mar-2011 Andreas Huber <andih@google.com> Experimental support for changing the video surface/texture on an active mediaplayer

Change-Id: Ia7a5126e9311dc1c721ab2aef54bd698151c88cd
wesomePlayer.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
wesomePlayer.h
hromiumHTTPDataSource.h
RMExtractor.h
uCachedSource2.h
uHTTPDataSource.h
1156dc913a5ba7b2bc86489468d4914430f03d14 09-Mar-2011 Andreas Huber <andih@google.com> An HTTP datasource for stagefright using the chromium code.

Use of this new datasource is now the default unless overwritten by

adb shell setprop media.stagefright.use-chromium false

Change-Id: I156a8eb9a1fff1cb537b4aec6cf3e8e6052be81e
wesomePlayer.h
hromiumHTTPDataSource.h
TTPBase.h
iveSession.h
uHTTPDataSource.h
38978f57fec45748fd1eb7f96d25bc4e8415aabb 07-Mar-2011 James Dong <jdong@google.com> am a7c9dffd: am 4ed072f9: Merge "Add missing copyright headers to a couple of files" into honeycomb-mr1

* commit 'a7c9dffdb8097105482ce976ba0a51baa76d8806':
Add missing copyright headers to a couple of files
fbb1909036ba7de3d9fb8738daba60b357881153 05-Mar-2011 James Dong <jdong@google.com> Add missing copyright headers to a couple of files

bug - 4025673

Change-Id: Ie1c4cf18c06032f9b89cc08e5be25d38c0f76aa1
uHTTPDataSource.h
bdba1f2a3813e4c8e690d71cfc2b82d5dee85c73 03-Mar-2011 Andreas Huber <andih@google.com> Reject streaming .mp4 files over http that are not muxed reasonably.

Audio and video samples must be reasonably close by at any given timestamp,
for now we define "reasonably" as "their offsets must not be more than 1MB apart".

related-to-bug: 3509977
Change-Id: I4c3a2a239bf911306833f3b17b73c9e2f76ab901
PEG4Extractor.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
MX.h
MXNodeInstance.h
18eb42eca6949158e630eae38a70db8f837c17c8 25-Feb-2011 Andreas Huber <andih@google.com> Merge "Alternate patch for late video issue: seek only the video ahead to the next"
827b55c5f3409b68ef57816208220d8804693e44 24-Feb-2011 Andreas Huber <andih@google.com> Merge "Suppress the logging of URLs when in incognito mode."
7314fa17093d514199fedcb55ac41136a1b31cb3 24-Feb-2011 Andreas Huber <andih@google.com> Suppress the logging of URLs when in incognito mode.

Change-Id: Ib951b495eae15669e160ef54686eab0eeb9b366a
related-to-bug: 3336575
wesomePlayer.h
iveSession.h
uHTTPDataSource.h
64bb6983690bf994d904591145a3cdd6373bdbe6 24-Feb-2011 Andreas Huber <andih@google.com> Alternate patch for late video issue: seek only the video ahead to the next

syncframe after the current audio media position, leave audio untouched.

Change-Id: Ia9fa8e205467e5460c8219afd396bddd09fcfb46
related-to-bug: 3375737
wesomePlayer.h
72feaa5df1f7b15b18e30592653dc511dc0b8c51 24-Feb-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3438258 Add SurfaceTexture as MediaPlayer sink"
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
wesomePlayer.h
oftwareRenderer.h
95d7e994c73c17b27c7134ba3cc3acbb5889aa87 17-Feb-2011 Mathias Agopian <mathias@google.com> Remove RefBase.h dependency on TextOutput.h

Change-Id: I72cd6b98ef82b4868fe1c8ec87862cf43fb4ee73
MRExtractor.h
P3Extractor.h
ggExtractor.h
AVExtractor.h
vc_utils.h
8cb0c4168bf4b678e4a6edfcf409247016be20d5 17-Feb-2011 Andreas Huber <andih@google.com> Experimental support for https transfers in stagefright.

Change-Id: If1bd0f265dda136c7c34b53317f64383023b53a3
TTPStream.h
uHTTPDataSource.h
ed8d14f6a934072cd012992c4ef16990a54baa9a 16-Feb-2011 Andreas Huber <andih@google.com> Remove legacy, AwesomePlayer-based http live implementation.

Change-Id: I455d0faa5612dcd4d2bb6f2b3c7b64a1caaabf69
wesomePlayer.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
ACExtractor.h
vc_utils.h
f1958f9442bc937e1f8c8d9175901500b944b021 14-Feb-2011 Andreas Huber <andih@google.com> Enable cancelling the rtsp connection process early.

Change-Id: Ie2059c54541ad8c675944d71b39c772b0f6f04c8
related-to-bug: 3452699
wesomePlayer.h
f03034408506051f2f836e59305fcd5f662bf19a 11-Feb-2011 Andreas Huber <andih@google.com> Start playing (and decoding) audio only after the first video frame has been decoded.

if there's both audio and video content. This gives the video decoder an opportunity
to fill its internal buffer queue at the start of playback.

Change-Id: Ib2c95753b430e4e47207953b913b607024a328d7
related-to-bug: 3431702
wesomePlayer.h
100a4408968b90e314526185d572c72ea4cc784a 08-Feb-2011 Andreas Huber <andih@google.com> Change timestamp handling in RTSP, remove unused, experimental, gtalk support

related-to-bug: 3216447

NTP timestamp handling is now done at a higher layer than before.

Change-Id: I9fb23f1335110ec59e534f9aa0fe6f6a6406dd52
wesomePlayer.h
b93d55d9f6e154629d47270970e0a0ace5a1b0a0 08-Feb-2011 Gloria Wang <gwang@google.com> Merge "- Do not use global DrmManagerClient - Release the DrmManagerClient and DecryptHandle in DataSource Fix for bug 3429811"
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
RMExtractor.h
uCachedSource2.h
uHTTPDataSource.h
2b1222f8938356669672f35e0e53e176c78c40ef 07-Feb-2011 Andreas Huber <andih@google.com> Display a single (still-)frame of video after seeking while paused.

Change-Id: Ia78bf29ba6d649043e70c49913725cecdf918c03
related-to-bug: 3392259
wesomePlayer.h
4931bb5259d10c1fa01e7405fb7aaef58a8ffb22 03-Feb-2011 Andreas Huber <andih@google.com> Make sure timestamps attached to encoded media are composition timestamps.

not decoding timestamps. Obviously there is no difference between them if the
content in question does not involve frame reordering.

Change-Id: Iac4d06cfeb8a136f735c1148e98cac340d3ef893
related-to-bug: 3398314
ampleTable.h
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
LACExtractor.h
ggExtractor.h
c36c7addb22cecfbe467b58ce219cd1f6db21a44 01-Feb-2011 Gloria Wang <gwang@google.com> Merge "- Support comfort noise in AMRExtractor - Support duration and seeking in AMRExtractor for different bit rates"
80f68ce02c91f188bb0cb0019fd25df2b8115f18 28-Jan-2011 Gloria Wang <gwang@google.com> - Support comfort noise in AMRExtractor
- Support duration and seeking in AMRExtractor for different bit rates

Bug 2530101

Change-Id: I12beffea73cea0ec056f0e0cf51a4a8d46d897b8
MRExtractor.h
ab8a0badb8fb1e294dacf2eb6a891439f348aff9 01-Feb-2011 Andreas Huber <andih@google.com> Disconnect HTTP live sessions as soon as the request comes in.

Instead of waiting until pending events have been processed.

Change-Id: Id758f5508a514561e18aade82175d69e9156965e
related-to-bug: 3409681
iveSession.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
wesomePlayer.h
1bd233ce7e1aa7730bc18d46ffd57791391738cd 18-Jan-2011 Bryan Mawhinney <bryanmawhinney@google.com> Don't report 100% buffered when the stream ends prematurely.

Change-Id: Ia4e80d02f28104427a3309e3d5b155faa5702757
uCachedSource2.h
ccb3506ed1845121b94f4e27244e61a46eb19815 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> integrate videoeditor preview player.

Change-Id: I83084f494605c8e6f4d198afa8c36f9e29579667
wesomePlayer.h
145e68fc778275963189b02a1adcbe27cce4d769 12-Jan-2011 Andreas Huber <andih@google.com> Increase cache size and low-watermark threshold, also

MediaPlayer now sends out MEDIA_INFO,MEDIA_INFO_VIDEO_TRACK_LAGGING messages
to the JAVA client informing it how much (if at all) the video lags behind
audio (arg2 is the media delay in ms).

Change-Id: I6933f573d8597a35112e4b5ee0fcb826a7f6ddd1
related-to-bug: 3335220
wesomePlayer.h
uCachedSource2.h
aee6c07b3572bf2510cd9e7d29c454fcfedde31d 06-Jan-2011 pmehendale <pmehendale@nvidia.com> Awesomeplayer : Frame dropping logic change

Changed late frame drop policy, now we are dropping only 1 in 8,
late (> 40ms) frames. Dropping every late frame result in lot of noticible
pauses, usually with peaky bitrate activity these pauses become more prominant.
Dropping few frames is still required to allow overall playback chain,
to regain the performance.
Experimentally decided to drop Max one late frame in 8.

Change-Id: If20848d619a76aaf8179b1e5c3155610e3bc85fd
wesomePlayer.h
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
iveSession.h
5bc087c573c70c84c6a39946457590b42d392a33 23-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit eaeaa2672d4e0a82891493b2bde8bdd0c0e79a1b
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:26:48 2010 -0800

Remove lowest bandwidth stream if using the legacy player.

Change-Id: I2f885e26344996de9152f8fda9fd6bdef89bf953

commit 7d652972615b2750fd8f1c21b9fab0e136df2b82
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:14:36 2010 -0800

Don't clear the packet source's format for legacy discontinuities.

Change-Id: I9bd5a21b9bd28043ad38bd0658ccc8eda3c1079a

commit 2b18a45aac17cbfe1aa089d0f6510957d438dd64
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:13:55 2010 -0800

Use NuPlayer for HTTP live streaming based on runtime property.

adb shell setprop media.httplive.enable-nuplayer true

Change-Id: I22738df3403985dc8e6992b1ab5da5747309f773

commit 50d899fb7b9ea52c3994b0a58e993998d926aeed
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:25:22 2010 -0800

Make ACodec a lot less verbose.

Change-Id: I94c7e499b61032321ffaf999f5ad2c913cde6a48

commit b19e1740cb4d02990a56844654b5d019987c6405
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:22:22 2010 -0800

Wait until we have fresh codec-specific-data before instantiating the decoders

after a discontinuity involving a format change.

Change-Id: I7bcf9b5ae3319f08bf8978a117e8ee5220902e37

commit 06428c006906c9099e430aface3b439ff1d36ecc
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:38 2010 -0800

Disable random seeks in the streaming tool for now.

Change-Id: Ie86fde422dcfc4b2c7a01be51a193fda9c88cd71

commit e19db68f3bea8a61c191f60f6940f30e3a0d5f1b
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:27 2010 -0800

Tweak HTTP live parameters.

Change-Id: If4b71e12485facc523a8a43d8213d0feb190daab

commit 1e9942791538c2256b579d96c6c04264b0d8b087
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:48:23 2010 -0800

Enable http live streaming through NuPlayer for http URLs containing the string m3u8

Change-Id: I1691fe12ae8f1507fe3673313959cd50bc324624

commit 4c33f96a6e499ee0efe0e70b687094430cb7c1c0
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:40:27 2010 -0800

Support for HTTP live streaming in NuPlayer.

Change-Id: Iacba1c3ebaeb8d3b972185deaf4cff18c8009c54

commit ddf705ce553708bc5b13d89a878484cf839bd674
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:42:47 2010 -0800

StreamingSource now a subclass of abstract NuPlayer::Source

Change-Id: Ia6c7c639628910b9d1f37decc55da48b07a70de3

commit 9e04a8406b1882a8e3fdeb7b4d52db5ae70b970a
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:33:52 2010 -0800

Refactor media data sourcing to NuPlayer::Source.

Change-Id: I1db9fb08c4e527bf7b19c29978cf342c2b0a0bc9

Change-Id: I9610a097481dda58f22142eacda3ac2dba0b63f9
iveSession.h
428d96d5f882d01acb0abb7e1ceb51d4ccc48efa 14-Dec-2010 Andreas Huber <andih@google.com> Support malformed ID3 V2.4 tags written by early versions of iTunes.

Change-Id: I90c2a9bbf216e2ae9a37accdaa2214233f5e54ea
related-to-bug: 3275576
D3.h
a44153c1a57202fb538659eb50706e60454d6273 04-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 9254c845d7c82976fd4b8be406ce4b17eeb0e119
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 3 15:26:12 2010 -0800

Remove obsolete code from the cached data source.

Change-Id: I794b986ac8977cbc834dff189221a636ba564e36

commit 2ee33711064c58c53ba65ed9e63dd4b01ec2380e
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 3 15:23:13 2010 -0800

LiveSource is dead, long live LiveSession.

Change-Id: Ibcd0731ecf9c94f0b3e5db3d53d012d9da2a1c66

commit 9eabb2c3cd8571ab859bdeae0aa7f655c414d8fa
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 3 12:49:31 2010 -0800

Respect explicitly signalled discontinuities.

Change-Id: I3c0c16a2de7a99742d25db7d1b2ff0258de52271

commit 7f7f7b6b906b6ece6e4d43af7fd5f494e805c5e5
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 3 11:45:57 2010 -0800

Better protection against syncword emulation in AAC ADTS content.

Change-Id: I867e80a4556dd46d24ab3e781177c248a5221719

commit fe765766582efcc350aed01135ea603576adccf6
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 3 09:15:59 2010 -0800

New implementation of http live driving code.

Change-Id: I31ddf3d6a0d5929b121be704a2b9c3d6775f7737

Change-Id: Id8d1829c8fcb173756965013f848c1d426ef1048
wesomePlayer.h
iveSession.h
iveSource.h
PEG2TSExtractor.h
uCachedSource2.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
tagefrightMetadataRetriever.h
decd96988e495133e4a1728f612d4c9fdb4d218e 02-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit de99ae4a523ff5ec40b47071f22fdde1a4b2a0bf
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:18:40 2010 -0800

Scan for sync words to find H.264 frame/AAC frame boundaries if PES packets do not start with them.

Change-Id: If2861982ecb3006fac806105dbfcd1d43c2a4205

commit be23791ff0d037aa7073589cdc8bfc362e1c281d
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:12:39 2010 -0800

Properly expand relative key URLs and strip surrounding quotes in the M3UParser.

Change-Id: I013a6d83a64f095d090e5c7730298bdac7d03ab4

commit 0f1d8f65effe0cc42a265dd91d8b91dce6534325
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:11:27 2010 -0800

Ugly hack that assumes that any http url containing "m3u8" refers to an httplive stream.

Change-Id: I05d7bbc5dab0f9822558122b5b9dc2a109ed8518

commit 255f0d5cdb1072ecd66b47ee614bf574f1388e5a
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:10:56 2010 -0800

Add one more mimetype "application/x-mpegurl" to identify httplive playlists.

Change-Id: I63fd3b8c2539c9ee23c077df533157af78b10863

Change-Id: I135687383009dbe32d690c9ba8dea60159adc616
3UParser.h
e2b1028852120bcfded33b8f06f66b780437fe92 23-Nov-2010 Andreas Huber <andih@google.com> Support streaming data across binder boundaries.

Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
wesomePlayer.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
wesomePlayer.h
oftwareRenderer.h
87995623c1865721daeb0da9efffca42e940c854 19-Nov-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 610ed879d57785cb0457f7f127889496d325f732
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 09:28:52 2010 -0800

HTTP header keys are to be treated case insensitive.

Change-Id: I9690880528a6b0f611958de7996c2753948a03c3

commit 554a2499a293d8d53907d01d972a9cfe9b92738e
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 09:22:45 2010 -0800

Remove one more legacy "string" implementation.

Change-Id: I7638d849427a39bbc040082a8663b3b9b81a632b

Change-Id: I626a60abdcd1dd6403be880dad4d0499d77ca71f
TTPStream.h
tagefright_string.h
c7fc37a3dab9bd1f96713649f351b5990e6316ff 16-Nov-2010 James Dong <jdong@google.com> 64-bit file size/offset support for media framework

Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
iveSource.h
P3Extractor.h
P3Seeker.h
PEG2TSExtractor.h
PEG4Extractor.h
uCachedSource2.h
uHTTPDataSource.h
ampleIterator.h
ampleTable.h
hrottledSource.h
BRISeeker.h
AVExtractor.h
INGSeeker.h
7d23aa2a8354046ae0390eb5ad492346af5bce0f 18-Nov-2010 Andreas Huber <andih@google.com> Support for "chunked" HTTP transfer encoding.

Change-Id: I2f20d2d9ec0fa0c840b429049b0385289a30e774
related-to-bug: 3205131
TTPStream.h
uHTTPDataSource.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
uCachedSource2.h
uHTTPDataSource.h
ba529e486dde15fe75ea1b48570f9d60a4cf3c48 17-Nov-2010 Andreas Huber <andih@google.com> Support post-decode video rotation.

Change-Id: I9ac90871269c5e132e98a9bf3ad8cae00f329f17
PEG4Extractor.h
oftwareRenderer.h
0a5ca668c6f7d45706e9aec4a1dfec0aacc6d233 16-Nov-2010 Andreas Huber <andih@google.com> Remove all traces of legacy renderer support in stagefright.

Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
wesomePlayer.h
MX.h
oftwareRenderer.h
8fff6bb0000e43f02c9d04ca90f941fdefdc1356 15-Nov-2010 James Dong <jdong@google.com> Add initial stereo capture support for AAC encoder

Change-Id: I1b9335f036ff42d958d0b32f25359b21733f96d4
ACEncoder.h
f9c2d3381e0bb174194347b927ef2b36329f3a54 15-Nov-2010 Andreas Huber <andih@google.com> Merge "More HTTP live support, AES encryption etc."
d42c40fdbf51cb384a4df4d0bd1b2a74d022c48f 15-Nov-2010 Andreas Huber <andih@google.com> Merge "Refactor h.264 profile/level support into avc_utils."
c62165b829f0244ad8e3646b3c4e314d6b4ccbb1 15-Nov-2010 Andreas Huber <andih@google.com> Provide bandwidth estimation support in NuHTTPDataSource

Change-Id: Ic98d8cf147bbba60ec735e7ca200addb2bd09f29
related-to-bug: 2368598
uHTTPDataSource.h
e332a9181cf6a3155ed1a0fd2afc212ccb1f2753 15-Nov-2010 Andreas Huber <andih@google.com> More HTTP live support, AES encryption etc.

Change-Id: Ia5088042dd0a2181cb73cf8c7a2ff81e34b3064c
related-to-bug: 2368598
iveSource.h
3UParser.h
bfd41f33c77c66ead48ee378e4ea4b7bfa5fca1f 15-Nov-2010 Andreas Huber <andih@google.com> Refactor h.264 profile/level support into avc_utils.

Change-Id: Idb33636dc723aa79ea0122dc3582109ada4b1358
related-to-bug: 2368598
vc_utils.h
a628f89503e024e2b3f4dad88edd326845e058b9 12-Nov-2010 Andreas Huber <andih@google.com> Increase the prefetcher's low water mark so it restarts fetching data earlier.

720p high bitrate content pretty much requires this.

Change-Id: I2cb29d1fa2e3c511f1b88a106a02c53c68a10f2f
uCachedSource2.h
34ef0f32c8fc0186236a27e07405328cc1f7c56d 12-Nov-2010 Andreas Huber <andih@google.com> Make sure the prefetcher is actively fetching data if we pause playback due to cache underrun.

Change-Id: Id5f4b7a0387137380dcd39995390a8e0d084b4b3

Conflicts:

media/libstagefright/AwesomePlayer.cpp
wesomePlayer.h
uCachedSource2.h
4456da54bcd206ed1f518c69cc959ca65a179c83 09-Nov-2010 Andreas Huber <andih@google.com> Some refactoring and added support for another form of vbr headers.

related-to-bug: 3172324

Change-Id: Ic364da09eac7f0a815f9ceb719b6baa8a76e3730
P3Extractor.h
P3Seeker.h
BRISeeker.h
INGSeeker.h
b371426ce4cf2fa6d8c3d1903b61322feb165d35 01-Nov-2010 Gloria Wang <gwang@google.com> Add support for WV DRM

Change-Id: I0408c5e0a488f112a84337b21b0cd4613a4da461
uCachedSource2.h
uHTTPDataSource.h
VMExtractor.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
wesomePlayer.h
RMExtractor.h
PEG4Extractor.h
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
MX.h
MXNodeInstance.h
6a05c9e912aeb8bfe1ef99516def91a177a481b6 19-Oct-2010 Andreas Huber <andih@google.com> If we basically finished the preparation phase and are only buffering enough data to start playback, cancel this early on reset().

Change-Id: I71a59d5e019e7b9ec3d9375d6231cc301ad3999b
wesomePlayer.h
74e1e56dfa15be0ffea82c60d81846c4f6615421 19-Oct-2010 Andreas Huber <andih@google.com> am 2d00c605: am 52bea277: Merge "If we encounter video stream EOS while seeking we may still need to seek audio." into gingerbread

Merge commit '2d00c6050977f3e03665fbfef93f4f6aed041a63'

* commit '2d00c6050977f3e03665fbfef93f4f6aed041a63':
If we encounter video stream EOS while seeking we may still need to seek audio.
4769cc92740e3ab58e9263d42553c12bbf79e3be 19-Oct-2010 Andreas Huber <andih@google.com> If we encounter video stream EOS while seeking we may still need to seek audio.

Change-Id: Ie260942247b6810ca94e86328a3725d75b12181d
related-to-bug: 3108724
wesomePlayer.h
6fed68ded4ab2c042b7ca14409a24aee916313d5 15-Oct-2010 Andreas Huber <andih@google.com> am bb5d7c21: am 5f423917: Merge "Attempt to derive the avg. bitrate of the entire stream from metadata." into gingerbread

Merge commit 'bb5d7c21615128630fc9d08274bb14ca01e2124b'

* commit 'bb5d7c21615128630fc9d08274bb14ca01e2124b':
Attempt to derive the avg. bitrate of the entire stream from metadata.
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.
7fbdb0903dfbf70b314a74e64e28fb880cdb9247 13-Oct-2010 Andreas Huber <andih@google.com> Attempt to derive the avg. bitrate of the entire stream from metadata.

related-to-bug: 3093224
Change-Id: I4726b023373e04468cc12fd64f7fe6ee923add95
wesomePlayer.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
iveSource.h
3UParser.h
PEG2TSExtractor.h
uCachedSource2.h
250e051e564e3b6f5a88314379d5e145a2b5615f 11-Oct-2010 Andreas Huber <andih@google.com> am cac43e8a: am beffefa2: Merge "RTSP seeking is now asynchronous, MediaPlayer is not notified that the seek is complete until it actually is. Ignore seek requests on live streams." into gingerbread

Merge commit 'cac43e8a2ce59c1151d5a2028330b2a769591d22'

* commit 'cac43e8a2ce59c1151d5a2028330b2a769591d22':
RTSP seeking is now asynchronous, MediaPlayer is not notified that the seek is complete until it actually is. Ignore seek requests on live streams.
e31aa743466972764f9db5a88a713621ff0a29ae 11-Oct-2010 Andreas Huber <andih@google.com> am e0c8545a: am 0fd4e216: Merge "Refactor some more h.264 utility code out into avc_utils. Work around a hardware decoder issue by making sure the first access unit submitted to a decoder at startup or after seek is an IDR." into gingerbread

Merge commit 'e0c8545a2369881fe09582337a9de3db2db1a951'

* commit 'e0c8545a2369881fe09582337a9de3db2db1a951':
Refactor some more h.264 utility code out into avc_utils. Work around a hardware decoder issue by making sure the first access unit submitted to a decoder at startup or after seek is an IDR.
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.
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.
0dcd837af4169bdb6fb2a0c384722dc4f57433c6 09-Oct-2010 Andreas Huber <andih@google.com> RTSP seeking is now asynchronous, MediaPlayer is not notified that the seek is complete until it actually is. Ignore seek requests on live streams.

Change-Id: Ie61230cd60dd6c682baf72529100369ad6291189
related-to-bug: 3073955
RTSPController.h
wesomePlayer.h
c68a48c474f609df3eeb7d9738675d6ac8835e0a 08-Oct-2010 Andreas Huber <andih@google.com> Refactor some more h.264 utility code out into avc_utils. Work around a hardware decoder issue by making sure the first access unit submitted to a decoder at startup or after seek is an IDR.

Change-Id: I61936601e55df7e4c23a8c13087579a4f85bd6e6
vc_utils.h
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
RTSPController.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
wesomePlayer.h
iveSource.h
3UParser.h
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
wesomePlayer.h
969247b7ab387743035dece47356678c8aec2ac4 01-Oct-2010 Andreas Huber <andih@google.com> am 14401bf7: am d1398db3: Merge "Squashed commit of the following:" into gingerbread

Merge commit '14401bf7bca34c692f248406c78bd8b49783217a'

* commit '14401bf7bca34c692f248406c78bd8b49783217a':
Squashed commit of the following:
6a63a939601645404fd98f58c19cc38ca818d99e 01-Oct-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 46744c7697f29aec71aed8de3c95ce035c284d97
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 30 16:44:57 2010 -0700

better separation of access units

Change-Id: I5a9e2138aed341f0bcf22cfe368a15ca5ea5a73c

commit d34952ac0feb1ae722ff65824d7353335502219b
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 30 15:35:01 2010 -0700

Support for ES packets that do not start on PES packet boundaries.

Change-Id: I2cf012833948eddfb20b16a1901206cf22ce71e4
related-to-bug: 2368598

Change-Id: Ib9329bd6bb7149b5a6e2483788a96b1b158952fc
vc_utils.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.
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
wesomePlayer.h
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
orbisDecoder.h
5a808f8de7b81081ac682e96b625d45fcf43fe46 22-Sep-2010 Andreas Huber <andih@google.com> Make sure we drain the avc software decoder's output queue once we run out of input data.

Change-Id: I3d92ebae4951b618a6dfcf42936cc4c63d4de539
VCDecoder.h
9dbd5240b3096b6a44525b22d8a10057ce13cec9 22-Sep-2010 Andreas Huber <andih@google.com> Merge "Make sure we drain the avc software decoder's output queue once we run out of input data." into gingerbread
15b1eeaf7f694939873bb28a2ef223e6826ef568 22-Sep-2010 Andreas Huber <andih@google.com> Make sure we drain the avc software decoder's output queue once we run out of input data.

Change-Id: I5de540675a64ac0b170eee10691d77a647950397
VCDecoder.h
ddca588b03095141035f338b5dc4bb65b105ce62 21-Sep-2010 James Dong <jdong@google.com> am e436ef09: am e5206694: Merge "Another attempt for fixing AAC+/eAAC+ related issue" into gingerbread

Merge commit 'e436ef09d205eee473d5a4a4d0a1721b8dfbe193'

* commit 'e436ef09d205eee473d5a4a4d0a1721b8dfbe193':
Another attempt for fixing AAC+/eAAC+ related issue
18269453d3c6c350c9743a03820d41a69dbb4654 18-Sep-2010 James Dong <jdong@google.com> Another attempt for fixing AAC+/eAAC+ related issue

The decoder has to decode the very first two frames (decoder specific data + first data
frame) in order to be really sure whether a stream is AAC or AAC+/eAAC+.

bug - 2966336

Change-Id: Ib12a07285933df0d6c346370a12f70e99e811881
ACDecoder.h
47dc308b114f2ee83f71bc9787db343ff3cc64fd 16-Sep-2010 Andreas Huber <andih@google.com> am 7a848c0d: am 8946ab26: A ThreadedSource wraps around an existing MediaSource and reads output buffers on a separate thread. It\'s now used for the vpx decoder to decode frames ahead of time to improve playback performance.

Merge commit '7a848c0d7cb1978155ab7743aadb2e07bc4bdcc6'

* commit '7a848c0d7cb1978155ab7743aadb2e07bc4bdcc6':
A ThreadedSource wraps around an existing MediaSource and reads output buffers on a separate thread. It's now used for the vpx decoder to decode frames ahead of time to improve playback performance.
aae3516293e58c0b015d4109bde58c11d503433c 16-Sep-2010 Andreas Huber <andih@google.com> A ThreadedSource wraps around an existing MediaSource and reads output buffers on a separate thread. It's now used for the vpx decoder to decode frames ahead of time to improve playback performance.

Change-Id: I57a798b00adeb2c8056e85aab29a2b57aef00b63
hreadedSource.h
1432a0075c0f638206a8e59e33cc81d5caea4bcf 09-Sep-2010 Andreas Huber <andih@google.com> am f0eab98c: am a063cd64: Merge "Instead of asserting, publish no tracks if an MP3Extractor is used on non-mp3 content." into gingerbread

Merge commit 'f0eab98c4ef7449eb5a5ef659cd794e0003216b3'

* commit 'f0eab98c4ef7449eb5a5ef659cd794e0003216b3':
Instead of asserting, publish no tracks if an MP3Extractor is used on non-mp3 content.
772bcc27ba7c1fd42c72ecaca55d533328bd18e7 09-Sep-2010 Andreas Huber <andih@google.com> Instead of asserting, publish no tracks if an MP3Extractor is used on non-mp3 content.

Change-Id: I26db4524c5306bf2346438d2bd359c5cfb95cead
related-to-bug: 2900419
P3Extractor.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
MX.h
MXNodeInstance.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
wesomePlayer.h
511ea9823b1ab1d45eb86607cb291878c70b26ae 03-Sep-2010 Andreas Huber <andih@google.com> am af7a7c34: am cc4a38c6: Merge "Properly buffer a certain amount of data on streaming sources before finishing prepare()." into gingerbread

Merge commit 'af7a7c34e0752db2b8ec3dd7fa6e8d486ea010dc'

* commit 'af7a7c34e0752db2b8ec3dd7fa6e8d486ea010dc':
Properly buffer a certain amount of data on streaming sources before finishing prepare().
8650e1960905097f6f1d6aa462ccb1c93c656834 03-Sep-2010 Andreas Huber <andih@google.com> Properly buffer a certain amount of data on streaming sources before finishing prepare().

Change-Id: I39bf3c6dafcbe003b51dea4795742dcd8548f207
related-to-bug: 2875110
wesomePlayer.h
6faf0cd82346b23075d1f8b9f70f7af43f2c5f04 02-Sep-2010 Andreas Huber <andih@google.com> am fd0eed00: am a2511da9: Merge "Better support for buffered streaming of rtsp content, if buffer drops below a certain threshold we will temporarily pause playback until we have sufficient data." into gingerbread

Merge commit 'fd0eed007d99178092ede56ec2c4799046615f70'

* commit 'fd0eed007d99178092ede56ec2c4799046615f70':
Better support for buffered streaming of rtsp content, if buffer drops below a certain threshold we will temporarily pause playback until we have sufficient data.
c9e894872c298b25fe9d74e68aa1e7287a541ac3 02-Sep-2010 Andreas Huber <andih@google.com> Better support for buffered streaming of rtsp content, if buffer drops below a certain threshold we will temporarily pause playback until we have sufficient data.

Change-Id: Ice8564e902e48c89c9c00f6651c5504b3c41fcad
related-to-bug: 2556656
RTSPController.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.
MX.h
MXNodeInstance.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
MX.h
MXNodeInstance.h
9fbd6ae6b6d9f3eb791a3385df6fed3524531bd4 28-Aug-2010 Andreas Huber <andih@google.com> am 05c1cada: am 577615c9: Merge "Better support for rtsp (normal play-)time display. Better seek support, timeout if no packets arrive for too long." into gingerbread

Merge commit '05c1cadaeaf272a70acc889bfccd607648058470'

* commit '05c1cadaeaf272a70acc889bfccd607648058470':
Better support for rtsp (normal play-)time display. Better seek support, timeout if no packets arrive for too long.
8d342970108926c4ea355c90d26a2a353ec0fd47 27-Aug-2010 Andreas Huber <andih@google.com> Better support for rtsp (normal play-)time display. Better seek support, timeout if no packets arrive for too long.

Change-Id: Id491541a6ae501604cda815f8e961a3bfe26db7d
related-to-bug: 2556656
RTSPController.h
wesomePlayer.h
bd49bd32eba737b334bb1398fa97ee8c4584a2bf 26-Aug-2010 Andreas Huber <andih@google.com> am e58cd37d: am 8ac0983e: Merge "Fix support for per-frame unsynchronization in ID3V2.4 tags." into gingerbread

Merge commit 'e58cd37d6667c8812ab8d40dd814f77eb7df1b96'

* commit 'e58cd37d6667c8812ab8d40dd814f77eb7df1b96':
Fix support for per-frame unsynchronization in ID3V2.4 tags.
ac994dfb88d414aeedf5998aa1c6015c5b47ec01 25-Aug-2010 Andreas Huber <andih@google.com> Fix support for per-frame unsynchronization in ID3V2.4 tags.

Change-Id: I6874b596f88817347756a375d9fb1c9bff418eca
related-to-bug: 2949149
D3.h
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
MRExtractor.h
P3Extractor.h
PEG2TSExtractor.h
PEG4Extractor.h
ggExtractor.h
AVExtractor.h
5ac7b5def64625fdc9cfaf1bbdd013f5ada241f3 25-Aug-2010 Andreas Huber <andih@google.com> am 67ca90b3: am 6b6ae996: Merge "A first shot at proper support for seeking of rtsp streams." into gingerbread

Merge commit '67ca90b339feb8bb6889ca289a9dbc82c447b0d2'

* commit '67ca90b339feb8bb6889ca289a9dbc82c447b0d2':
A first shot at proper support for seeking of rtsp streams.
cce326fe43411855aca2f719e505b051bc4b61b3 24-Aug-2010 Andreas Huber <andih@google.com> A first shot at proper support for seeking of rtsp streams.

Change-Id: I9604f2d09feedc0074c0e715be58e719d4483760
related-to-bug: 2556656
RTSPController.h
wesomePlayer.h
d9734dc5f25730944ec4e62bb028092e1841e4a3 24-Aug-2010 Andreas Huber <andih@google.com> am 31e71131: am 3e22ef1e: Merge "Better handling of rtsp connection and disconnection." into gingerbread

Merge commit '31e71131049c943a388134e796087e109248efcc'

* commit '31e71131049c943a388134e796087e109248efcc':
Better handling of rtsp connection and disconnection.
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
wesomePlayer.h
oftwareRenderer.h
1b543242102ef3c28145c6ad50ee8e8ce2fb26d3 23-Aug-2010 Andreas Huber <andih@google.com> Better handling of rtsp connection and disconnection.

Change-Id: Ib126af6c14c5a212a51a5ee3c4a0a7d1860ad167
RTSPController.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
vc_utils.h
5328abe1e36a39b1d4617a74ac82c201b8c14c43 12-Aug-2010 James Dong <jdong@google.com> Don't send late frames to software encoders for encoding

o Document on what frames will be rejected and what frames will be accepted

Change-Id: I5a5d489ad3d2b50dbb40a0f6e01529312ce81c54
VCEncoder.h
4vH263Encoder.h
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
711Decoder.h
AVExtractor.h
8bf59e735760af0b6a85747fd90bf8cf1e5388d7 06-Aug-2010 Andreas Huber <andih@google.com> Support for communicating if a buffer read from the _extractor_ is a sync sample or not.

Change-Id: Ie71506224d937cfff1fa1273bfac31c47db8845f
related-to-bug: 2900534
ampleTable.h
979c6c9720d8861375570b81222e55c43bb2838d 04-Aug-2010 Andreas Huber <andih@google.com> Merge "Don't return a decoder error if the encoded stream does not start with SPS/PPS." into gingerbread
2b3b9b2237468db96d9bb49dccd2b2a1eb8ae2db 04-Aug-2010 Andreas Huber <andih@google.com> Don't return a decoder error if the encoded stream does not start with SPS/PPS.

Change-Id: I960ada0c53f8ffe413ecd07c2c754a996841f592
VCDecoder.h
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
wesomePlayer.h
abd1f4f870925d6776dbe4b930b759a1ab6595ca 21-Jul-2010 Andreas Huber <andih@google.com> Support finer seek control on MediaSources.

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
VCDecoder.h
4vH263Decoder.h
ampleTable.h
PXDecoder.h
59f566c4ec3dfc097ad8163523e522280b27e5c3 13-Jul-2010 James Dong <jdong@google.com> Initial check-in for software m4v_h263 encoder

Change-Id: I4b49fa5c3a5e6e21cfd2419441d98dd784046367
4vH263Encoder.h
29a84457aed4c45bc900998b5e11c03023264208 03-Jul-2010 James Dong <jdong@google.com> Initial checkin for software AVC encoder

- Since the software encoder assumes the input is YUV420 planar,
color conversion needs to be added when the input color format
does not meet the requirement. With this patch, I only added
a single color conversion from YUV420 semi planar to YUV420
planar. We can add more as we go.

Change-Id: If8640c9e5a4f73d385ae9bb2022e57f7f62b91b9
VCEncoder.h
fe02beaa83dab8d9bbf6aa0f2aefa530d4228824 09-Jul-2010 James Dong <jdong@google.com> Enable the support for decoding audio with AAC+ and eAAC+ features

bug - 282684

Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b
ACDecoder.h
5d2de4da54504836e4b772b3010ac28c19f667f0 07-Jul-2010 Andreas Huber <andih@google.com> Only send the playback complete notification if a) an error occurred on any track or b) all tracks have finished playing. The previous behaviour was to send the notification as soon as the first track finished playing.

Change-Id: Icac8104d14f18b719aa0b8f1ab3215f24003b152
wesomePlayer.h
9235bc896538e906e162aa5f9e11f8af04c29664 25-Jun-2010 Andreas Huber <andih@google.com> Finetune some of the prefetcher parameters to a) buffer as much as froyo did b) ensure that keepalives actually trigger a network read instead of just draining internal buffers

Change-Id: Iaedfb5645e3052a63789244c90900573f8449bac
uCachedSource2.h
065d1aff96818df54456053f1574aec8a234d0de 24-Jun-2010 James Dong <jdong@google.com> Fixed the software AAC encoder

Make sure that each input frame contains at least 1024 samples, as
required by the AAC encoder, and fix the incorrect timestamp.

Change-Id: I344cafe8c89be51d6e64552fab70539990ff6049
ACEncoder.h
3e0339f9ec42c2c31deb632254e9cc8a06d3db91 23-Jun-2010 Andreas Huber <andih@google.com> Fix a number of timestamp mismatches in the mp3 extractor and decoder that would lead to invalid reporting of the current playback time for mono and/or non-44100 kHz mp3s.

Change-Id: I11abc05b62a958ffbc99ca997cd184a2f2199352
related-to-bug: 2667479
P3Decoder.h
a5273ebd1746368662a597643d6701a5046d5c7b 22-Jun-2010 Andreas Huber <andih@google.com> Make the prefetcher read packets from the network after a keep-alive timeout expires regardless of whether its currently actively fetching data or not.

Change-Id: I7d022ac494e1cecdd7f656806b7ed45979c02840
uCachedSource2.h
78d26445a7dfe8f49d7005185f28b01cffe80adf 15-Jun-2010 James Dong <jdong@google.com> This patch enables each omx instance to have a separate message dispatcher, and
thus eliminates the sharing of the message dispatches between omx instances.

If the omx audio and video encoders share the same dispatcher, when the audio read
blocks in the AudioSource, the message dispatcher thread gets blocked. As a result,
the message for the omx video encoder can not be dispatched, hence gets blocked too.
If the blocking time is long enough, the video frame rate decreases significantly.
This is the case when we read 2048 bytes by default each time. Reading smaller blocks
of audio data helps mitigate the above-mentioned problem, but it is not an ideal
solution for two reasons: a) it is not efficient, and thus can cause a lot of overhead
passing buffers between the frame work and the omx encoders; b) also, the audio record
thread can overflow as a result, which lead to the loss of recorded audio frames.

This patch affects both authoring engine and the playback engine.

Change-Id: I26dfde7ac46c8752cf1793ce1bfcc7be7724580e
MX.h
79f77ef3b0a37660ba8c5bcb2dfbfda3860f2135 11-Jun-2010 Andreas Huber <andih@google.com> Restore feature parity with the old HTTPDataSource as far as support for extra headers (cookies?) and socket-timeout are concerned.

Change-Id: I506dc501faec60e974bf4968d8ba661df7a49aa8
uHTTPDataSource.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
wesomePlayer.h
refetcher.h
baef63d1ac0ec6f489f5e50d2a599ff96c1f44ba 11-Jun-2010 Andreas Huber <andih@google.com> Merge "Switch LiveSource to use the new http data source instead of the old one." into kraken
61ea6c1bc242841663cb6f3601f89fd929882d0b 11-Jun-2010 Andreas Huber <andih@google.com> Merge "Initial check-in of new caching/prefetching data source implementation." into kraken
1370cbe385c4295471910aacbef51a8a65ce533d 10-Jun-2010 Andreas Huber <andih@google.com> Switch LiveSource to use the new http data source instead of the old one.

Change-Id: I9623c480628c495dbfbe02bdc6372724a107e2e8
iveSource.h
5994b4798b01f3dd340577c9ea9657f09093a770 10-Jun-2010 Andreas Huber <andih@google.com> Initial check-in of new caching/prefetching data source implementation.

Change-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504
uCachedSource2.h
f0821faac01c41cb3eb0ec057443f1507e7afcb5 10-Jun-2010 Andreas Huber <andih@google.com> Initial check in of a new http data source implementation.

Change-Id: I17c358288ffe9ef690d702c58723c766d0a0cf21
uHTTPDataSource.h
cf7b9c7aae758ac0b99833915053c63c2ac46e09 08-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of preliminary rtsp support for stagefright.

Change-Id: I0722aa888098c0c1361c97a4c1b123d910afc207
RTSPController.h
wesomePlayer.h
e71d10e7ad55ccbcb0756c007caef1c959090384 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of preliminary support for "http live" streaming in stagefright.

Change-Id: I20399f63d63af86a3ba22641c0e43385a108fb3f
iveSource.h
3UParser.h
cda17c606b0fe3ccda4dc68a6d43882410ea2462 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of mpeg2 transport stream parser for stagefright.

Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
PEG2TSExtractor.h
c282e3eee921453fc9188705b4879d6289b71f9c 01-Jun-2010 Andreas Huber <andih@google.com> A debugging DataSource artifically limiting the available bandwidth.

Change-Id: I4ca75337a52599d211ea066fd94e649748df052d
hrottledSource.h
4d1265cd007b9754d0645bc4fb95701140a45648 24-May-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit a2194ecc341fa0c530d0007d8561286c8b8f2d15
Author: Andreas Huber <andih@google.com>
Date: Fri May 21 12:50:09 2010 -0700

Instead of including the libvpx libraries prebuilt in our tree, build them from sources.

Change-Id: I5ec57decf1200cf9137fe13ff77d06f47950c3d7

commit 711098ca3f16800a22ccdb26a07e57e471cca438
Author: Andreas Huber <andih@google.com>
Date: Thu May 20 15:00:27 2010 -0700

Support for VPX/VP8 decoding in stagefright

Change-Id: I16d93faf3f56a5f8ec39c14367704469f914db9e
related-to-bug: 2483739

Change-Id: Ibc124f6af540c2715cb2325151eecdd6edf085ec
PXDecoder.h
956c553ab0ce72f8074ad0fda2ffd66a0305700c 15-May-2010 James Dong <jdong@google.com> Initial software encoder checkins

Change-Id: I27f387db23594e46384c4eb3a0093ce220bb6b60
ACEncoder.h
MRNBEncoder.h
MRWBEncoder.h
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
TTPStream.h
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
ggExtractor.h
orbisDecoder.h
orbisExtractor.h
acdd9d0f59c3d8bdc3de80664a609527ec3d21e2 06-May-2010 Andreas Huber <andih@google.com> Disable vorbis seek when streaming from localhost.

Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f
related-to-bug: 2654400
wesomePlayer.h
orbisExtractor.h
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
orbisExtractor.h
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
SDS.h
874b55f51c4c062c65aee043ec0f26044b504556 12-Apr-2010 Andreas Huber <andih@google.com> Fix a race condition in TimedEventQueue, an event may be cancelled while we're waiting for its scheduled time to come in which case we'd be removing it from the queue twice.

Change-Id: I4e42e318fd5373d1f352f54027d4bf823126266d
related-to-bug: 2585276
imedEventQueue.h
bebd11b5a406bc4243cb7bd55f6849841bf911a7 08-Apr-2010 Andreas Huber <andih@google.com> Support for ID3 V2.4 tags.

Change-Id: I74ee02451bdfd7e50f0d5ff6fa5da5147b683e4c
related-to-bug: 2581869
D3.h
1321fdd94d354431b930735e9f38f32ecd189a2d 31-Mar-2010 Andreas Huber <andih@google.com> Properly send a MEDIA_SEEK_COMPLETE notification for a seek request while paused (legacy behaviour).

Change-Id: I64da5eb97c75b269b4668b3628ed0f05f2e36e51
related-to-bug: 2557482
wesomePlayer.h
2415ecb5bb4e1459024f6d6c8ae2d6e3dc4fbdc7 26-Mar-2010 Andreas Huber <andih@google.com> Finer-grained locking in AwesomePlayer, position and duration are now protected by a separate mutex that's only held for brief moments of time.

Change-Id: I989baf5a0ea8923985c560c2ec274abda0780242
related-to-bug: 2546577
wesomePlayer.h
e966fb05c7e67a7f5dce65024de60aac83eb6f81 24-Mar-2010 Andreas Huber <andih@google.com> Enable early termination of the prefetcher's preparation phase.

Change-Id: I929ac9b0fd0b6ebd98c1bc56be18ac8f8378d48c
related-to-bug: 2537407
wesomePlayer.h
refetcher.h
746973186764292a84d11856ac315fa4b62957ad 15-Mar-2010 Andreas Huber <andih@google.com> We no longer do sanity checks based on "hdlr" tags in .mp4 files. Pretty soon we'll play any bytestream that even vaguely resembles the spec...

Change-Id: I43e05404860d8856b8aa566cc9b256bb3fa57e6f
related-to-bug: 2483328
PEG4Extractor.h
6f3a0c2dcb8d37d34e29e6a02acf1e3f8596088c 13-Mar-2010 Andreas Huber <andih@google.com> Hack to "support" "enhanced" podcasts... slang for malformed .mp4 files.

Change-Id: I690b9f336062a0ff1a667d6461d66b1386db866d
related-to-bug: 2511744
PEG4Extractor.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
wesomePlayer.h
TTPStream.h
88d8a83de12592635248aa1a3bd6b9ea46108501 05-Mar-2010 Andreas Huber <andih@google.com> Instead of allocating the decoder instances in response to a call to setDataSource, postpone allocation to the preparation phase where it belongs.

related-to-bug: 2492205
wesomePlayer.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
wesomePlayer.h
bd5d93f21e6f79c6d9ebe9d77542c3090d4a7ff4 23-Feb-2010 Andreas Huber <andih@google.com> Return runtime errors instead of asserting in MPEG4 file format validation, also add more validation to ensure presence of codec specific data for avc, aac and mpeg4.

related-to-bug: 2431967
PEG4Extractor.h
2e8ffaf95bd35358ecd14ddf00cddaf3abefe0a9 19-Feb-2010 Andreas Huber <andih@google.com> Implement legacy behaviour for MediaPlayer's behaviour of starting from the start of the media on a start() call instead of resuming at the current position, if previously reached the end of the stream. Also properly report number of frames played to audio flinger. Finally, delay spawing the queue thread until actually used.

related-to-bug: 2453220
wesomePlayer.h
fa090f541bb84a546af2ec834e91a032ff10e66e 12-Feb-2010 Andreas Huber <andih@google.com> Preserve a preview frame to be restored after resuming the playback session.

related-to-bug: 2231576
wesomePlayer.h
7b3396acc702451be9bafb19d7fe26d55d43a316 12-Feb-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 427e927298449826bb5b98327b0c05957aa051e6
Author: Andreas Huber <andih@google.com>
Date: Fri Feb 12 10:39:07 2010 -0800

Fixing a race condition in AwesomePlayer and support for suspend/resume.

commit 96201a04b6657b6bd69ec6100f4de66aebcaa0b4
Author: Andreas Huber <andih@google.com>
Date: Fri Feb 12 10:36:15 2010 -0800

Protect MPEG4Source's sanity by properly locking.

related-to-bug: 2231576
wesomePlayer.h
bd22c52280179b29eefac91ef7e7bbbc33d25904 09-Feb-2010 Andreas Huber <andih@google.com> Defer actual work of setDataSource given a URI to the prepare phase in order to not block the calling thread for any significant amount of time...

related-to-bug: 2431117
wesomePlayer.h
c23f12af0394aa2f6651968a3c8840f1af317aa1 08-Feb-2010 Andreas Huber <andih@google.com> Properly implement asynchronous preparation of media playback.

related-to-bug: 2413002
wesomePlayer.h
refetcher.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
wesomePlayer.h
ba7c7eeca462614251aec3d27f0f7ff3a83cefa1 29-Jan-2010 Andreas Huber <andih@google.com> Apparently the generic mpeg4 file header does not describe the actual samplerate and channel count of the content in the case of mpeg4 audio, instead the 'ESDS' atom must be consulted.

related-to-bug: 2407094
PEG4Extractor.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
wesomePlayer.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
wesomePlayer.h
refetcher.h
0726045216f576e97672ebeefc265d39c4ebaaa5 21-Jan-2010 Andreas Huber <andih@google.com> Fix circular dependency between StagefrightPlayer and AwesomePlayer that prevented proper cleanup.

related-to-bug: 2355922
wesomePlayer.h
570a3cb7582daa030cb38eedc5eb6a06f86ecc7f 21-Jan-2010 Andreas Huber <andih@google.com> Fix no-copy-overhead OMXCodec implementation to actually work.
MX.h
MXNodeInstance.h
dfaddcc81f27bb9de47edec469a4a5fb2309bd6a 20-Jan-2010 Andreas Huber <andih@google.com> Merge "Adds support for 8-bit (unsigned) PCM wave files."
f99f049dd228333e3d6f886efe373f8e461ff2da 20-Jan-2010 Andreas Huber <andih@google.com> Adds support for 8-bit (unsigned) PCM wave files.

related-to-bug: 2382428
AVExtractor.h
72b8c5ae6a5f97a4fcfc6d23d33159d6ae50179c 20-Jan-2010 Andreas Huber <andih@google.com> Support for 'iTunes-style' metadata in .mp4 and .3gp files.

related-to-bug: 2368967
PEG4Extractor.h
83e5850bdf9c8b5c36c364b367b039674eb827ad 19-Jan-2010 Andreas Huber <andih@google.com> Support for ID3 version 1 (and 1.1) tags in .mp3 files.

related-to-bug: 2375219
D3.h
7eaa9c9385535b651064e02d05a8ffa4b2359281 16-Jan-2010 Andreas Huber <andih@google.com> Avoid unnecessary buffer copying if at all possible, detect if running in the mediaserver process.
MX.h
c57b67905c2128ddadfeca96785ee1f593b6605a 19-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 6689350d7e4dad6d873c1ed95f0a356e3bfd79d1
Author: Andreas Huber <andih@google.com>
Date: Tue Jan 19 09:23:02 2010 -0800

Some tweaks to the SampleIterator.

commit 5638bff6d31442a219806445c3106d47b081fcab
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 15 14:46:29 2010 -0800

A much improved implementation of MPEG4 sample table operations through an iterator.
ampleIterator.h
ampleTable.h
7be6407f2ad7f2b0782d195d9f792072c084d6f5 13-Jan-2010 Andreas Huber <andih@google.com> Support for determining the mime type of media via metadata extraction.
MRExtractor.h
PEG4Extractor.h
AVExtractor.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
D3.h
P3Extractor.h
tagefrightMetadataRetriever.h
67e5a4f6f6879d512a859e5dba92e9beec7a2f91 08-Jan-2010 Andreas Huber <andih@google.com> Reorganize some of the stagefright implementation related to metadata.
tagefrightMetadataRetriever.h
cb110ccbe4c275eba0857d9af341a75113243fa0 04-Jan-2010 Andreas Huber <andih@google.com> Fix mpeg4/h.263 software decoder.
4vH263Decoder.h
fd1fe13b4584628d73df31717794e8e886d6bc39 19-Dec-2009 James Dong <jdong@google.com> Fix a memory corruption problem in software M4v/H263 decoder due to out-of-scope local variable
4vH263Decoder.h
9801564dbff3c47e747add686feec622575a9869 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibac388a3 into eclair-mr2

* changes:
Add support for XING header
ac6e6569f08911df9d5c96285cf15325cbbf0340 10-Dec-2009 Gloria Wang <gwang@google.com> Add support for XING header
P3Extractor.h
3306cfee3bf38ab207a0504e49c2d492bb73ffbf 16-Dec-2009 James Dong <jdong@google.com> Initial checkins of the mpeg4 and h263 software decoders based on PV
4vH263Decoder.h
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.
MX.h
MXNodeInstance.h
68ddfc7f245bf31f16c3d65ba754cbb78e37fcbe 14-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1314e737 into eclair-mr2

* changes:
AwesomePlayer now renders either remote (IOMXRenderer) or locally depending on what kind of decoder was instantiated. Split off color conversion code into its own shared library.
733b7729ea462fae9c6899456444e28fef1c757c 14-Dec-2009 Andreas Huber <andih@google.com> AwesomePlayer now renders either remote (IOMXRenderer) or locally depending on what kind of decoder was instantiated. Split off color conversion code into its own shared library.
wesomePlayer.h
587423f64501606852f05393ce1edfac0c18d545 14-Dec-2009 Andreas Huber <andih@google.com> The software AVCDecoder now properly seeks as requested.
VCDecoder.h
b841f14f8e51f2365945281fbfa54ef6a1b1b5a6 12-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AMR NB encoder based on PV source code.
MRNBEncoder.h
72124cf05cd5b40f2902198aca2797616b813457 11-Dec-2009 Andreas Huber <andih@google.com> Removing an unused header file and a stale forward declaration. Also handling one more nalType as a no-op.
VCDecoder.h
609f1a00c96cf5605f4614e7bb6d0487c98969c5 10-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AVC video decoder based on PV source code.
VCDecoder.h
4f1efc098cb5791c3e9f483f2af84aef70d2d0a0 09-Dec-2009 Andreas Huber <andih@google.com> Initial check in of AMR (NB and WB) decoders based on PV source code.
MRNBDecoder.h
MRWBDecoder.h
ebd0d94d2619280f9871ef2d0965d95fb880404c 08-Dec-2009 Andreas Huber <andih@google.com> Minor tweaks to the mp3 and aac software decoders, propagate duration to output format.
ACDecoder.h
d9618f23226f46c752e56f712bc4b505117d8b4b 07-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of stagefright MP3 audio decoder based on PV source code.
P3Decoder.h
f44de515d3b6098a0b585865c1a0c7b20d3075a6 07-Dec-2009 Andreas Huber <andih@google.com> Initial check in of stagefright software AAC decoder based on PV source code.
ACDecoder.h
f0fb96c352f30b812a4903a1d783a715e1e817bd 04-Dec-2009 Andreas Huber <andih@google.com> Enable proper cleanup of OMX nodes managed through stagefright.
MXNodeInstance.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.
MX.h
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.
MRExtractor.h
wesomePlayer.h
be11f392a8b8ff1006cf536350cc8a85f8788ff4 17-Nov-2009 Andreas Huber <andih@google.com> Improvements to TimedEventQueue.

Events are now cancelled given their "unique" event_id instead of the event pointer
itself (which may be reallocated in place if we're unlucky). Also the ability to
cancel multiple events matching a predicate has been added.
imedEventQueue.h
53f45f0367d9563278f427db106736dcd1a433d1 12-Nov-2009 Andreas Huber <andih@google.com> resolved conflicts for merge of c66d53f9 to eclair-mr2
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.
MX.h
MXNodeInstance.h
0dba73763a04d39faf999dcc5ef12af3c99535a7 04-Nov-2009 Andreas Huber <andih@google.com> Adds a WAVExtractor for 16-bit signed PCM audio wave files.
AVExtractor.h
d6703ab22c85b43fdb2deb78a37e51465c902a5f 27-Oct-2009 Andreas Huber <andih@google.com> 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.
MXNodeInstance.h
66326a5ee0869f1ee4d136a477e6effba428b3cb 23-Oct-2009 Andreas Huber <andih@google.com> Moving the individual extractor headers files to the private include directory.
MRExtractor.h
P3Extractor.h
PEG4Extractor.h
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()
ampleTable.h
a58568bc37ea3964ba116925fcc5fa52dfe6fa49 19-Oct-2009 Andreas Huber <andih@google.com> Fixing the build by renaming private "string.h" header file.
TTPStream.h
tagefright_string.h
tring.h
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.
MX.h
MXNodeInstance.h
89e69da4d86348409994c9dafbbb2634ccd7c196 13-Oct-2009 Andreas Huber <andih@google.com> Separated private from public header files.
SDS.h
TTPStream.h
ComHardwareRenderer.h
ampleTable.h
oftwareRenderer.h
IHardwareRenderer.h
imedEventQueue.h
tring.h