• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libstagefright/omx/
History log of /frameworks/av/media/libstagefright/omx/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
41eca4f0ec697529fe8a47f34f43f5ba98a50162 25-May-2016 Wonsik Kim <wonsik@google.com> omx: check buffer port before using

Bug: 28816827
Change-Id: I3d5bad4a1ef96dec544b05bb31cc6f7109aae0a5
MXNodeInstance.cpp
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.cpp
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.cpp
MXNodeInstance.cpp
3e328782f1e1061d08ea0c45b855cc418a2d9ea6 09-May-2016 Lajos Molnar <lajos@google.com> stagefright: untangle metadata-mode handling

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

Bug: 22775369
Change-Id: I58b03acd3e9a5367d5010d7f87b7af5cae23362c
MXNodeInstance.cpp
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.cpp
MXNodeInstance.cpp
075999616e5764462316f31ce628146c1174b1d5 29-Apr-2016 Justin Chuang <jchuang@google.com> Allow RGBX8888 in soft video encoder

BUG=27844478,28550227
TEST=android.hardware.camera2.cts.RecordingTest will pass
Change-Id: Ib669d4a2447bb5d76b9d0cdc34469cad77a98ee2
oftVideoEncoderOMXComponent.cpp
861f358a4b420517c2fbc9a33558fe5c964ccbd8 22-Apr-2016 Marco Nelissen <marcone@google.com> Merge "More OMX struct checking" into mnc-dev am: 4040b13b07 am: 05202f5 am: ff5d1bb
am: 8b5f271

* commit '8b5f271f006dc07d2875bfebe32f59e8f1230ab2':
More OMX struct checking

Change-Id: I6e98cb098254e9ad10ae7d4ae3eaf84b3f76928c
a21bed3d626d148e584bdddeeecf287b782b3fcb 22-Apr-2016 Marco Nelissen <marcone@google.com> More OMX struct checking

These were lost due to bad merges.

Bug: 27207275
Change-Id: I2fd6fa0edda83ff8d5db07fce34db2f1df0a1735
oftVideoEncoderOMXComponent.cpp
17ec7d74fd490179459cd139fa3a9c146dc00726 18-Mar-2016 Marco Nelissen <marcone@google.com> Merge "Add VPX output buffer size check" into mnc-dev am: 68a43d3 am: 562cf01 am: 8e55cd3
am: 0ee25ef

* commit '0ee25ef2cff43e8ea5e183e049e05c4df277c20c':
Add VPX output buffer size check
ca00182c94d2ec1bdc9baeb1385e0cf3de9171d1 16-Mar-2016 Marco Nelissen <marcone@google.com> Add VPX output buffer size check

and handle dead observers more gracefully

Bug: 27597103
Change-Id: Id7acb25d5ef69b197da15ec200a9e4f9e7b03518
MX.cpp
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
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
dd81af7ef969981748f35ec839869d34ed0cc768 11-Mar-2016 Lajos Molnar <lajos@google.com> IOMX: add INTERNAL_OPTION_COLOR_ASPECTS to setParamaters

Bug: 25684127
Change-Id: I140a26eb958d0c42f54faf2b20af636857e886f7
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
57fad3c31f46ec98d15bc253c16f9d269aeb8ea7 08-Mar-2016 Lajos Molnar <lajos@google.com> IOMX: add dataspace to createInputSurface

Bug: 25684127
Change-Id: Ibe746d7d077f32b0f2ecfb8494f415a6bf0bd673
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
f1a2668f4f09e38722424a6a74f0ea26f49e4110 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
impleSoftOMXComponent.cpp
oftVideoDecoderOMXComponent.cpp
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
impleSoftOMXComponent.cpp
oftVideoDecoderOMXComponent.cpp
4e82dc4004ed361057d418c08e2b3b698a75e261 01-Mar-2016 Jeff Tinker <jtinker@google.com> Merge "Fix alternative signaling for native handles" into nyc-dev
a94c49819fd1513f1d60dbfb433017ca64bbd7db 26-Feb-2016 Jeff Tinker <jtinker@google.com> Fix alternative signaling for native handles

bug: 27371660
Change-Id: Icbf64c99cad524c080859c1b4ee031af97880568
MXNodeInstance.cpp
73dd808754c641fe798273d356ee38368715fa7b 25-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: use MediaImage2

Bug: 25684127
Change-Id: I2f8b672a191ee4e60c9364e826cae34089ef5f9c
ndroid.mk
MX.cpp
MXNodeInstance.cpp
MXUtils.cpp
MXUtils.h
22cc29a7fd4f8ae4cf2fdc82febaaedb523cb915 23-Feb-2016 Max Spector <mspector@google.com> Revert "Fixing safteynet logging bug from ag/862848 - DO NOT MERGE"

This reverts commit, useless safteynet log, this will NPD first
b3cc78f9c48d85a5580ba69539120fd7b1150e9c.

Change-Id: I8264500d3c4631e01aa6ed2629f3f4d9b409ce6f
MX.cpp
1c9ba65e447104bfcdbe0cb16a9f3cc5bad2da39 23-Feb-2016 Max Spector <mspector@google.com> Merge "Fixing safteynet logging bug introduced in ag/862848" into mnc-dev am: 93edd483f6 am: 032fcf3034 am: c802d2091a
am: 81b6cc61f0

* commit '81b6cc61f0bef255f725ec9e56659d1caba227c2':
Fixing safteynet logging bug introduced in ag/862848
b3cc78f9c48d85a5580ba69539120fd7b1150e9c 20-Feb-2016 mspector@google.com <mspector@google.com> Fixing safteynet logging bug from ag/862848 - DO NOT MERGE

We moved the safteynet logging into OMX::storeMetaDataInBuffers
Bug: 26324358

Change-Id: Ia622cbe8f7b0009b7fa55517f7424ecfb82a51c0
MX.cpp
1a19076c36cbe76a537b5742e96747135b4f0d46 19-Feb-2016 mspector@google.com <mspector@google.com> Fixing safteynet logging bug introduced in ag/862848

We moved the safteynet logging into storeMetaDataInBuffers_l
Bug: 26324358
Change-Id: I2171742b53192ebb71d546bcb8970bb3c68f366f
MXNodeInstance.cpp
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.cpp
ests/OMXHarness.cpp
aef47bf801dcbcb88cec8426c03237c6313da1c2 13-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: allow system property to signal native handle use

Bug: 26782004
Change-Id: I0ca38c25e2886ff260aec441e1d49048c38ff47c
MXNodeInstance.cpp
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.cpp
MXNodeInstance.cpp
28b86916ebd70841594a505fc79bd9fd908fda70 13-Feb-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: Remove OMXCodec object" into nyc-dev
cf3abd4875fd54ba40fccdbd90755d2a5ecfca60 12-Feb-2016 Marco Nelissen <marcone@google.com> Ensure OMX node ids are unique across processes

Change-Id: I2418616a998ad6faa8b22dcd8ac4ef08b9354aa9
MX.cpp
708336fec4e4620dafa32c4b4b2dc3230a120961 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove OMXCodec object

This is no longer used or supported.

Bug: 17108024
Change-Id: I57e5b2368e3df138645ef73121603d19cd5c59ce
ests/OMXHarness.cpp
1900e77bac4276f247f80fd06d19316cac598f57 03-Feb-2016 Marco Nelissen <marcone@google.com> Run codecs in a separate process

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

Bug: 22775369

Change-Id: Ifbcab8a8f2fe77d2567830ac88f0d982e77f7b00
MXMaster.cpp
MXMaster.h
ests/OMXHarness.cpp
260e56c9a17737bf280d776797d6dee411c9b4da 28-Jan-2016 Marco Nelissen <marcone@google.com> Revert "Run codecs in a separate process"

This reverts commit 4f12d94fc26df1d0c7a566792711b8863fd39fe9.

Change-Id: Ic850a950119a45efd3042f40147253b37c328853
ests/OMXHarness.cpp
4f12d94fc26df1d0c7a566792711b8863fd39fe9 16-Dec-2015 Marco Nelissen <marcone@google.com> Run codecs in a separate process

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

Bug: 22775369
Change-Id: Iadd8b6bc2873ddcfaee3e68866642ba74c6949aa
ests/OMXHarness.cpp
fe7df6220dbdd2ada97bf195c542c5e399695ed0 11-Jan-2016 Dan Stoza <stoza@google.com> Revert "Revert "libstagefright: Remove direct access to gralloc""

This reverts commit 4de16e73025bca0d8a094576ebff973319ec4ba4.

Change-Id: I3224132ea4e3556a583b0b40d743a3c60f7a32c7
oftVideoEncoderOMXComponent.cpp
4de16e73025bca0d8a094576ebff973319ec4ba4 08-Jan-2016 Dan Stoza <stoza@google.com> Revert "libstagefright: Remove direct access to gralloc"

This reverts commit 8c953e45f3431f8e1c04f8973fe8bdebf7e61033.

Change-Id: I83b3a7c3edf565cb62ea50332025558b5ea3bf2e
oftVideoEncoderOMXComponent.cpp
8c953e45f3431f8e1c04f8973fe8bdebf7e61033 08-Jan-2016 Dan Stoza <stoza@google.com> libstagefright: Remove direct access to gralloc

Switches from loading the gralloc module directly to using
GraphicBufferMapper.

Change-Id: Ib4f6e0d5b3fd1cb1747a1a78959e9fa8f3c6864a
oftVideoEncoderOMXComponent.cpp
298f3c866c5cdb987d15e1e4fc12692fc971ad63 25-Nov-2015 Wei Jia <wjia@google.com> OMXNodeInstance: check pointers before dereferencing them.

Bug: 25884056
Change-Id: I0c3a717db56d99d3cdf069c1c40a93c4d6391f0b
MXNodeInstance.cpp
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
ests/OMXHarness.cpp
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.cpp
MXNodeInstance.cpp
34e63e9ffe6496d9180c825dc119c1fd1020ef8b 16-Sep-2015 Marco Nelissen <marcone@google.com> Validate resolution and stride

Now that integer overflow protection has been turned on, we need to validate
some values a little earlier.

Bug: 22885421
Change-Id: I5398f3961eaa74f0702511a748b99114840efade
oftVideoDecoderOMXComponent.cpp
69c24d3c6e42472f3e4e155559be100dd6f7121a 14-Sep-2015 Pablo Ceballos <pceballos@google.com> Merge changes from topic 'Bug 19769719'

* changes:
stagefright: Rename mBuf to mSlot
camera: Rename mBuf to mSlot
74adefb32f6694d45416d11b5c3000b404e94506 10-Sep-2015 Robert Shih <robertshih@google.com> Merge "Fix NULL dereferences in OMX.cpp"
fdc6e509ce99682de9b6fbcaeb0f7b66eb4b8d89 10-Sep-2015 Robert Shih <robertshih@google.com> Fix NULL dereferences in OMX.cpp

Bug: 23484160
Change-Id: Ic42bca2a0079e0dd33f1476174e928991eed6265
MX.cpp
1dadfe4fd466b5eab10e5aefa1343e53fbf4cb17 22-Aug-2015 Flanker <i@flanker017.me> fix NPE in freeNode

Bug: 23484160
Change-Id: I634e312d04ba437b6afcf0ede34fc19ea850c944
MX.cpp
c4f9e20b4eedd3faff4e0fe3193d9d74be61297b 03-Sep-2015 Dan Austin <danielaustin@google.com> am ca920aeb: am 021158d9: am 2e2cbaa2: Merge "Enable fsanitize signed-integer-overflow in omx"

* commit 'ca920aeb8d523c1604709016056120036e0c19c4':
Enable fsanitize signed-integer-overflow in omx
021158d9d1546a997a48553e187ea3b5cb9a2bc3 03-Sep-2015 Dan Austin <danielaustin@google.com> am 2e2cbaa2: Merge "Enable fsanitize signed-integer-overflow in omx"

* commit '2e2cbaa256c061dc9207f8bb8a770a2a3107c3de':
Enable fsanitize signed-integer-overflow in omx
64ed43b316718ecc4a70d7d1c5410aaa3c85ef0a 03-Sep-2015 Dan Austin <danielaustin@google.com> Enable fsanitize signed-integer-overflow in omx

Bug: 23752600
Change-Id: I811238cf041e437dcaedef6f43bfefd281d04131
ndroid.mk
6ba10181ea148be7e1bd7f60dbd9830b1579eb1a 22-Aug-2015 Chad Brubaker <cbrubaker@google.com> am 5d929557: am 819b89aa: am 84c1e5a9: Merge "Whitelist *ToPlanar from integer sanitization"

* commit '5d929557d4f990605eac0f5e217df75665e96178':
Whitelist *ToPlanar from integer sanitization
5d929557d4f990605eac0f5e217df75665e96178 22-Aug-2015 Chad Brubaker <cbrubaker@google.com> am 819b89aa: am 84c1e5a9: Merge "Whitelist *ToPlanar from integer sanitization"

* commit '819b89aac84f84d6022a9b3389b7e83a6ee93e37':
Whitelist *ToPlanar from integer sanitization
189f7e4302b261572ceb26f39138a1ad8eb34814 22-Aug-2015 Chad Brubaker <cbrubaker@google.com> am 819b89aa: am 84c1e5a9: Merge "Whitelist *ToPlanar from integer sanitization"

* commit '819b89aac84f84d6022a9b3389b7e83a6ee93e37':
Whitelist *ToPlanar from integer sanitization
55a422a30ffb085ee26d98cab71b785787b8dfae 21-Aug-2015 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 6dd63b23 to mnc-dev-plus-aosp

Change-Id: I52c5738351ed5cad2fbc64272af4eb47b3417dff
ade728d8757feca6017fc09a764d23d46f04cebb 21-Aug-2015 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 6dd63b23 to mnc-dr-dev-plus-aosp

Change-Id: Ie83d181719af1ff2b9fa4d36bc99dea8709231cb
92f9f71ee45a260aed552c18ac5112f7672859ed 21-Aug-2015 Chad Brubaker <cbrubaker@google.com> Whitelist *ToPlanar from integer sanitization

SoftVideoEncoderOMXComponent::Convert*ToPlanar methods use overflow in
value computation when converting between formats. These methods are
safe so whitelist them from unsigned overflow sanitization.
Bug: 23110888

Change-Id: Ia9978b54b0171a51a49723ec50d959808b086124
oftVideoEncoderOMXComponent.cpp
7c7094ec0f20e189551c5534efd171acf77c0e69 12-Aug-2015 Chad Brubaker <cbrubaker@google.com> Enable fsanitize unsigned-integer-overflow in omx

Bug: 23110888
Change-Id: Ifa159e1b87ae627584516d84a36dc3bc88fad5c9
(cherry picked from commit ebe84f078e61ae319df42bed61e1fd862982e549)
ndroid.mk
5915ce01d5aeaa78ca07d2b443366788d284e448 31-Jul-2015 Chad Brubaker <cbrubaker@google.com> Fix benign unsigned integer overflows in loop conditions

This is causing an abort when running with unsigned integer overflow
detection, change the code to no longer do i-- when i = 0.

Change-Id: I0ab786cabb3a3d37fa24a3b8da0c35dd475ca273
(cerry picked from commit b92add32c22656dedfb82d26ccc168c43c92b8eb)
MXNodeInstance.cpp
ebe84f078e61ae319df42bed61e1fd862982e549 12-Aug-2015 Chad Brubaker <cbrubaker@google.com> Enable fsanitize unsigned-integer-overflow in omx

Bug: 23110888
Change-Id: Ifa159e1b87ae627584516d84a36dc3bc88fad5c9
ndroid.mk
a8f5e0c24143299e3b3d722487de7322f7761559 08-Aug-2015 Pablo Ceballos <pceballos@google.com> stagefright: Rename mBuf to mSlot

Bug: 19769719
Change-Id: I224b5fcf9548f067fc36f61595282e671b4bb1db
raphicBufferSource.cpp
raphicBufferSource.h
b92add32c22656dedfb82d26ccc168c43c92b8eb 31-Jul-2015 Chad Brubaker <cbrubaker@google.com> Fix benign unsigned integer overflows in loop conditions

This is causing an abort when running with unsigned integer overflow
detection, change the code to no longer do i-- when i = 0.

Change-Id: I0ab786cabb3a3d37fa24a3b8da0c35dd475ca273
MXNodeInstance.cpp
fd866b3aa0d97375de08f8888b95669026c83361 07-Jul-2015 Wei Jia <wjia@google.com> SimpleSoftOMXComponent: change CHECK to error notification.

SoftAVCDec, SoftMPEG4: fix handling of zero-byte input buffer.

ACodec: do not send empty input buffer without EOS to the omx component.

Bug: 22199127
Change-Id: I0bbcf5778f969ba6e30d0db31770c4289e2b64a4
impleSoftOMXComponent.cpp
dfad5454e0caf46f8732f1415d3b9a76f2a1242e 01-Jul-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: prevent allocating stale buffers for OMX decoders" into mnc-dev
49605e8ab171a2b1f474645d632d3982f5f7b8e6 01-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: fix deadlock and NPE in GraphicBufferSource

Bug: 22202388
Change-Id: I04f2f783ecc0e0c50adf16a666f6d7ab4221e285
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
264bac95912efe121d6a60026612617f04f42966 27-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: prevent allocating stale buffers for OMX decoders

Also fix some issues encountered once using generationNumbers:
- properly account outstanding buffers in MediaSync
- don't release arbitrary frame if attach fails

Bug: 11990461
Change-Id: Icee5ea188ca4eb856138feb5e6ec5d4ee5e44008
raphicBufferSource.cpp
b483c6aa4aacb0ec271b03648fd6eaadc938d995 30-Jun-2015 Chong Zhang <chz@google.com> Merge "ignore buffers that's already removed" into mnc-dev
5419242328f33f4d126a22ef6296c99353f4dfb4 29-Jun-2015 Chong Zhang <chz@google.com> ignore buffers that's already removed

bug: 22005018
Change-Id: I892a0fe77519d5fb996bcb4cc95e0d10e859000c
MXNodeInstance.cpp
c93a13669ce1b5a9e6527b4c86c9d8f5e92be828 26-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: ask for flex-YUV camera buffers for software encoders

Bug: 13222807
Change-Id: I854b73a63cf9239311729598241725d84e8513aa
raphicBufferSource.cpp
oftVideoEncoderOMXComponent.cpp
ec4ed7d541f48d1d0af8f93cd26ec291ca82061b 12-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: relax check of OMX buffer header - again

- move check to after FillBufferDone only.
- add support for NULL graphicBuffer - just in case

Bug: 21773260
Change-Id: Ibf03511f1d04425e29b63fe4e560e0d8ba6ea20e
MXNodeInstance.cpp
9700f5fe4b3becfe858cbf5aa7964296975081bb 13-Jun-2015 Chong Zhang <chz@google.com> fix buffer leak due to unreleased last repeat frame

bug: 21659689
bug: 21473584
Change-Id: I9e3dabd1be33352fdacd38797bc9fce91ecc7ee2
raphicBufferSource.cpp
raphicBufferSource.h
984a54322f7c70bc75e862d91bdd975814872aff 10-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: fix issues with OMX message passing

- added destructor for MessageList so messages are freed
- check if notify has been initialized
- do not call onMessages if there are no messages

Bug: 21659665
Change-Id: Idb4eaa63dc2f8be8b282be79e6234f83a7669481
MXNodeInstance.cpp
5fb8b2987ab96ad65dc4b046616607ece16d6fb3 10-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: fix legacy support for CameraSource

- allocate big enough buffers for native metadata source even in
CameraSource mode
- don't check range when using native metadata mode (and converting
it to GrallocSource) as OMX buffer will be smaller than input
- log allocated vs. OMX reported sizes in OMXNodeInstance logs

Bug: 21708032
Change-Id: I7eeffc5116079e5b368f84980e8e7524260aaccf
MXNodeInstance.cpp
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
MX.cpp
ffd8cbb288f096b53df0392bf40d99b89e34bea7 06-Jun-2015 Chong Zhang <chz@google.com> fix graphic buffer leak with persistent input surface

implement PersistentProxyListener that returns buffers during period
when actual listener is not connected.

also clear old buffer slot in GraphicBufferSource when re-attaching.

bug: 21473584
Change-Id: I3bcf1a208e745397d6cc6ce9aef9e4f5aa604f3c
raphicBufferSource.cpp
raphicBufferSource.h
26a48f304a8754d655e554178ffb6d7ba4c5aac3 04-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for batching OMX events

Bug: 20503131
Change-Id: I762c419ed1245f8b83fb1f6bf61e5557213ca07b
MX.cpp
MXNodeInstance.cpp
ests/OMXHarness.cpp
ests/OMXHarness.h
9847fcefb183e1cb09eb48e17a09577392b0e8f4 03-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: rename VideoGrallocMetadata.hHandle to pHandle

This is so that it can be equivalent to the previously named
VideoDecoderOutputMetaData struct.

Bug: 13222807
Change-Id: I38831e19a76f49cc7e8385c079817c538d18f0ff
raphicBufferSource.cpp
MXNodeInstance.cpp
oftVideoEncoderOMXComponent.cpp
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
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
oftVideoEncoderOMXComponent.cpp
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
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
oftVideoEncoderOMXComponent.cpp
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.cpp
MXNodeInstance.cpp
ests/OMXHarness.cpp
9113c1e619fd78fe53b548180fdc02300d33303d 27-May-2015 Andy Hung <hunga@google.com> IOMX: Clear buffer id for arm32

Initial counter needs to be cleared for ease of debugging.

Bug: 20634516
Change-Id: I4131d759b9cc296bbecf25a53433d42b22ef228f
MXNodeInstance.cpp
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.cpp
d971df0eb300356b3c995d533289216f43aa60de 26-May-2015 Andy Hung <hunga@google.com> IOMX: Add buffer range check to emptyBuffer

Bug: 20634516
Change-Id: If351dbd573bb4aeb6968bfa33f6d407225bc752c
MXNodeInstance.cpp
79608158c2254fe1357959157f2d0c1560a8a6c6 20-May-2015 Chong Zhang <chz@google.com> stagefright: measure max encoder buffer count for persistent surface

bug: 19127604

Change-Id: I9a9b29b527d20f43a5a0188380baf2242bd31507
MXNodeInstance.cpp
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.cpp
MXNodeInstance.cpp
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
MX.cpp
MXNodeInstance.cpp
d291c222357303b9611cab89d0c3b047584ef377 01-May-2015 Chong Zhang <chz@google.com> MediaCodec: implement persistent input surface APIs

Bug: 19127604
Bug: 19489395

Change-Id: Idaf1cc9008016f66903e93907a676f54e342e1a3
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
3b0da19c78f6a61ed343a07f2448b94faafe4c02 18-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: make more warnings errors

Change-Id: I9b1ad60fbfb866dbf9c00843e06553c3eb25c113
ndroid.mk
ests/Android.mk
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
ndroid.mk
rameDropper.cpp
raphicBufferSource.h
impleSoftOMXComponent.cpp
ests/Android.mk
ests/FrameDropper_test.cpp
3409cc3405d5a2553e524b56d831d0218f5b906c 16-Apr-2015 Lajos Molnar <lajos@google.com> am 655084f9: am e7a53499: am 0a45cda6: am 187b196e: Merge changes Ic51e92e9,Ie808aa82,I74f5f4a1

* commit '655084f979b3067cb5a6fd2d4de148b411fbec23':
stagefright: add SoftAVCEnc using libavc
stagefright: add SoftAVCDec using libavc
stagefright: add SoftMPEG2 decoder using libmpeg2
22b3b44ae459974794403ed0f76d95ae43d92985 03-Apr-2015 Venkatarama Avadhani <venkatarama.avadhani@ittiam.com> stagefright: add SoftAVCEnc using libavc

Change-Id: Ic51e92e9d86db21109b8714e822697869e184cd1
oftOMXPlugin.cpp
e5b9b3db87a55d3430f881ba59ba95f7d6ae41d0 02-Apr-2015 Venkatarama Avadhani <venkatarama.avadhani@ittiam.com> stagefright: add SoftAVCDec using libavc

Change-Id: Ie808aa82c624dbbcaeb6b41662c9b7770bc80bd9
oftOMXPlugin.cpp
8f9d9d06ed6c8447c7fd02745b2a22dd4bba8e7e 31-Mar-2015 Venkatarama Avadhani <venkatarama.avadhani@ittiam.com> stagefright: add SoftMPEG2 decoder using libmpeg2

Change-Id: I74f5f4a1e6d7be8df45bcbc83a965111454b97ea
oftOMXPlugin.cpp
9db4d29fe4b113a63f0c1701a067d044c8c596f6 09-Apr-2015 Marco Nelissen <marcone@google.com> am 3f14f569: am de2faabb: am d661654a: am 0958e926: Merge "Log cause of failure to dlopen"

* commit '3f14f5692ab396bfd0193a280311a600abeabeaa':
Log cause of failure to dlopen
6b4d13df54cb7eb605d259c5f3c4a37eb34857cc 09-Apr-2015 Marco Nelissen <marcone@google.com> Log cause of failure to dlopen

Bug: 19782799
Change-Id: Idba3d802debb12bb4986c525bb9bb5e3cec09f7d
oftOMXPlugin.cpp
983e2be81f9ea767ae4d8b19669c1c080ecf58d4 20-Mar-2015 Dan Stoza <stoza@google.com> DO NOT MERGE libstagefright: Stop using IGBC::BufferItem

Switches all uses of IGraphicBufferConsumer::BufferItem (and
BufferQueue::BufferItem) to the BufferItem in libgui.

Similar to I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc, but not a
cherry-pick.

Change-Id: I9b16c81bd3bdacdba86eb8fb9b216b295a44b1cb
raphicBufferSource.cpp
raphicBufferSource.h
8ed8ceda7cfe29e8417142ef460cd70060204459 12-Mar-2015 Dan Stoza <stoza@google.com> libstagefright: Stop using IGBC::BufferItem

Switches all uses of IGraphicBufferConsumer::BufferItem (and
BufferQueue::BufferItem) to the BufferItem in libgui. Depends on
frameworks/native I699ed0a6837076867ca756b28d1ffb2238f7a0d9. This
is a member of I187b3a7d05196b6289596afac8fb9a9d4aebff76, but since
it was split out from the camera change in frameworks/av, they have
to have different change IDs.

Change-Id: I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc
raphicBufferSource.cpp
raphicBufferSource.h
1d15ab58bf8239069ef343de6cb21aabf3ef7d78 05-Mar-2015 Lajos Molnar <lajos@google.com> media: switch to new AMessage handling

Bug: 19607784
Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
raphicBufferSource.cpp
impleSoftOMXComponent.cpp
32580ec89077947274bd161b379ab0410838dd8e 04-Mar-2015 Ying Wang <wangying@google.com> Remove manta support in MNC.

Bug: 19548232
Change-Id: I5fd341c7cf55792c4b2c9a4928f1ad21308c4469
ndroid.mk
9d19e392f61de3e8cd365afa12d7836bd3721602 20-Feb-2015 Bill Yi <byi@google.com> am 935b4750: am 011734f0: Fix clang build error

* commit '935b47504411b6ac69f708ba698a72b7282aada1':
Fix clang build error
011734f0ce7e8b2e3066f90ef51c323ee7d4dea2 20-Feb-2015 Bill Yi <byi@google.com> Fix clang build error

Change-Id: I294903dcf3ce3aa6a3b2f50364067e701a33d327
MXNodeInstance.cpp
37b2b389139ed638831e49708c947863eef631ef 27-Jan-2015 Ronghua Wu <ronghuawu@google.com> stagefright: add support for limiting framerate in GraphicBufferSource

Bug: 19014096
Change-Id: I6de781e4d140a247dfd8fd8f12c3ddd7baa39ad4
ndroid.mk
rameDropper.cpp
rameDropper.h
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
ests/Android.mk
ests/FrameDropper_test.cpp
e6453027baf4c79e95b31aa602b18621e3118423 10-Jan-2015 Lajos Molnar <lajos@google.com> am d8ba6ef1: am 38a97bd7: stagefright: keep alignment restrictions for SoftVideoDecoder

* commit 'd8ba6ef11cb89672ee121ec7f4ee527446aa5dbf':
stagefright: keep alignment restrictions for SoftVideoDecoder
38a97bd7891cb0e16f8127510aa81b1b05df3f17 09-Jan-2015 Lajos Molnar <lajos@google.com> stagefright: keep alignment restrictions for SoftVideoDecoder

Reuse updatePortDefinitions for setParam(PortDefinition).
Allow increasing input buffer size even if size changes.

Bug: 18528130
Change-Id: I62b66d8f1135504dd16ac576046bfc5b5b8cda59
oftVideoDecoderOMXComponent.cpp
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.cpp
oftVideoEncoderOMXComponent.cpp
5a88501c8f677e34afb2043d7e81d8e09d6fa5f4 27-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of e5ba80c5 to lmp-mr1-dev-plus-aosp

Change-Id: Iea12c8a6cabf84584e4a89ad80e298c1f4ea3dd7
d1ad284db3a84fe9f3dc027149b5f2433e3a8589 26-Nov-2014 Lajos Molnar <lajos@google.com> am 20918be9: am b2cf160f: Merge "stagefright: add graceful handling when setting port definition" into lmp-mr1-dev

* commit '20918be9309eda037074388f046c84e187a259c8':
stagefright: add graceful handling when setting port definition
b3f9759c8c9437c45b9a34519ce2ea38a8314d4e 24-Nov-2014 Andreas Gampe <agampe@google.com> Stagefright: Fix unused variables, functions, values

For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
ests/OMXHarness.cpp
643319f60e72a86c180ee839b25c086554e5bd47 25-Nov-2014 Lajos Molnar <lajos@google.com> stagefright: add graceful handling when setting port definition

- don't crash when count of buffers is incorrect, or when the buffer
size decreases.

This allows configuring SW video encoders for smaller than QCIF size.

Bug: 18513091
Change-Id: Ibfcd6b883a892156e408e94fbc329103b9ac09ac
impleSoftOMXComponent.cpp
77e79a509d19ab50b1867fe3903b5a8fae450591 17-Nov-2014 Marco Nelissen <marcone@google.com> resolved conflicts for merge of e78a27ca to lmp-mr1-dev-plus-aosp

Change-Id: If10a9cc17245f95d5e10b1507445abbb4020670e
f888020c6e2735624f2b2a30e72aca24e17b8b4d 14-Nov-2014 Marco Nelissen <marcone@google.com> Update calls to IInterface::asBinder()

to use the new static version.

Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a

Conflicts:
media/libmedia/IAudioFlinger.cpp
media/libmedia/IMediaPlayer.cpp
media/libstagefright/CameraSource.cpp
MX.cpp
102b17b8276f1f364f214f5d943d887f61f71765 14-Nov-2014 Lajos Molnar <lajos@google.com> am 41907c44: am cede28e2: Merge "stagefright: add runtime debug support" into lmp-mr1-dev

* commit '41907c44a597ceb258495715d3dd391fef2907e3':
stagefright: add runtime debug support
f296e2b262d2a8f7c570eaed454a28cca99eb976 19-Jun-2014 Lajos Molnar <lajos@google.com> stagefright: add runtime debug support

Bug: 18285408
Change-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384
MX.cpp
MXNodeInstance.cpp
oftOMXComponent.cpp
f8d051fee37b1a0734e4142072d3053fed8df161 07-Nov-2014 Dan Stoza <stoza@google.com> am 034d6747: am 1609e451: Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev

* commit '034d674721029e3b7e34fe30ee31814c521b62bf':
Add a BufferItem parameter to onFrameAvailable
04f101c35eaa90b1f95939afac30674ec1611e6f 04-Nov-2014 Dan Stoza <stoza@google.com> Add a BufferItem parameter to onFrameAvailable

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

Bug: 18111837
Change-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0
raphicBufferSource.cpp
raphicBufferSource.h
11f437a6665167d8aee6db59df6e4753aa190bf7 22-Oct-2014 Lajos Molnar <lajos@google.com> am edcff417: am 42aae0c4: am f04e8b5e: am 25842048: Merge "stagefright: try to free codec instance if MediaCodec.release hangs" into lmp-dev

* commit 'edcff417bbb2e76245b559e7c9a8b98c2a60e102':
stagefright: try to free codec instance if MediaCodec.release hangs
30358faf33fb9b638257b017fadb4c5f7352d903 22-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: try to free codec instance if MediaCodec.release hangs

Bug: 18033275
Change-Id: If86cd26566d7b75941976f37829bbec619800778
MXNodeInstance.cpp
d7050b75c2ef33d1aabf71cf902f734c44c24639 15-Oct-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of f4147ee9 to lmp-mr1-dev-plus-aosp

Change-Id: I3b66673012989ab3707852b257844f2c3851f753
4fed5e4e7f2eb744b9f2e3c52ec23539256cdbca 14-Oct-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 2edda09a to lmp-dev-plus-aosp

Change-Id: I760286b72fe1ebda3e8b058ca2138cb97fbdb7e1
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
ndroid.mk
oftVideoEncoderOMXComponent.cpp
512e979284de984427e5b2f73b9054ae1b5e2b0a 11-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: support passing GraphicBuffer in metadata buffer

Bug: 17935149
Change-Id: I6bb5dd654e498a7153410afc052c2c8f7f35e44d
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
0f694a12f92a01f95807242320bd65e88c699708 02-Oct-2014 Ronghua Wu <ronghuawu@google.com> stagefright: fix fake-stride handling for H263 SW decoder

- Use outputBufferWidth/Height to init H263 decoder.
- Handle stride change when using fake stride.

Bug: 17773094
Bug: 17326758
Change-Id: I66ce7b9c650383456923d75417c590e3a8a814e7
oftVideoDecoderOMXComponent.cpp
70a250ab52079a4d02ff0687c07a73b2bd39feaf 25-Sep-2014 Ronghua Wu <ronghuawu@google.com> Merge "SoftVideoDecoderOMXComponent: re-config the buffer size when port definition changed." into lmp-dev
d5a2f55034022f2d0425fa0701894d0c4787b726 24-Sep-2014 Ronghua Wu <ronghuawu@google.com> stagefright: fix cropping handling for SoftAVC and SoftMEPEG4.

Bug: 17326758
Change-Id: I9b0c281d92cf1803e275b1768e9edab9404ea577
oftVideoDecoderOMXComponent.cpp
42a9fd4f382253a2fb7fe6761273841c999606af 22-Sep-2014 Ronghua Wu <ronghuawu@google.com> SoftVideoDecoderOMXComponent: re-config the buffer size when port definition changed.

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

Bug: 17326758
Change-Id: I245e2bd1490e810094ca550fdddfa87075bc2056
oftVideoDecoderOMXComponent.cpp
db8556baf10baefd286f7654c822fd0b648e71ef 16-Sep-2014 hkuang <hkuang@google.com> Merge "Optimize the YUV buffer copy a little bit to skip unnecessary operation." into lmp-dev
58c4cf4540e3f23847196bd4b45d82613e238821 12-Sep-2014 hkuang <hkuang@google.com> Optimize the YUV buffer copy a little bit to skip unnecessary operation.

Bug: 17326758

Change-Id: I2505751cb40a53242ceeb3be8f362c3754c2ee3f
oftVideoDecoderOMXComponent.cpp
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.cpp
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.cpp
031be0f358b07732092a4d1bf02fc99f109a63c4 22-Aug-2014 Ronghua Wu <ronghuawu@google.com> Add adaptive playback support to VPX decoder.

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

Bug:16132368
Change-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38
MX.cpp
MXNodeInstance.cpp
7a727021b86c2fb2c9f60af2c999154dce1766eb 18-Jul-2014 Zhijun He <zhijunhe@google.com> stagefright: add error log when create omx component failed

Bug: 16343447
Change-Id: I6854b9b837a141a77ab318953dc002ec5ad5d31d
MX.cpp
e580006cd0067109189975c56395d29309d49883 08-Jul-2014 Jesse Hall <jessehall@google.com> Encoder input buffers don't need HW_TEXTURE usage

Change-Id: Ibb1be86ae99439ccbce3fc2b38d92115083ef7ff
raphicBufferSource.cpp
a5750e0dad9e90f2195ce36f2c4457fa04b2b83e 19-Jun-2014 Mark Salyzyn <salyzyn@google.com> libstagefright: 64-bit compile warnings

Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
raphicBufferSource.cpp
MXMaster.cpp
3b5a6b9fa6c6825a1d0b441429e2bb365b259827 20-May-2014 Harish Mahendrakar <harish.mahendrakar@ittiam.com> stagefright: added support, and SoftOMX decoder, for HEVC

also fixed QuerySupportedProfileLevels in
SoftVideoDecoderOMXComponent.cpp

Bug: 14571712
Change-Id: Ifa3793f7c1b18ac5e8c0a096848c998cabd9e777
oftOMXPlugin.cpp
oftVideoDecoderOMXComponent.cpp
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.cpp
MXNodeInstance.cpp
784e24e386b088c05d653ab482f2e95cb53e3d01 07-May-2014 Andy Hung <hunga@google.com> Remove legacy omx_message variables

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

Change-Id: I94da56bc64f3b46ee1276e93d67b36c1662e2eaf
Signed-off-by: Andy Hung <hunga@google.com>
MX.cpp
9e8eeafe1ea0e88d548270280bcc209dde51781b 21-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Increase max slots from 32 to 64"
1b24cf32e02a1372e57b3a2a432bc0adfe496e6d 16-Apr-2014 Mark Salyzyn <salyzyn@google.com> am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d

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

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

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

Change-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446
raphicBufferSource.cpp
MX.cpp
oftVideoDecoderOMXComponent.cpp
2475264264b51a7592c5b2e4cd6cfdaddba16644 10-Apr-2014 Dan Stoza <stoza@google.com> BufferQueue: Increase max slots from 32 to 64

Increases NUM_BUFFER_SLOTS from 32 to 64 and changes the mask
returned by IGBC::getReleasedBuffers from 32 to 64 bits.

Bug: 13174352
Change-Id: I1c41256ffbc30abcf9f7b0b5fcf53da40462da28
raphicBufferSource.cpp
dd01ce9c28e37d4556606f481faeec032a1fe04e 11-Apr-2014 Mark Salyzyn <salyzyn@google.com> am 52a861d2: Merge "warnings be gone."

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

(cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36)

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

Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
MX.cpp
MXNodeInstance.cpp
oftOMXComponent.cpp
oftOMXPlugin.cpp
cffcba5681be302b1c1b40747a1305f2c2a667c3 04-Apr-2014 Dan Stoza <stoza@google.com> Merge "Remove deprecated BufferQueue constructor"
1143ca58e659ded1e851eb12813793ad8ac0563e 18-Mar-2014 Glenn Kasten <gkasten@android.com> am 098b28fc: am 64727dd7: Merge "More precise 32-bit only for libstagefright/ subdirectories"

* commit '098b28fc88b3d96eada2f9db318d9c38c70cf674':
More precise 32-bit only for libstagefright/ subdirectories
098b28fc88b3d96eada2f9db318d9c38c70cf674 18-Mar-2014 Glenn Kasten <gkasten@android.com> am 64727dd7: Merge "More precise 32-bit only for libstagefright/ subdirectories"

* commit '64727dd7c8513b6c9ddcce2f4b305618bb76121c':
More precise 32-bit only for libstagefright/ subdirectories
dc2b47aee47ad8690fd8dc663c6602b7efa3bbac 17-Mar-2014 Glenn Kasten <gkasten@android.com> More precise 32-bit only for libstagefright/ subdirectories

Change-Id: Ie4e8f9ccd834b902287d3452cc9fa739809ddb68
ests/Android.mk
43d3f40b389904a2bdf4fd4ef8e8b914cf5a4b67 14-Mar-2014 Chong Zhang <chz@google.com> am bd77a1b5: am cf49a51f: fix codec buffer leak in error handling when timestamp goes backward

* commit 'bd77a1b5115d355eb1e2bc270fe9aa4ceb3d8e65':
fix codec buffer leak in error handling when timestamp goes backward
29c291f2337561b1f8c2f79bc34339b0b9c28b9c 14-Mar-2014 Chong Zhang <chz@google.com> am a671f943: am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" into klp-dev

* commit 'a671f943b72155460f0c94cdd92d829cb059b571':
Cap pts gap between adjacent frames to specified value
28836548337865536788799430e9fae77e996422 14-Mar-2014 Chong Zhang <chz@google.com> am 1e001f92: am 1c608ab3: save mGraphicBuffer pointer even when we\'re suspended

* commit '1e001f92e748de00a3e20effa464d59d75a746b3':
save mGraphicBuffer pointer even when we're suspended
5205977929c8a63d3bba026c6bd7b4cc1e236627 12-Mar-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Bug: 13415624
Change-Id: I1a824d09ce582ee54753683d30cdc23813c13b6b
raphicBufferSource.cpp
raphicBufferSource.h
cf49a51ff59c3cd228d178d23252ac0d39d5a893 15-Feb-2014 Chong Zhang <chz@google.com> fix codec buffer leak in error handling when timestamp goes backward

don't touch codec buffer if we decided to drop a frame with bad pts

Bug: 11971963
Change-Id: I9b4c56210f64258f1be257b14184381a1133e0d6
(cherry picked from commit b63d2433350d56bda9f3477549086c90bb6d535e)
raphicBufferSource.cpp
c69bc40a347c411751cb082b3eb4a82d976a68ec 11-Mar-2014 Chong Zhang <chz@google.com> Merge "Cap pts gap between adjacent frames to specified value" into klp-dev
8bd4d16aa5636e98522c07ae31236420788aa749 11-Jan-2014 Chong Zhang <chz@google.com> Cap pts gap between adjacent frames to specified value

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

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

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

Bug: 11971963
Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7
(cherry picked from commit 94ee4b708acfa941581160b267afb79192b1d816)
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
1c608ab33acab82d4a87f1abedcc99a623d1b53a 18-Jan-2014 Chong Zhang <chz@google.com> save mGraphicBuffer pointer even when we're suspended

Bug: 12609966
Change-Id: Ifd41fd973876da69039113fcaeacdccf39472b37
(cherry picked from commit 49270665e7a20cd120724fc388da8b166ff0b4f1)
raphicBufferSource.cpp
8dcc81a2fdb35905347cf7ef46d198afa7ae79cd 04-Mar-2014 Jesse Hall <jessehall@google.com> Add empty onSidebandChanged callbacks to BufferQueue::ConsumerListeners

Change-Id: I94384aefd47b3a581cbdc3905ba9fdbc88d3d06c
raphicBufferSource.cpp
raphicBufferSource.h
b4350af65dd66ed57f1ff79b1b426507f0e73b7b 04-Mar-2014 Lajos Molnar <lajos@google.com> Merge "Opus Matroska support in OpenMax"
bf927f8ec7979f2b64331c2b2f12a6a5dba05bca 29-Jan-2014 Vignesh Venkatasubramanian <vigneshv@google.com> Opus Matroska support in OpenMax

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

Change-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc
Note: This CL is part of adding Opus support to Android.
oftOMXPlugin.cpp
ests/OMXHarness.cpp
dc6ac201032d0f6ad0c8149ae2f009ec38693025 22-Feb-2014 Chong Zhang <chz@google.com> Merge "support for time lapse/slow motion when using SURFACE source"
4cc224aca3f61a3d4cb4573a620dd6b48354b010 19-Feb-2014 Chong Zhang <chz@google.com> Merge "fix codec buffer leak in error handling when timestamp goes backward"
2c9c8cba8562cc3a27532e4cd348912cc78d8d98 11-Feb-2014 Chong Zhang <chz@google.com> support for time lapse/slow motion when using SURFACE source

Bug: 13032650
Change-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
b63d2433350d56bda9f3477549086c90bb6d535e 15-Feb-2014 Chong Zhang <chz@google.com> fix codec buffer leak in error handling when timestamp goes backward

don't touch codec buffer if we decided to drop a frame with bad pts

Bug: 11971963
Change-Id: I9b4c56210f64258f1be257b14184381a1133e0d6
raphicBufferSource.cpp
def582e93022fa5eb7a64d4a11c15598afc0db86 12-Feb-2014 Andreas Huber <andih@google.com> fix the OS X builds until we can fix compiler warnings that apparently

trigger only on that platform...

Change-Id: I9555d7e2efbe3e349e8af60528b7b9d131a257e3
ndroid.mk
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
ndroid.mk
raphicBufferSource.cpp
MX.cpp
MXNodeInstance.cpp
oftOMXComponent.cpp
oftOMXPlugin.cpp
ests/Android.mk
1d6fa7af1288b550faabe4ec2cf98684236723db 11-Feb-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 566be7c3 to master

Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
377b2ec9a2885f9b6405b07ba900a9e3f4349c38 03-Feb-2014 Kévin PETIT <kevin.petit@arm.com> Make frameworks/av 64-bit compatible

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

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

Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
MX.cpp
ests/OMXHarness.cpp
72cecca17d735db6532c45f0a7e10c47ee6f065a 26-Dec-2013 Chong Zhang <chz@google.com> Change StagefrightRecorder to use MediaCodec

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

Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
ests/OMXHarness.cpp
94ee4b708acfa941581160b267afb79192b1d816 11-Jan-2014 Chong Zhang <chz@google.com> Cap pts gap between adjacent frames to specified value

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

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

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

Bug: 11971963
Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
49270665e7a20cd120724fc388da8b166ff0b4f1 18-Jan-2014 Chong Zhang <chz@google.com> save mGraphicBuffer pointer even when we're suspended

Bug: 12609966
Change-Id: Ifd41fd973876da69039113fcaeacdccf39472b37
raphicBufferSource.cpp
892e1b9ab055075ba9036fb7dd6404e9e0f2677a 08-Nov-2013 Andreas Huber <andih@google.com> Back to the old way of making sure that no more buffers are submitted

to the component while in executing->idle state.

Change-Id: Ia207f0a112025ed0e2c4d62f404afbbfa694cbab
related-to-bug: 11557463, 11573543
raphicBufferSource.cpp
51ac2d6451b8614aaad83e5bd29ccb7a3fc4651c 08-Nov-2013 Andreas Huber <andih@google.com> Merge "Properly handle executing->idle in GraphicBufferSource" into klp-dev
5572b3afe3e63110ef9e6d228112ca7cbfac866b 07-Nov-2013 Andy McFadden <fadden@android.com> Replace assert with error message

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

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

Bug 11557463

Change-Id: I76e53ff08924bca81afb6980df8e59a6012ff8fe
raphicBufferSource.cpp
ad3b7e8d40bf1c97347f1538d30bba78ca371f67 07-Nov-2013 Andreas Huber <andih@google.com> Properly handle executing->idle in GraphicBufferSource

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

Change-Id: I332be254a1faf94902c77b5792a373ab447e44d3
related-to-bug: 11573543
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
bdfd4885aa4d7b3f3f591118927a3f4aec593096 23-Oct-2013 Andy McFadden <fadden@android.com> Check for NULL buffer in repeat-latest

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

Bug 10607920

Change-Id: Ied036004425f046fcf9c26303823681f3fddb99e
raphicBufferSource.cpp
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.cpp
MXNodeInstance.cpp
a61285dcf1da8a2cf40c499ee3a7b9fc4d74ac58 31-Jul-2013 Andreas Huber <andih@google.com> Optionally repeat the previously submitted frame to the encoder

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

Change-Id: I282f1b726dfe5646b178d7858d6f5d4f5a264fde
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
89a70f71cef61d10437b3901e8efc1f082a857c5 07-Aug-2013 Lajos Molnar <lajos@google.com> Merge "IOMX: add updateGraphicBufferInMeta method for metadata mode"
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.cpp
MXNodeInstance.cpp
910813bd66eaf0f6a72769c9b3fa9830dd100a19 01-Aug-2013 Mathias Agopian <mathias@google.com> fix fallout from binderizing BufferQueues consumer side

Change-Id: I626bac6df4fc3d8478046193f06ecc7ea60dd3a8
raphicBufferSource.cpp
92cb8f928dc9e237c356c942d10b5c0c1e04b2ae 25-Jul-2013 Andy McFadden <fadden@android.com> Update error message

The color format used for surfaces has two different names. The
one in the error message is the "native" name, which doesn't mean
anything to external developers.

Change-Id: Ic0561f4ad12970b0e0a60bd17b4e3997af1a9f0e
MXNodeInstance.cpp
ba812e3b3ca0a0c9459fe29bbc211c9a73313b8b 23-Jul-2013 Andy McFadden <fadden@android.com> Don't abort on unusual state transition

The state transition check was too strict, and we were crashing
mediaserver inappropriately.

Bug 9819944

Change-Id: I1482ed1cfee37088d4893ee81cf1b2b950d2e930
raphicBufferSource.cpp
cd63212dedc29d72d4746a4070d018fdbca316a9 20-Jul-2013 Mathias Agopian <mathias@google.com> Merge "update to new Consumer APIs"
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
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
5e1f08b3917ac7900f8a11118afb7e8bf3e61c64 17-Jul-2013 Mathias Agopian <mathias@google.com> update to new Consumer APIs

Change-Id: I3c5d4be2a2e8783fbf98b3e268fd02658f71dc7d
raphicBufferSource.cpp
656e86250cd68f7f362c50a4bc92a865e9deacbe 28-Jun-2013 Andy McFadden <fadden@android.com> Pass additional arg to acquireBuffer calls.

Bug 7900302

Change-Id: I30b9cca783e0a48f77035b745b7d5e20edf10f27
raphicBufferSource.cpp
94705aff3c9eef58cbb72ec6fe5d2dcfd9481646 24-Jun-2013 hkuang <hkuang@google.com> Adds VP9 decoding support for stagefright.

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


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


VP9 decoding test will be added to cts repo later.
oftOMXPlugin.cpp
ests/OMXHarness.cpp
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>
ndroid.mk
oftVideoDecoderOMXComponent.cpp
d030447b617105b31bf3013e5e4b39d422b53b77 15-May-2013 Lajos Molnar <lajos@google.com> stagefright: BufferProducer updates

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

Change-Id: I30ee3158cf40fb10bbd085241646d5f1128ee480
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
raphicBufferSource.cpp
raphicBufferSource.h
1b4ca5cebd7f42a8f8842e45bfabe19001e9a435 20-May-2013 Andreas Huber <andih@google.com> Avoid a deadlock during EmptyBufferDone

The deadlock happens withen in the case where we use an OMX encoder with a
GraphicBufferSource.

Bug: 8329090
Change-Id: Icec58bb85ff3839ad1a2e3eca02fa9d6d133ca45
MXNodeInstance.cpp
e2dfa5a4ea3459b155b4b403b7dafe2116d960d4 17-May-2013 Mathias Agopian <mathias@google.com> Merge "update to Fence::waitForever() API change" into jb-mr2-dev
d76442421eadfa73f2f3a9e50f6caf65b0dd1ce9 17-May-2013 Mathias Agopian <mathias@google.com> update to Fence::waitForever() API change

Bug: 8988871
Change-Id: I24a2620d356f3bb6207ed834c79fd3e48b429695
raphicBufferSource.cpp
324143b1531328bc4e53c6cbd962c9a457d73707 16-May-2013 Andy McFadden <fadden@android.com> Adjust timestamp scale

BufferQueue item timestamps are in nanoseconds, MediaCodec buffer
timestamps are in microseconds. Adjust.

Bug 8988357

Change-Id: Ib12824d7eea0316a14543c756e3a127c0866db6b
raphicBufferSource.cpp
raphicBufferSource.h
d8754298b576aca4e85a059ea7b7e8f7a9502226 19-Apr-2013 Jamie Gennis <jgennis@google.com> OMXNodeInstance: actually fix OMX_GetExtIndex logging

Bug: 8538872
Change-Id: I228746e8eb502af4bba4054caa4d8569fab35025
MXNodeInstance.cpp
6efa0c06acb4bdcf9c1fb1dbb4beee254e040848 12-Apr-2013 Jamie Gennis <jgennis@google.com> Merge "OMXNodeInstance: fix OMX_GetExtensionIndex logging" into jb-mr2-dev
ecba7488c5cceaacef95836b1b476433451e7761 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
ndroid.mk
ests/Android.mk
ce18d7d85a78ac6642624fef1b5831eff4c72d56 10-Apr-2013 Jamie Gennis <jgennis@google.com> OMXNodeInstance: fix OMX_GetExtensionIndex logging

This change fixes the logging of OMX_GetExtensionIndex errors. Under certain
circumstances these errors are not harmful and should not be logged.

Bug: 8538872
Change-Id: I19a13d29ca6263454a9a7a8be205e10363725f31
MXNodeInstance.cpp
0c37f9d1320bb87fd242f9425c67dacd6ce20112 11-Mar-2013 Andy McFadden <fadden@android.com> GraphicBufferSource fixes

Various fixes:
- Set the maximum number of BQ buffers we're allowed to
acquire equal to the actual number of codec buffers. That
way we keep the codec as full as possible, and never try to
acquire more than we're allowed from the BufferQueue.
- Actually use "end of stream sent" flag.
- Name the BufferQueue (for debug messages).

Bug 8359403

Change-Id: I3b8c1f679bbebf6a89e623e13ca029eda7f657ba
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
ba6218eae3dbcf3f962b3561b26374a214dbf5e2 05-Mar-2013 Andy McFadden <fadden@android.com> Correct MediaCodec + Surface behavior

Assorted tweaks:
- Allow signalEndOfInputStream() before ACodec is in Executing
state (added message to two more states).
- Return an error if signalEndOfInputStream() is called a second
time on the same stream.
- Require AndroidOpaque color format in createInputSurface().
- Disallow dequeueInputBuffer() after an input surface has been
created (boolean flag in MediaCodec tracks it).
- Discard input surface when encoder is re-configure()ed (drop
OMXNodeInstance's ref when we go back to Loaded).

Bug 7991062

Change-Id: Iff30f3036e14eb5a2f6536910dcf11aba33031ee
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
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
ndroid.mk
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
b6cd3797b010e0de3366e062f590fcb98c5f81bf 12-Feb-2013 James Dong <jdong@google.com> Add OMX.google.vpx.encoder

Change-Id: I843e6e542533884a94e105e1cb56f16f0440af61
oftOMXPlugin.cpp
1c80821b0720175478981ac43e7ca9567b58b7c5 18-Dec-2012 Marco Nelissen <marcone@google.com> Make codecs reconfigurable

Change-Id: I3dd46cb4401493becbf6152f4dcd5a8f1e9a0b44
impleSoftOMXComponent.cpp
2ed5cf016c1b45426ae25ab105e02ff4bb992f28 15-Nov-2012 Marco Nelissen <marcone@google.com> Add GSM 6.10 decoder

Supports Microsoft frame packing only, since that's what the sample
file used.
b/6620569

Change-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d
oftOMXPlugin.cpp
fa0e033ab5a0ab5d96e90c9f6d4d53bedc74514b 02-Oct-2012 Andreas Huber <andih@google.com> ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.

Change-Id: Ia31eb0940b02581327a8bf51af6df135f9ab6de3
related-to-bug: 7266324
ests/OMXHarness.cpp
51d7547944967d1157b7fe18e1fb8f7ee6810412 07-Aug-2012 Andreas Huber <andih@google.com> Only emit padding at the end of the stream in the aac and mp3 decoders

if we actually discarded content at the beginning of the stream.

Change-Id: I1e79835bb3a02350060a137b94f85f2c90f4a12b
ests/OMXHarness.cpp
45dfb6ae94b33eea04d74afa378c1664e884f09a 06-Jul-2012 Haynes Mathew George <hgeorge@codeaurora.org> Synchronize access to OMX class member variables

- Protect access to mLiveNodes KeyedVector member variable in freeNode function

Change-Id: Ic86844aabc2bc897ffb7fc91cd1f54254f5e29fe
MX.cpp
3d51d5cb53cc630709a0ba78d0e60501a675f2d5 13-Jun-2012 James Dong <jdong@google.com> Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/

Change-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26
related-to-bug: 6647465
ODULE_LICENSE_APACHE2
OTICE
ests/MODULE_LICENSE_APACHE2
ests/NOTICE
2f74ef3cdc192f817ee1121f41765f0852c1d81e 30-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> OMX IL wrapper for FLAC encoder

Add wrapper around libFLAC for FLAC encoding in OpenMAX IL.

Declare FLAC encoder in OMX component roles.

Bug 5525503

Change-Id: I19bbce41c216870669d09365693f4ea89f8bc0f7
oftOMXPlugin.cpp
b78ff5fb6f56c679bce936078180ce61a1e97288 01-May-2012 Andreas Huber <andih@google.com> Fix assertion triggered when mediaserver dies at roughly the same

time that a client attempts to explicitly free an OMX node.

Change-Id: I767e6af402801357da20b328611cc7cddeed0260
related-to-bug: 6012750
MX.cpp
1700744ae0ce2fcf722816453ae0af2cd5646458 24-Apr-2012 James Dong <jdong@google.com> Software MPEG4/H263 video encoder is now OMX-based

o related-to-bug: 6401068

Change-Id: If8eccea060f38e42ad31eb6e91aaa832e67c5559
oftOMXPlugin.cpp
5c61b361d1c55a93a215cfb2c325b4987f57f1c5 29-Mar-2012 James Dong <jdong@google.com> Software AVC encoder is now OMX-based

o related-to-bug: 6383440

Change-Id: I0b1ae50a704b0979857ea447585eabe86602149a
oftOMXPlugin.cpp
ecdd39c5af016e2fa57cbfd837aa670b706dabd3 29-Mar-2012 Andreas Huber <andih@google.com> Implementation of a raw audio "decoder".

Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
oftOMXPlugin.cpp
559bf2836f5da25b75bfb229fec0d20d540ee426 28-Mar-2012 James Dong <jdong@google.com> AV Android make files changes

o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc
o remove some runtime dependencies to libandroid, libandroid_runtime, etc

Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
ndroid.mk
ests/Android.mk
3ee26944b082def647fe5bb2b75116ffb0267059 24-Mar-2012 James Dong <jdong@google.com> Remove JNI in LOCAL_C_INCLUDE from non-JNI related Android.mk files.

o related-to-bug: 6214141

Change-Id: Ic88d1732b3e014af47532a0809e01f6086e8464d
ndroid.mk
ests/Android.mk
cc3190bcd4bd9321a68fb726b055c45b35229ec1 16-Mar-2012 Andreas Huber <andih@google.com> Remove obsolete OMXComponentBase class

Change-Id: I701ff5a57b0ab49cc772c4f82d03b5005e54ec6f
ndroid.mk
MXComponentBase.cpp
MXComponentBase.h
6c6b4d0d2b98a7ceee8b697daaf611f8df3254fb 12-Mar-2012 James Dong <jdong@google.com> Switched to use the header files in /frameworks/native
and deleted the duplicate header files in /frameworks/base

o related-to-bug: 6044887

Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
ndroid.mk
MXMaster.h
MXNodeInstance.cpp
oftOMXPlugin.h
ests/Android.mk
f1d5aa162c02a16b7195a43a9bcea4d592600ac4 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
MX.cpp
MXComponentBase.cpp
MXMaster.cpp
MXNodeInstance.cpp
ests/Android.mk
ests/OMXHarness.cpp
914b33354be650a5213dd545ace49c6e81828043 02-Feb-2012 James Dong <jdong@google.com> Merge "Removed a loop for buffer lookup"
928170837b9dec2b90f7a01b85182a8b00b45972 02-Feb-2012 James Dong <jdong@google.com> Removed a loop for buffer lookup

o used the nInputPortIndex and nOutputPortIndex from header instead
of assuming that the # of ports == 2

Change-Id: I4b615912b088b4e2bac9c00e89986e811a5c58bb
impleSoftOMXComponent.cpp
83f70f4472e9b0cacc5d372eddfcef4b02662d10 01-Feb-2012 Andreas Huber <andih@google.com> The AMR WB software encoder is now an OMX component.

Change-Id: Iebfb2696783a0163369ba4e8ef72e19ee76ad893
oftOMXPlugin.cpp
252353088a5ebf8508fbc01439ff417805ef1417 31-Jan-2012 Andreas Huber <andih@google.com> The software AMR NB encoder is now an OMX component.

Change-Id: I890eab052a7c36409b8b694c964884e28dd8d8fc
oftOMXPlugin.cpp
2af955b7437ac5345d75a5e528ebbb749667af7e 01-Feb-2012 James Dong <jdong@google.com> Merge "add tests module tag to omx_tests"
8a0f85fec2e28a97ba8fdda89c2a9b957098c114 31-Jan-2012 James Dong <jdong@google.com> add tests module tag to omx_tests

Change-Id: I5dcb5187f09a7ae980ac5857b7ade81001d459f8
ests/Android.mk
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.cpp
2b1892db4a2ab47bfc09e59a4c11751aea99e4ea 26-Jan-2012 Andreas Huber <andih@google.com> The software AAC encoder is now an OMX component.

Yay.

Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
oftOMXPlugin.cpp
29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
MXMaster.cpp
MXNodeInstance.cpp
oftOMXPlugin.cpp
ests/OMXHarness.cpp
5ff1dd576bb93c45b44088a51544a18fc43ebf58 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
MXNodeInstance.cpp
df64d15042bbd5e0e4933ac49bf3c177dd94752c 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
ests/OMXHarness.cpp
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
MX.cpp
MXNodeInstance.cpp
impleSoftOMXComponent.cpp
oftOMXPlugin.cpp
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.cpp
MXNodeInstance.cpp
078cfcf7cce9185ec7559910d08b0bc02bfc88a3 15-Sep-2011 Andreas Huber <andih@google.com> Various improvements to nuplayer playback

- Drastically cut down the number of times we supply the AudioSink with data
by estimating the time until the sink would run out of data and then scheduling
a refill in advance of that.

- Use a dedicated looper for video decoders since they are currently taking
too long to return from OMX_FillThisBuffer (bug 5325201)

- Revise thread priorities for the OMX dispatcher and software codecs, instead
of running them at ANDROID_PRIORITY_AUDIO, they now only run at
ANDROID_PRIORITY_FOREGROUND

- Since threads created by pthread_create inherit all of the parent threads
attributes including thread priority, briefly reset thread priority to
ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then
restore it.

Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
MX.cpp
impleSoftOMXComponent.cpp
2edd41583bb8c2b90c332980e0d1c34ae9ede34e 22-Aug-2011 Chih-Chung Chang <chihchung@google.com> Merge "Remove useAndroidNativeBuffer(2) warning message."
2e17686223bad35101c23083dc79f1d12f3ff429 18-Aug-2011 Chih-Chung Chang <chihchung@google.com> Remove useAndroidNativeBuffer(2) warning message.

Change-Id: I3e9765e7271d80fda302e521501720bf8c13e5c7
MXNodeInstance.cpp
a0dac9e24ae7520cb7d7f0505bf0936bffbcd047 12-Aug-2011 Jamie Gennis <jgennis@google.com> Stagefright: fix a compiler warning

Change-Id: Ia6b2027dfe80960450156d918bdd7fe1567cafea
MXNodeInstance.cpp
673aebfc7e6e8d38ad29a66d68c71ea8e9121eb1 27-Jul-2011 Iliyan Malchev <malchev@google.com> libstagefright: add destroyOMXPlugin and use C linkage for symbols

Add a destroyOMXPlugin() to complemenet createOMXPlugin(). Since the latter is
an opaque call into a library, it is not safe to assume that the object thus
returned may be destroyed by calling delete. This patch will call
destroyOMXPlugin() in libstagefrighthw.so, if the symbol is defined there.
Otherwise, it will default to a delete as before.

Also, prefer C linkage for the symbol names. Using mangled C++ symbols is not
very safe and makes it hard to grep for those symbols through the code. We
attempt to locate createOMXPlugin as a C symbol then try it as a mangled C++
one. We only use C linkage for destroyOMXPlugin since this symbol is new.

Change-Id: Ied23c910486856a0f18056df049c871234797c5c
Signed-off-by: Iliyan Malchev <malchev@google.com>
MXMaster.cpp
2e460c5b7f48aaabff33698ba6b11b04906eefa8 19-Jul-2011 James Dong <jdong@google.com> Remove PV AVC decoder

Change-Id: Icf056c852f95b5d6a07473728ddbf5b641990381
oftOMXPlugin.cpp
40d76d70587ed095692615b0a1b657da861f7ffc 15-Jul-2011 Glenn Kasten <gkasten@google.com> Bug 5031179 possible fix for assert in join

Change-Id: Id3a24c152579b8fdcfb9d66a11aa11579406a7ec
MX.cpp
0ee92ffd74ac8594b68aa3c73b341dc0c6330b3f 14-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "OMX CallbackDispatcher uses C++ Thread not pthread"
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.cpp
5e0067b486c3862316aa1f293cf9690c0cf54bda 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
ndroid.mk
078f12ed36b71a5fa7654b774369090b98cc684c 24-Jun-2011 Andreas Huber <andih@google.com> Update paths to test content used to run the omx_tests.

Change-Id: I23201ac1541df032426cb05b9dc872b28882f992
ests/OMXHarness.cpp
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.cpp
81eacb8bbf331501bb68c7f1fdd7ca1811b03f8f 21-Jun-2011 Andreas Huber <andih@google.com> Log an error instead of asserting if the OMX plugin reports an error.

Change-Id: I2bae80706495c5c5d4257cd607c2141c070c5ff9
MXMaster.cpp
b8e9897b8ad5d722e424d7a7e256153307ecbd93 15-Jun-2011 Glenn Kasten <gkasten@google.com> Remove unneeded #include <sys/resource.h>

Suggested in code review for previous change.

Change-Id: Ic3225b240367dc6c9bf56fb4498fb8a0f9f806ec
MX.cpp
86106f8b0641444c97a39e9788eeef55ab2a2ac6 14-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4608375

Update priority and policy together for audio threads

Change-Id: Ib3b07b32586c222c4aacbf23414ae8b05db502be
MX.cpp
0c1bc742181ded4930842b46e9507372f0b1b963 01-Jun-2011 James Dong <jdong@google.com> Initial-checkin for ON2 Software AVC/H264 decoder

o when neon is present, the performance gain of On2 AVC software decoder
over PV software decoder is more than 30%.

o In addition, it fixes some known PV software decoder issues like missing
output frames

o allow both pv and on2 software avc to be available for easy comparision

o change output frames from 8 to 16

Change-Id: I567ad1842025ead7092f0c47e3513d6d9ca232dd
oftOMXPlugin.cpp
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.cpp
oftOMXPlugin.cpp
f2af5a2c607e71ff4cd39da28b077c0a68b206fe 24-May-2011 Andreas Huber <andih@google.com> Make sure the software mpeg4 decoder supports multiple input frames per input buffer

to enable faster throughput in ACodec.

Change-Id: I6f6a1c70d9446f9d52c3df257b2d22358b0e71f4
oftOMXPlugin.cpp
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
ndroid.mk
MXMaster.cpp
MXMaster.h
MXNodeInstance.cpp
MXPVCodecsPlugin.cpp
MXPVCodecsPlugin.h
impleSoftOMXComponent.cpp
oftOMXComponent.cpp
oftOMXPlugin.cpp
oftOMXPlugin.h
ests/OMXHarness.cpp
a488c7daf91357611fcdbff7a32e5a73ec630070 28-Apr-2011 Andreas Huber <andih@google.com> Fix omx_tests to no longer refer to test files that are no longer available.

Also make sure that a seek beyond EOF does not just seek the final syncframe.

Change-Id: I0a58490ef719ce095a94f1d6909c60eb20074a0b
ests/OMXHarness.cpp
0c03d5c7c2fa4d17f7f5159e3fddd2adf6bfc923 28-Mar-2011 Andreas Huber <andih@google.com> Ignore OMX codec messages once we're in ERROR state.

Change-Id: I2bdf58ed705a641be1f3aec89fa41cada6acfc96
related-to-bug: 4175573
MXNodeInstance.cpp
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.cpp
MXNodeInstance.cpp
43e5eca7048a3b7b3ee0223b7f3cbd837ed10ae5 25-Jan-2011 Andreas Huber <andih@google.com> More instrumentation to track down the hardware decoder not shutting down bug.

Change-Id: I3f31b6fdf5c90b436567bbce578dcbc4666ed7c2
related-to-bug: 3362836
MXNodeInstance.cpp
14c858e80dfe2030c9f343dc0c6e2048e030731b 10-Jan-2011 James Dong <jdong@google.com> Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object

bug - 3336424

Change-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89
MX.cpp
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
ndroid.mk
0a5ca668c6f7d45706e9aec4a1dfec0aacc6d233 16-Nov-2010 Andreas Huber <andih@google.com> Remove all traces of legacy renderer support in stagefright.

Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
MX.cpp
MXRenderer.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.cpp
MXNodeInstance.cpp
8ac0cb9dc8a46f9b2badabc91cb5f7871e2215a9 18-Oct-2010 Jean-Baptiste Queru <jbq@google.com> Merge fb474872 from gingerbread-plus-aosp

Change-Id: I1bbb845a86a7b7df44ea175df3af22e5f47c44e3
56cfa2376ae87cba730ea7ce4a9e0ca4f0d07627 15-Oct-2010 Andreas Huber <andih@google.com> Include the framework copy of the OpenMAX headers instead of referencing external/opencore.

Change-Id: I762f59acf5e1f770e4d7c2d89af362bfffebefa6
related-to-bug: 3101573
ndroid.mk
ests/Android.mk
9fb467e5c50795afda3675efd5ba0e5cd552fd75 22-Sep-2010 Andreas Huber <andih@google.com> Raise the amount of memory set aside for omx buffer allocations in the test harness to accomodate the new requirements of some codecs.

Change-Id: I73974a336852974e2fb95a9626c1a96f296449eb
ests/OMXHarness.cpp
079cc2e29823e16ff775cebb5709bcb3a24a809d 22-Sep-2010 Andreas Huber <andih@google.com> Merge "Raise the amount of memory set aside for omx buffer allocations in the test harness to accomodate the new requirements of some codecs." into gingerbread
3cc8eb61f0931b53e4a6ea5346ac5720d01161d8 22-Sep-2010 Andreas Huber <andih@google.com> Raise the amount of memory set aside for omx buffer allocations in the test harness to accomodate the new requirements of some codecs.

Change-Id: I0650af10acb3097e9f03c6079992305540b6bc86
ests/OMXHarness.cpp
979d233237271c2acc0c3902508e208fce16a1c9 18-Sep-2010 Andreas Huber <andih@google.com> am 7bc600cb: am f98197a7: Make sure the message dispatcher stays around until after OMX_FreeHandle is finished in case it posts some more messages during shutdown. Clear the source as soon as possible in OMXCodec\'s destructor.

Merge commit '7bc600cb08394e60eef984843976d4f79e5d94e8'

* commit '7bc600cb08394e60eef984843976d4f79e5d94e8':
Make sure the message dispatcher stays around until after OMX_FreeHandle is finished in case it posts some more messages during shutdown. Clear the source as soon as possible in OMXCodec's destructor.
00998fbb52dfa78ac3a4b3706d64fc612926bfbc 17-Sep-2010 Andreas Huber <andih@google.com> Make sure the message dispatcher stays around until after OMX_FreeHandle is finished in case it posts some more messages during shutdown. Clear the source as soon as possible in OMXCodec's destructor.

Change-Id: I9c896cf07dea0c3201b6f074dbaf27e6d85cd784
MX.cpp
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.cpp
MXNodeInstance.cpp
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.cpp
MXNodeInstance.cpp
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.cpp
MXNodeInstance.cpp
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
MX.cpp
f0128187491b4d65b9c2620d46f5af807f63d728 07-Jul-2010 Andreas Huber <andih@google.com> Make sure the OMX callback thread is properly shutdown after the node goes away.

Change-Id: Ib0b25855b0dfc191e5529193b4cb519f644a8412
MX.cpp
608d77b1cf4fb9f63dc861e4e1fa3e80a732f626 24-Jun-2010 Andreas Huber <andih@google.com> Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.

Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
ests/Android.mk
1629399bb578fc176613ccaf134d1be6e3047638 23-Jun-2010 Andreas Huber <andih@google.com> Properly assign LOG_TAGs in OMXMaster.cpp and MediaScanner.cpp

Change-Id: I863651619f84b2b66e9a926ce1fef8ce6a53a42d
related-to-bug: 2639116
MXMaster.cpp
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.cpp
71ec1d320e61c490bd3fac172f1d1a206a7198e8 06-May-2010 Dan Bornstein <danfuzz@android.com> am 2a1674b1: am 2d315667: For issue #2651381, allow library prelinking.

Merge commit '2a1674b1d00fda68980ec834d6ce61aacd379bc8' into kraken

* commit '2a1674b1d00fda68980ec834d6ce61aacd379bc8':
For issue #2651381, allow library prelinking.
77356c37030215a4b8696b7d0af44a724341a0f9 05-May-2010 Dan Bornstein <danfuzz@android.com> For issue #2651381, allow library prelinking.

Change-Id: I119348b55ad0015a286e9c94709977cd1973a7e1
ndroid.mk
03b268eac37ca2589bfff0bf58daf79d29cc14f4 19-Mar-2010 Andreas Huber <andih@google.com> Various fixes to enable recording on passion and nexus1.

Change-Id: I75a461c9882e2449082ad754ee7b231c1ceec039
MXNodeInstance.cpp
1c6cebadf4579d997fdce946a1d00317c3e4c567 18-Mar-2010 Andreas Huber <andih@google.com> Tweak the omx tests to always do a seek-beyond-EOS on the first iteration, followed by a linear read on the second iteration.

Change-Id: I16fc9e42ee9f8e4cb120ab41364cae6dd4544634
related-to-bug: 2338792
ests/OMXHarness.cpp
2a3847ee1cbdaa8a65eee397a0173bb02211c459 16-Mar-2010 Andreas Huber <andih@google.com> Properly handle errors during the codec configuration phase, attempt to revert to next available (likely software-) codec if configuration fails.

Change-Id: Id1c699711e30139c9cc29df972254b5ba026e6fb
related-to-bug: 2517098
MXNodeInstance.cpp
fa71449d6c3b3da082d8fbedf9470ee8750a1646 15-Mar-2010 Andreas Huber <andih@google.com> Fixing the sim build.

Change-Id: I307f6d59f473471adcf855e66b4e8275ab1b3b74
MX.cpp
52e71f87f1dac8d2f6bcaf77bb25b78cba664c43 12-Mar-2010 Andreas Huber <andih@google.com> Boost OMX callback dispatcher thread priority to prevent audio playback stuttering under increased system load

Change-Id: I1b5339b4d39bd964f286cdf1369d0e0492a465d7
related-to-bug: 2492002
MX.cpp
36efe505b61cf9d5d019f2021450401bde5d9858 22-Feb-2010 Andreas Huber <andih@google.com> Properly unload the renderer shared library after the renderer goes away.
MX.cpp
0d681df3b0ded2c1e335b6b5785439da4ce2c238 08-Feb-2010 Andreas Huber <andih@google.com> During shutdown, don't loop forever on a state transition to OMX_StateInvalid.

related-to-bug: 2420917
MXNodeInstance.cpp
b93ad64a423975748c7f5e1a5ea94ab8681bc899 05-Feb-2010 James Dong <jdong@google.com> When the extractor is not able to be created successfully, don't crash
ests/OMXHarness.cpp
867d2f6ce668968e463eb86b856d21525f12fd67 26-Jan-2010 Mathias Agopian <mathias@google.com> Simplify the MemoryDealer implementation

At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.

Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.

Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)

Removed a lot of unneeded code.
ests/OMXHarness.cpp
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
ests/OMXHarness.cpp
213addfaf4b359c69da4e9b4490c511d116845bb 25-Jan-2010 Andreas Huber <andih@google.com> The qcom OMX video decoders do not allocate output buffer memory at the time OMX_AllocateBuffer is called, wait until we received the first FILL_BUFFER_DONE notification until we rely on the buffer data ptr.
MX.cpp
570a3cb7582daa030cb38eedc5eb6a06f86ecc7f 21-Jan-2010 Andreas Huber <andih@google.com> Fix no-copy-overhead OMXCodec implementation to actually work.
MX.cpp
MXNodeInstance.cpp
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.cpp
8fd10b7add00c31a3f9317430d9bdcad9fb324a5 19-Jan-2010 Andreas Huber <andih@google.com> Merge "Remove totally unused code from OMX.cpp"
81dbf71f4488ee1a4cb612f2aba341f365fb546a 15-Jan-2010 Andreas Huber <andih@google.com> Remove totally unused code from OMX.cpp
MX.cpp
ab13003c692f25c7c430e6b6c441d88aefdcf9d8 14-Jan-2010 Andreas Huber <andih@google.com> Make sure the seek test attempts to seek on the very first iteration, as this appears to be a special case that decoders frequently get wrong.
ests/OMXHarness.cpp
a17e2b9a98c836145d6b50c6b1407e2162c526ac 22-Dec-2009 Doug Kwan <dougkwan@google.com> Add missing shared libraries in linker commands. Currently these libraries are
linked implicitly via dependencies of other shared libraries.
ests/Android.mk
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.
ndroid.mk
MX.cpp
MXNodeInstance.cpp
ests/Android.mk
ests/OMXHarness.cpp
ests/OMXHarness.h
8ae1d0bdcef22f2bdd8d283e0e615f3ba6c3f4cd 16-Dec-2009 Andreas Huber <andih@google.com> Add a new API to support determining the roles of an OMX component specified by name. Remove unneeded OMXSoftwareCodecsPlugin.
ndroid.mk
MX.cpp
MXMaster.cpp
MXMaster.h
MXPVCodecsPlugin.cpp
MXPVCodecsPlugin.h
MXSoftwareCodecsPlugin.cpp
MXSoftwareCodecsPlugin.h
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.
ndroid.mk
olorConverter.cpp
oftwareRenderer.cpp
d9618f23226f46c752e56f712bc4b505117d8b4b 07-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of stagefright MP3 audio decoder based on PV source code.
ndroid.mk
MXSoftwareCodecsPlugin.cpp
p3dec/Android.mk
p3dec/MP3Decoder.cpp
p3dec/MP3Decoder.h
f0fb96c352f30b812a4903a1d783a715e1e817bd 04-Dec-2009 Andreas Huber <andih@google.com> Enable proper cleanup of OMX nodes managed through stagefright.
MX.cpp
MXMaster.cpp
MXMaster.h
MXNodeInstance.cpp
MXPVCodecsPlugin.cpp
MXPVCodecsPlugin.h
MXSoftwareCodecsPlugin.cpp
MXSoftwareCodecsPlugin.h
15478f3287c62a780d19b9059023331721bd4f4f 04-Dec-2009 Andreas Huber <andih@google.com> Two more uses of strlcpy that break the sim build. Now fixed.
p3dec/MP3Decoder.cpp
0ef47568ed93872feab423330b10a62a432decd5 04-Dec-2009 Andreas Huber <andih@google.com> Apparently strlcpy is not part of a standard linux distribution... Unbreaking the sim build.
MXSoftwareCodecsPlugin.cpp
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.
ndroid.mk
MX.cpp
MXComponentBase.cpp
MXComponentBase.h
MXMaster.cpp
MXMaster.h
MXNodeInstance.cpp
MXPVCodecsPlugin.cpp
MXPVCodecsPlugin.h
MXSoftwareCodecsPlugin.cpp
MXSoftwareCodecsPlugin.h
p3dec/Android.mk
p3dec/MP3Decoder.cpp
p3dec/MP3Decoder.h
53f45f0367d9563278f427db106736dcd1a433d1 12-Nov-2009 Andreas Huber <andih@google.com> resolved conflicts for merge of c66d53f9 to eclair-mr2
1dfc99f22fb9d8c798065938c24eeb4eb9691747 12-Nov-2009 Andreas Huber <andih@google.com> Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
ndroid.mk
MX.cpp
ComHardwareRenderer.cpp
oftwareRenderer.cpp
IHardwareRenderer.cpp
fa70cad40b01627ac1c22e04cdd548ece9c2654f 06-Nov-2009 Andreas Huber <andih@google.com> Handle OMX_StateInvalid in emergency shutdown properly (by ignoring it and hoping for the best) instead of asserting.
MXNodeInstance.cpp
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.
ndroid.mk
MX.cpp
MX.h
MXNodeInstance.cpp
202ff50113b293a80c8df60022e2c4ad8a829fbe 03-Nov-2009 Andreas Huber <andih@google.com> am 338ccf43: Merge change Id2906ad8 into eclair

Merge commit '338ccf43b6a4468aea6aa7d831be7d6c8d8d134d' into eclair-mr2

* commit '338ccf43b6a4468aea6aa7d831be7d6c8d8d134d':
Fix video flickering by propagating the NO_CACHING flag from the master to MemoryHeapPMem.
c6c6237a67661c7b2d8822b7360cdf01e64d2c7c 03-Nov-2009 Andreas Huber <andih@google.com> Fix video flickering by propagating the NO_CACHING flag from the master to MemoryHeapPMem.
ComHardwareRenderer.cpp
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.
MX.cpp
MXNodeInstance.cpp
47bed1a7755ed58fa5d4c0d35b20468deb83bd60 22-Oct-2009 Andreas Huber <andih@google.com> Make stagefright a little less verbose. Fix heap corruption for real.
MXNodeInstance.cpp
2d6d6e9a3d569eda4555c4eb68cec452be958bb1 22-Oct-2009 Andreas Huber <andih@google.com> Still don't know why the heap gets corrupted, but not deleting the OMXNodeInstance appears to prevent this from happening.
MXNodeInstance.cpp
66d1e82ce5d5e189442285b6225977137b65c608 20-Oct-2009 Andreas Huber <andih@google.com> do not merge: The qcom video decoders always output yuv data after adjusting dimensions to be a multiple of 16.

Add a quirk mode to OMXCodec that makes it aware of this fact for proper display. Also integrate back a change from eclair-mr2 that delays releasing an output buffer briefly after posting it to surface flinger, as we don't know how long it'll take it to actually display the buffer's content.
ComHardwareRenderer.cpp
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.
ndroid.mk
MX.cpp
MX.h
MXNodeInstance.cpp
89e69da4d86348409994c9dafbbb2634ccd7c196 13-Oct-2009 Andreas Huber <andih@google.com> Separated private from public header files.
MX.cpp
ComHardwareRenderer.cpp
oftwareRenderer.cpp
IHardwareRenderer.cpp
2a4a7d5af053a17586a262a1267ba993e31790f1 07-Oct-2009 Andreas Huber <andih@google.com> Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
ndroid.mk
olorConverter.cpp
MX.cpp
oftwareRenderer.cpp
36efa039efaae4526791336cb688032d22b34bec 08-Oct-2009 Andreas Huber <andih@google.com> Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this.
MX.cpp
MX.h
fcf6723f0974854a04bd0d9e676b5ed2a147ce09 08-Oct-2009 Andreas Huber <andih@google.com> Insert a small delay after submitting to surface flinger and before returning the buffer to the decoder.

Since we cannot tell how long it'll take until surface flinger
has displayed the data onscreen, we'll just have to guess...
We must not return the buffer to the decoder before it's been displayed.
ComHardwareRenderer.cpp
4265a834394bfe14a008a2ac58fbbe388566ad07 16-Sep-2009 Andreas Huber <andih@google.com> Another software color conversion implementation, this time OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565.
oftwareRenderer.cpp
430209e4d4d767e96d1e59a705d1b8b6624cb1e8 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25128 into eclair

* changes:
Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
10f75b8c71beb7f327e50bbac8e528af4e40fa24 15-Sep-2009 Andreas Huber <andih@google.com> Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
MX.cpp
oftwareRenderer.cpp
1b84df1a0823fbcb9cec754311f53eaccfe85ae3 15-Sep-2009 Andreas Huber <andih@google.com> Added an API IOMX::createRendererFromJavaSurface.

This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
ndroid.mk
0c89199745bc1bf05b997fc7c342017807676b6f 26-Aug-2009 Andreas Huber <andih@google.com> assert => CHECK in stagefright.
MX.cpp
ComHardwareRenderer.cpp
oftwareRenderer.cpp
ea7d15629752256f6ea1d5c6ea796e59aefd030f 26-Aug-2009 Andreas Huber <andih@google.com> Keep up with latest changes to overlay handling on that unnamable platform.
ndroid.mk
IHardwareRenderer.cpp
c1a8d2f170aef7bb7664e25d6a8275f246260d12 18-Aug-2009 Feng Qian <fqian@google.com> Fix missing -lpthread in linux-sim build.

It mimics the behavior in libstagefraight/Android.mk
ndroid.mk
693d271e62a3726689ff68f4505ba49228eb94b2 14-Aug-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 5bb012f0065f7ffaaeb4f569d71f0e3a8d6b19c3
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 10:40:08 2009 -0700

An attempt at fixing export using the qcom encoders. More quirks.

commit 0690e76bfa48118a68287ccf1bbfa82febaa620c
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 09:08:28 2009 -0700

Callbacks are now dispatched from a separate thread in OMX.

commit c6571a039526df29b6343f9a1971dbc019088c61
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 15:42:25 2009 -0700

Massive API changes throughout stagefright, smart pointers everywhere.

commit 900612af6a0555664d9ba195112cd859491265f4
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 13:33:12 2009 -0700

OMXCodecs now properly shutdown.

commit 96732f05e1b0603dcd1b11f16a23512592eeb4f5
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 12:04:04 2009 -0700

More work on JPEG decoding using the hardware OMX component.

commit 63839a073ac393e3a130434ba467969053b694ad
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 12 13:13:31 2009 -0700

An attempt to drive the JPEG decoder OMX node.

commit 3ac2fe5ab2926eda81b2123610b2434c645294ff
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:38:21 2009 -0700

Renamed StateMachine to OMXCodec and put it in its proper place.

commit 247da75a96bf8881956413023dd49a84d5b4f5b2
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:06:19 2009 -0700

Statemachine is now a full-fledged MediaSource.

commit 045244f6771fa0b9b329495c953afda900a84b71
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 7 09:16:54 2009 -0700

Properly setup the input format when exporting to AMR audio.

commit 271b984cb32c5cd9e46e3f90ae121f334e4b8da9
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 6 09:59:38 2009 -0700

Added some code to test audio encoding to the OMX harness.

commit 79af4748e4af33bd66d3fbac606e332a69741cf4
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 5 14:36:22 2009 -0700

Merge the old OMXDecoder and the new, shiny, StateMachine code.

commit 91cf5dd77a8762bc10a0b2ffce35e3bbeb262231
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 4 17:41:43 2009 -0700

A new harness to test OMX node compliance (and quirks).
MX.cpp
MX.h
408b8e1073385d0d09bb96b9952f84731a0b4aeb 07-Aug-2009 Andreas Huber <andih@google.com> Deprecate/remove now unused socketpair ipc communication in favour of exclusive binder use.
MX.cpp
MX.h
47f59cfe40b0ebb3afd6c39f97dcd1eac2e966f7 07-Aug-2009 Andreas Huber <andih@google.com> Build the stagefright library by default.
ndroid.mk
8b938cdab5bd3d074d9b41bc2915fcfc11e47f27 31-Jul-2009 Andreas Huber <andih@google.com> The IOMX interface now instantiates IOMXRenderers to hide the details of hardware accelerated blitting.
ndroid.mk
MX.cpp
MX.h
MXRenderer.h
ComHardwareRenderer.cpp
oftwareRenderer.cpp
IHardwareRenderer.cpp
548681f9bd906600ab523b87e045c1e829b0c767 17-Jul-2009 Andreas Huber <andih@google.com> stagefright: initialize more of the OMX_BUFFERHEADERTYPE structure as they are apparently not cleared by the OMX implementation.
MX.cpp
20111aa043c5f404472bc63b90bc5aad906b1101 15-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 8d179995654c19d9094e51989dc84ed0deba6e04
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 16:30:40 2009 -0700

Protect stagefright code with BUILD_WITH_STAGEFRIGHT build-define.

commit 99b41acb58c34e8f024c30c833a09fd7b31c4e1f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 14:06:00 2009 -0700

OMX::list_nodes API, stagefright --list now lists all available OMX components.

commit 94a74c5b24aae6d7e446fff83d62ae3a57dc351b
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 16:04:29 2009 -0700

Reenabled "record" commandline application to test encoding, support for h263 codec specific data when writing to .mp4.

commit d363dd74f611577567c66d25900d6264c306468c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:59:58 2009 -0700

Make non-socket communication in IOMX the default.

commit e89fc82c4fd138c88339887baf72f1d0e67f8660
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:32:33 2009 -0700

The OMX interface now optionally supports communication through the binder only (no sockets involved)

commit 28611de11223fba65299787cdd33f7fdbd6a60a3
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 15:09:13 2009 -0700

Split off the logic to render to a Surface (not ISurface!) into SurfaceRender.{cpp,h}

commit c0cfa885faaeb17d3fc5436f6447b61708bd6fe1
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 12:21:46 2009 -0700

Fix display dimensions vs. decoded dimensions display issues, unfortunately breaks software rendering a bit...

commit ae209a2b5d09caed5dd383c910f238926aaa8fc6
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 09:33:29 2009 -0700

Simple video decoder performance test in "stagefright" commandline tool.

commit 59fe7840111d6f46dd3c48f4950146aed962dbd2
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 16:05:12 2009 -0700

StagefrightPlayer: Properly publish video dimensions by notifying the listener.

commit 51b6598f0e47be5e12d77f1d14e111e71c593638
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 11:38:15 2009 -0700

MediaPlayerInterface::AudioSink now supports the specification of a callback for pull-based audio.

commit 31ce53375d748da3e7d30e993ce89dae97fd65ea
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 17:23:37 2009 -0700

Proper support for pushing audio to a specified AudioSink interface. Still not bulletproof: video falls behind frequently.

commit a23e312b10631a5d47f5c9831205beac6b84ab36
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 15:10:13 2009 -0700

IGenesisPlayer and friends are no more, java interface now uses local playback instead
of playing inside the media server process.

commit 42ee5c06ab5ba1c16f50472b0b26a0526635c73c
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 13:17:03 2009 -0700

MP3 extractor now supports seeking (only fixed bitrate files currently supported)

commit 96a790405763bfa738d1c6845c99a9fdf579b66f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 7 10:53:54 2009 -0700

Keeping up-to-date with new master-gl changes, removing CameraSource for now, removing unnecessary commandline utilities from the build.

commit 6c9dcb7c628c0347154dd7f37913a3a5f04deb99
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 16:40:02 2009 -0700

Finally take advantage of the fact that the Qcom OMX decoders already place the output buffers into memory accessible by the hardware yuv converter and avoid extra allocations and memcpys in that case. Split of the render logic into subclasses of VideoRenderer.

commit e8d46e81cffc15ffb0bdf03f511e4a4497ca7621
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 12:18:29 2009 -0700

Added a few more cases of valid MPEG4 files to the sniffer, fixed end of stream notifications in MPEG4 files.

commit 88bffc5ed4033a607080f8777a1c0ec9e3e079de
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 2 12:25:03 2009 -0700

MediaPlayerImpl now properly pauses/resumes instead of tearing down the decoder chains and starting back up from the beginning.

commit 732aa0a87c7e8d8a10776b275712649954962414
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:58:56 2009 -0700

Remove pthread_mutex_* and pthread_cond_* in favour of Mutex and Condition.

commit 669e5944b2fe0542a3b8dba0c441a94503e99fb0
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:43:02 2009 -0700

Proper support for end-of-stream signalling of MediaSources.

commit afb038f2dc594c742e554b2d42b86ffc7434e3fc
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 30 16:48:03 2009 -0700

Support for the "sniffing" of datasources to determine their probable mime type (along with confidence). Slightly refactored the MP3Extractor to share common code with the sniffer.

commit ed3644b8bd56807e1db4b32433a93a2467f1f3c5
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 13:27:52 2009 -0700

I don't think prepare should automatically start the player.

commit 11eb9b49dc4a0819d366682817cba68613f4fe12
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 11:09:22 2009 -0700

Somewhat better timing information implemented in the MP3Extractor.

commit cab023a1751735c0ed26c8493498a91d8644c6c9
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 25 15:41:56 2009 -0700

Initial checkin for support of mp3 content, extraction and playback. Media extractors now abstracted in MediaExtractor baseclass.

commit 40f4146bb3c647e56690dd9b0fa3ffdea60030dc
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:41:12 2009 -0700

Make sure we only allocate surface buffers if there is video to be played.

commit 7f85e7d92fe81740e102e09905b19354f4ac178e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:19:32 2009 -0700

Clean up a failed merge and implement stub for new API in MediaPlayerBase.

commit f0e9d494a4c03402ea7b54891848ca5a50c421b2
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 15:38:03 2009 -0700

Support yuv420->rgb565 conversion if hardware color conversion is unavailable.

commit 87223248b3099cd5261b94169f84cfd1eba56a8f
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 09:35:56 2009 -0700

Remove unimplemented and currently unnecessary blocking option from MediaSource::ReadOptions.

commit e07e651f0325892b797f3eb64dbeca0f317afdfd
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 16:26:42 2009 -0700

Enable assertions in HTTPDataSource.

commit 0dc97adebea1721156880f4b3d5c70f8d50c53b2
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:39 2009 -0700

delete foo.

commit 7f05845dda496e7defee284d32509d127e785784
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:08 2009 -0700

added foo.

commit e432970c51eeec4e5d549bdb3e2d3e48ffb4f0e7
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 11:44:31 2009 -0700

Make sure to initialize all fields in _all_ constructors... Use a Mutex instead of the raw pthread_mutex_t.

commit d6286a6bbca639952491448fa3e609b775a8a814
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 17:11:49 2009 -0700

send_command is now implemented twice... ugly hack to get both shutdown working correctly and startup as well... playback now "works" on the emulator, too.

commit 8d657e004677a7c5dae4479e8519bcaa94c18aad
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 11:58:55 2009 -0700

Instead of erasing codec specific data once it's been output to the omx node, retain the data and just rewind after a stop.

commit 279fede6ba35cbc37c35616c53406bf2c9720202
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 10:58:11 2009 -0700

Various fixes related to play/pause. Decoder now properly frees OMXMediaBuffers, made MemoryDealer destructor protected instead of public to prevent accidental stack-allocation of MemoryDealer objects.

commit 0f717f15a6328efd3f34082929cd8ad2351095a9
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 08:44:12 2009 -0700

Make sure to rewind codec specific data on OMXDecoder::stop and reset AudioPlayer's notion of time mapping.

commit 0cfb63e33270daf9b215214608ab383f93a31823
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 14:25:48 2009 -0700

Massive rename.

commit 30ed8f476c4431a5275538958b3e281bd17d5eab
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 13:52:41 2009 -0700

send_command and fill/empty buffer commands must be executed in sequence, send_command is now dispatched over the socket instead of through the binder interface to ensure this.

commit b832d04011b2dd8a9632eb7e575bfe1addd1270d
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:21:17 2009 -0700

MediaBuffers can now be "clone()", they sit on top of the same data but have their own range and metadata. Once a clone's refcount drops to 0 it decrements the refcount on the original buffer.

commit 4e944672808bdf1ed40a69f3f602f93ebf7b4049
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:01:01 2009 -0700

Split MediaBuffer.h into MediaBufferGroup.h and MediaBuffer.h, same with their respective source files.

commit ddb7529b4de4828db51432bd405fddd76cfa3b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 16:30:25 2009 -0700

More fudging with A/V sync...

commit 1e5a4d8df08237b58c06c6527a33152ae931addf
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 11:54:20 2009 -0700

API cleanup of MediaSource. Got rid of MediaRing as it really doesn't serve a purpose if OMX decoders are used.

commit 0953c65232aa9753d17d2e25c5f5526eb810cf13
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 16:59:19 2009 -0700

Experimental TimedEventQueue and an attempt at a cleaner player implementation using it, OMXDecoder is now a little less verbose.

commit 2085b8ea9484a21fa11f94194a27405d413aeecc
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 10:17:01 2009 -0700

Properly bail out of the AV sync loop if the MediaPlayerImpl is stopped.

commit 471f143458a8a0d93cb1bf9568c63c3967279dc6
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 17:32:27 2009 -0700

Now this is much better AV sync, defer seeking the audio source until we know where the video source synced to.

commit 4010d371dbe62ce4971e13437776cba32cb0bb3d
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 16:01:07 2009 -0700

Tweaked some of the heuristics in AV sync, OMXDecoder is now a little less verbose, seek to a sync sample at or _after_ the requested position.

commit f3d4af1d5a4ac31fa02271b000f6c7ec593f0da9
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 15:33:58 2009 -0700

Change the TimeSource interface's APIs, prefer microseconds over milliseconds now, changed the way MediaPlayerImpl does AV sync.

commit 08bb46fa61d12e852a424698ddb0c90700328f6e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 11:57:24 2009 -0700

Using framework's Mutex and Condition classes instead of pthread functions, much saner locking in OMXDecoder.

commit 4d77b4e09e59bbf8c1af009ae7dc62b10af52fd6
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 17:12:03 2009 -0700

MediaSources now publish their format.

commit 7e429a26c57bf936e1a08035d2d11839f9f00310
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 16:38:29 2009 -0700

MetaData is now implemented in terms of KeyedVector, MetaData is now reference counted.

commit 0fa957aa5c9bcb6ec122ed7b5b97430039be6797
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 14:39:55 2009 -0700

Sync sample seek support.

commit 78a5f090d02e7e6e1a146b29bdb7771eecaa2f86
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 13:51:11 2009 -0700

Distinguish shutdown from port-flush since one requires buffers to be freed and the other one doesn't. Fixes a problem with seek.

commit e57781d3b2c985a74cd8b60e7c8f2d576459d038
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 10:52:20 2009 -0700

First shot at support for seeking a MediaSource. Sync frames are not properly handled yet.

commit 0551cd78fda78bf66877fb26c5a55e5ae23d8367
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 16:23:38 2009 -0700

Preliminary support for camera input.

commit f8ebafa65d10d5a06944de6b2e2992a33121b857
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 12:13:47 2009 -0700

Allow NativeMediaPlayer access to Surface's getISurface() method.

commit b1a9fb36eeccd9f49d28c1c64b31fccbd6506eeb
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:38:25 2009 -0700

Header files are now in their own genesis2 hierarchy below frameworks/base/include.

commit f49b8b234b8f6ce83148787eef540dd920f04aa6
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:22:03 2009 -0700

moved MPEG4Writer into libgenesis2.

commit 5224254919dac4728677335ea60429fa16f518b4
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:13:38 2009 -0700

Everything now lives in the android namespace, integrated errors with android errors, renamed MediaPlayer to MediaPlayerImpl.

commit f9a9d84f7e0465ef5d1938a068655ba39527cf99
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 16:43:11 2009 -0700

Support for getPosition() and getDuration().

commit 3206cc5140bcbc88be039f8d94b954af63e69752
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 15:37:45 2009 -0700

Support for {MediaPlayer, GenesisPlayer, Genesis2Player}::isPlaying()

commit 9f41b248e0dfce71bbc50f883750cec52ebfd1fe
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 13:49:50 2009 -0700

Proper disconnection from the OMX service.

commit cdcf47a2c31599109ee42277c7fa14af3c600091
Author: Andreas Huber <andih@google.com>
Date: Tue May 26 17:27:06 2009 -0700

New player type for the genesis player in libmediaplayerservice. Playing video through an ISurface now.

commit 0586af20ac9ae0403dd190bafd290b0f90549723
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 15:53:19 2009 -0700

Fix a buffer overflow error by adding padding in case we need to de-frame AVC data.

commit eac62fff6ad2ffb7b75c0d4a1b9620d33e93fb9b
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 13:35:30 2009 -0700

Support for http URIs in MediaPlayer, compensate for AudioTrack latency.

commit a7db456e3173d94d6b5e457547e2a6a5f7a8e1cc
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 11:33:25 2009 -0700

Support for URIs in MediaPlayer class, support for shoutcast streams in MediaPlayer, force shutdown of OMX nodes if they don't shutdown cleanly within a second.

commit 1f0268f4f14ad5215668f34e06a420850174d665
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:33:16 2009 -0700

and foo.txt is gone again.

commit 0feca4e0919f345704d78ec78894bac5027bd5ed
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:28:49 2009 -0700

added foo.txt

commit 9c7d04b35cdc895a2de3602dc46522f608bd205f
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:28:04 2009 -0700

delete foo again

commit fec3ca1720992cce51b9a92b86b945da88a6b16c
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:27:45 2009 -0700

weird

commit 30a6571302333146e537e537a3a8986245cca87c
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:18:55 2009 -0700

reverse test

commit dea3d99dd0fe9386e8a3c51954d9d0fe2be09d38
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:18:22 2009 -0700

test

commit a9eeafec6e46072cac41e54ebdbd153cb7ae7518
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 16:37:50 2009 -0700

Use the video ring again for now.

commit e05ff3d3c1c4f89ef499a2b172138a775fd694e3
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 15:42:19 2009 -0700

Export to .mp4 now works for MPEG4 video content. Fixed a bug in the sample table wrt co64 chunks.

commit 5c44c540374a4e50c4e8aaab2b7a34aed6e1391e
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 09:56:11 2009 -0700

Fix the build, all binder-related headers have moved and there's a new library libbinde
r to link against now.

commit 23e0a24404d16c898c2c6b3c7495ad303844bc71
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 08:42:04 2009 -0700

Initial checkin of MPEG4Writer, a class to export media sources into an mpeg4 file. MPEG4/AVC metadata (efss & friends) not currently working.

commit 9cd77adb1ac194197364ffad00a0d7215f458e1a
Author: Andreas Huber <andih@google.com>
Date: Wed May 20 12:31:45 2009 -0700

New shell command to test recording/encoding. Various changes to OMXDecoder to support encoding properly. Now each OMXDecoder needs a dedicated thread on the client side since onEvent responses could block which would cause deadlocks if a node depends on the output of another node for example.

commit 5c510fb55ffed7ec25305999ed9b6c1eec48d503
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 15:40:06 2009 -0700

Make media decoding the default in the genesis2 commandline app instead of shoutcast playback.

commit f6c7a2040b8eb43326621f12c3a936e09b3a70e3
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 11:03:04 2009 -0700

The king is dead, long live the kind... Replaced old OMX binder interface with new OMX binder interface/socket hybrid.

commit 0d4955eb5df9bfafb576d22f2ed572644d6d69ac
Author: Andreas Huber <andih@google.com>
Date: Thu May 14 12:39:34 2009 -0700

dynamic negotiation of NAL framing with the MPEG4Source, removed stale code from genesis2 commandline tool. Enable support form PV H264 software decoder.

commit 380369f54a8027cbc9349305184d6bf527a24efe
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 17:32:00 2009 -0700

Explore the option of running everything inside the mediaserver process by encapsulating the player in an IGenesisPlayer binder interface.

commit b5cada56b9089a23e0c461352a97dc71e08b424d
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 12:11:06 2009 -0700

Introduction of TimeSource class, clean shutdown of OMX Nodes.

commit 89f6e582e605dcb2149eb67f73fe9345d4b9be2e
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 17:11:56 2009 -0700

Helper classes MediaRing and MediaPlayer.

commit 9aaed8739b4bb941473da367fb88f63224d2f1b7
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 14:19:18 2009 -0700

Using mmap to map a file instead of going through FILE* improves performance, who knew?

commit ad097a78bbd002c59193ffdc39b64935928426c7
Author: Andreas Huber <andih@google.com>
Date: Mon May 11 16:42:42 2009 -0700

Added a performance test, refactored AudioDecoder a little.

commit bdd1b80ab3f3ba43e04f1f996e7fa84ed2e2728a
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 16:19:29 2009 -0700

No more copying the output buffers coming out of the decoder, NAL separation also done in the extractor to avoid copying the data.

commit 858955b42c29b8033841a8caaa56c2a449810ef3
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 14:02:38 2009 -0700

Change from a model in which the caller specifies the destination buffer to one where the MediaSource returns a buffer.

commit 95098b6d4f8bdc37dfb6a109ca58db4d9e414e2d
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 13:21:45 2009 -0700

Changes to support multiple pieces of codec specific data to the decoder, de-frame nal units from the h.264 stream and insert start codes

commit 3941fcf87a48dda81683df727dfb1381f62d9184
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 16:37:45 2009 -0700

some refactoring. Most streams play now.

commit d3152862840d4dd39068e5197bec8674f3d55dd5
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 15:37:32 2009 -0700

Misc. changes to support H264 decoding using the qcom hardware decoder

commit d4ecdfe7af36e7468270d1c2cbbdc540efe0351e
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 09:28:18 2009 -0700

Timestamps are now stored as a fraction, i.e. units and scale, also, PV appears to violate OMX specs by assuming timestamps are in milliseconds instead of microseconds.

commit fe6a50943f885e065d4061aa727a54417e9f36db
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 14:18:27 2009 -0700

Refactored commandline app instantiation of the decoder.

commit da1ff2724d0e78e8b360d9a2c34c55dd0e2c0492
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 10:41:14 2009 -0700

Proper audio/video synchronization.

commit 569ee3a23f600f4b6b87c6178c0223b06e97f201
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 09:17:20 2009 -0700

Preliminary support for timestamps.

commit e4e302a89207550d8a7170d8c0afbd9c15047c84
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:13:12 2009 -0700

Another quick hack job to make CachingDataSource thread-safe as well.

commit dfb376a58bd7c09aa04e89558186fcfe13fe696c
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:08:14 2009 -0700

Quick rushjob to make FileSource and SampleTable thread safe.

commit 02b29e7ebdab1f8b959b6c177ceb3b89d998f375
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 17:22:04 2009 -0700

Made video decoding work for mpeg4/h263 and mostly(?) with AVC content.

commit 3a57b8ff15e48f5a0af03bf0a99c32e240dbb7ef
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 09:26:42 2009 -0700

Getting rid of old sample code to drive the OMXNode binder interface.

commit 5b046aed0cf524a57ea711bc1e43ea80e57b2cb3
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 16:21:11 2009 -0700

Moved files from the commandline utility into the framework, renamed MP3Decoder to AudioDecoder

commit 7f3fbba21512a078b732cc52c7bd5ba5acb9a317
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 15:56:19 2009 -0700

Fixed buffer ordering and an off-by-1 error in the SampleTable code. Plays all AACs now :)

commit 024d06baab8f2c540dde16f7e7a4b6dd57f638c7
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 11:52:48 2009 -0700

Some AAC content in .3gp or .mp4 files plays correctly now, other does not. Implemented ESFS parser.

commit 1470427866b0d3e0ce6848b4edc01c13a09be289
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 30 15:19:31 2009 -0700

Another checkpoint, amr decoding now functional.

commit e612d044439f56331b6a2bc4a88622e04d4d42e7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 12:11:29 2009 -0700

string wrapper around String8, various fixes, shoutcast now works again.

commit 2ea52dfb1a39bf3a223ffc87855e54919e2daff7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 11:08:18 2009 -0700

Initial check-in of OMXNode binder interface.

commit 7880d2957f74c0d7fba7679431ff5adb3780543b
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 10:05:01 2009 -0700

Initial check-in of both libgenesis2 and the genesis2 commandline tool.
ndroid.mk
MX.cpp
MX.h