• 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 >>>)
a1a709d5574c934cd0d5ef7e351178aaea582c60 13-Jun-2017 Ram Mohan <ram.mohan@ittiam.com> fix uninitialized variable in SoftVideoDecoderOMXComponent.cpp

mUpdateColorAspects is uninitialized and resulting in notifying
unexpected OMX_EventPortSettingsChanged events

Test: VtsHalMediaOmx1_0Host
bug: 62601943
Change-Id: Ie1da74abce4f3b68fb8db0f0559b2ad81d6109b6
oftVideoDecoderOMXComponent.cpp
bd4676a6098a9ed73943764d88451be07b57c7b0 10-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "GraphicBufferSource: no longer hold onto repeatable buffer after eos" into oc-dev
79924d78b9465eed113347f2597f698b1d9bd5d9 08-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "add missing color format to check list" into oc-dev
fa77e3f5e89a28c6c94dc6ab381947fb52e58fa7 08-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix strides while extracting graphic buffer" into oc-dev
99098e35ebea11b11b919855b5894bfb3267d922 06-Jun-2017 Ram Mohan <ram.mohan@ittiam.com> configure port format

For SetParameter, the field is nIndex ignored. If the format is supported,
it is set as the format of the port.

Change-Id: I5c1a9a87b56102c368ac0cd67475add02c3e9a1f
oftVideoDecoderOMXComponent.cpp
0d402df5bb21d9b32aefc9841725cf4f602fb99c 17-May-2017 Ram Mohan M <ram.mohan@ittiam.com> add missing color format to check list

Test: Small CtsMediaTestCases
Bug: 37501531
Change-Id: I89ce99f7322d3b0dac333b75ead0ec1122eba9d0
oftVideoEncoderOMXComponent.cpp
1f0fa90d7c345d44b319705602770dcba36ca23b 05-Jun-2017 Lajos Molnar <lajos@google.com> GraphicBufferSource: no longer hold onto repeatable buffer after eos

Bug: 62271796
Change-Id: Id0571d16ea968732c7c08602d8446d2ab845a651
raphicBufferSource.cpp
14a09c9d989113798546d61d58e59c513ac4652a 17-May-2017 Ram Mohan M <ram.mohan@ittiam.com> Fix strides while extracting graphic buffer

Test: Small CtsMediaTestCases
Bug: 62271835

Change-Id: Ic8d2ba1309778a7683887bfcece18276a022116e
oftVideoEncoderOMXComponent.cpp
c7455a0bb4909d1d48c86e4a9b699ddda65f87f4 20-May-2017 Pawin Vongmasa <pawin@google.com> Check the return value from allocateSecureBuffer

Test: Small CtsMediaTestCases

Test: com.google.android.media.gts.WidevineCodecStressTests in
GtsMediaTestCases

Bug: 38452958
Change-Id: Iba53c3fc144a3ee7d1f54b62ab3836b1a3a46dc6
.0/WOmxNode.cpp
990bc6dec9e62f1fb529a3f552aaaf7478f84756 09-May-2017 Praveen Chavan <pchavan@codeaurora.org> Omx: Fix codec instance leak if Observer dies

If Observer dies, {instance, observer} book-keeping may be
cleaned up. In such case avoid only unlinking the death-notifier,
but proceed with instance cleanup

Test: Manual use of Camera, Photos, Play Movies and YouTube.
Test: Small CtsMediaTestCases

Bug: 38149818
Change-Id: I412953b55827c93730353a95560b865fb18b5f0f
.0/Omx.cpp
ebb1475d1a97ee3dbf25ea72383a6b7554aac1dd 10-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add null check in setSidebandStream" into oc-dev
5c7ade853642a8e9414e5c69fdc43c0957bed9af 09-May-2017 Robert Shih <robertshih@google.com> Add null check in setSidebandStream

Bug: 38172844
Change-Id: I5d9a6b4c84b4c4cf9f5c9b1634a9cd35797c09b2
.0/WGraphicBufferProducer.cpp
331207d51a620bf018081950da4b20133014657f 09-May-2017 Chong Zhang <chz@google.com> stagefright: lock mLock in codecBufferFilled

The locking is to protect mOriginalTimeUs, adding to which is done
in emptyBuffer under mLock.

bug: 38111548
Change-Id: If7853e3fe50c68279ee5d74373b53bc34bd56cfd
MXNodeInstance.cpp
a62c3c31e61086c4a15acb27297c7d17a6b3b1ef 27-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "GraphicBufferSource: remove free codec buffers only when submitted to codec" into oc-dev
12b97c8d659c48923e42ce4abd2b22b3b7a9909a 27-Apr-2017 Pawin Vongmasa <pawin@google.com> Merge "Stub implementation for IOmxStore." into oc-dev
195f1ed9563ea2264dbca8c783695d9741dab3d8 27-Apr-2017 Lajos Molnar <lajos@google.com> GraphicBufferSource: remove free codec buffers only when submitted to codec

Bug: 37556535
Change-Id: I516c0a2fc6c78e937360a2a5c2a3dcdea1d07370
raphicBufferSource.cpp
02cccfd9e790ba8758aba2b4f2a600a7d8fd1566 26-Apr-2017 Lajos Molnar <lajos@google.com> stagefright: don't actually acquire graphic buffer when we don't want to

Bug: 37556535
Change-Id: Ic9d2bddd12c8a750c4d285a1915ac3f4455aceae
raphicBufferSource.cpp
52257b75115135821bba562ac35c0c6325a1e100 25-Apr-2017 Pawin Vongmasa <pawin@google.com> Stub implementation for IOmxStore.

Test: Small CtsMediaTestCases

Bug: 37657124
Change-Id: I5728a12d000223231600ab3c3ab4eb044dd1847d
.0/OmxStore.cpp
.0/OmxStore.h
ndroid.mk
22dc508717c7767927064ec7c152def99e54adcb 20-Apr-2017 Pawin Vongmasa <pawin@google.com> Make IGraphicBufferSource::setTimeLapseConfig take fps

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

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

Bug: 37302530
Change-Id: Id0d4f7fed57349a2f5484f6b6264981471e8f022
.0/WGraphicBufferSource.cpp
.0/WGraphicBufferSource.h
WGraphicBufferSource.cpp
WGraphicBufferSource.h
raphicBufferSource.cpp
raphicBufferSource.h
24059088a46160f731903cc66404184a531d0478 07-Apr-2017 Pawin Vongmasa <pawin@google.com> Add future support for IGraphicBufferSource::getStopTimeOffsetUs

Test: Compiles
Bug: 35925528
Change-Id: I31368939d2f13811b9e8b3e5911b91b14148c167
.0/WGraphicBufferSource.cpp
.0/WGraphicBufferSource.h
b3921125a9904fc3fb3eecca421bc418e273f3cd 19-Apr-2017 Yin-Chia Yeh <yinchiayeh@google.com> stagefright: fix log spam

Bug: 37110143
Change-Id: I82d147c966980716df5eb5c05cf8cb71387f0862
raphicBufferSource.cpp
43fb79ad6ffecb86d5041afd8c06b764fb6f934f 06-Apr-2017 Lajos Molnar <lajos@google.com> stagefright: Rework GraphicBufferSource - step 1

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

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

CachedBuffer: a cached buffer in a slot

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

VideoBuffer: an acquired buffer with metadata

- Rename variables to be more descriptive.

- Move associated methods and variables closer together.

- Document methods and some of the operations of GraphicBufferSource.

Bug: 37110143
Change-Id: Iea5e7a376eba2bdd41624a7ddbe1d94c3d0e7b68
raphicBufferSource.cpp
raphicBufferSource.h
873026fec4b3c3bbaa7d6666936e47aee7c138c7 14-Apr-2017 Steven Moreland <smoreland@google.com> omx: Removed dead files.

Test: pass
Bug: 33241851
Change-Id: I6cd2aac88861295ddf2243738f643639c7e82000
al/1.0/impl/Android.mk
0de04e850beced076e4b1fcf0e513255f62a7d85 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove setQuirks() from IOMXNode and IOmxNode." into oc-dev
81b554b04c93aebf3e74116330024272770d2967 28-Mar-2017 Marco Nelissen <marcone@google.com> Don't allow using or allocating a buffer after the first state transition

Bug: 35467458
Change-Id: Ia76c8cec8ad2abb95ca29b2a89075f7acab4b174
MXNodeInstance.cpp
6ed07dc02d4240f94e7fb0786fb263bdc7a610ba 05-Apr-2017 Pawin Vongmasa <pawin@google.com> Remove setQuirks() from IOMXNode and IOmxNode.

Test: Media post-submit tests on Pixel phone.
Test: Manual use of Camera, Photos, Play Movies and YouTube apps.
Bug: 36952714
Change-Id: I230df51c2d658e29cffec369ba622e336c3402d2
.0/Omx.cpp
.0/Omx.h
.0/WOmxNode.cpp
.0/WOmxNode.h
ndroid.mk
MX.cpp
MXNodeInstance.cpp
464d9fbf52f37b2ec465acad65c6342aa35db457 06-Apr-2017 Scott Randolph <randolphs@google.com> Merge "Use explicit .c_str() for hidl_string" into oc-dev
2c8fec10807dc50c2d65d250e7a9157580f7094c 05-Apr-2017 Robert Shih <robertshih@google.com> omx node: patch err code to preserve API contract

Bug: 36789323
Change-Id: Ie1d8dde5e4df8f5f4061cba7b20e1732b1466235
Test: adb shell am instrument -e size small \
-w android.media.cts/android.support.test.runner.AndroidJUnitRunner
MXNodeInstance.cpp
c1d17710bde127ad6c4533490b27effb3016f1b4 03-Apr-2017 Scott Randolph <randolphs@google.com> Use explicit .c_str() for hidl_string

hidl_string no longer will provide an implicit cast to const char* as it
interfers with other expected behaviors of the class. It now emulated
std::string in requiring a call to .c_str() to get the same behavior.

Bug: 36532780
Test: Build the tree
Change-Id: I2b7c4d8e530cc1678cd08d77e365c5e560493264
.0/Omx.cpp
.0/WOmxNode.cpp
4d5f24ab62f5892ff1b0fac046fc0ccdb870cc47 31-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove dependency on persist.hal.binderization." into oc-dev
21bafd5a325aac30406fbb5dcff18812e0f44a45 30-Mar-2017 Hangyu Kuang <hkuang@google.com> media: Handle STOP action properly.

Release all buffers and set mEndOfStream when handling STOP action.

Bug: 36682265
Test: Video Recording and MediaRecorder CTS test.
Change-Id: I2f40f0dca4e0b062ab43bfc5e6a646f649fdc524
raphicBufferSource.cpp
raphicBufferSource.h
d4e9ca49a3863beeb0027f51e2331e4c5ec2402b 30-Mar-2017 Pawin Vongmasa <pawin@google.com> Remove dependency on persist.hal.binderization.

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

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

Bug: 34274385
Change-Id: I5251fea337f33460d1f0db174cedc465822f2a47
ests/OMXHarness.cpp
12025bc9c42248d254e76a6bef2b72b5b227ec4a 30-Mar-2017 Mathias Agopian <mathias@google.com> fix another missing include

Test: built
Bug: 36603618
Change-Id: I3dd55a96fb29e42fc7accb40a471d11a37cb3296
oftVideoEncoderOMXComponent.cpp
06cae66df7dedd164a07b802e4ca63a22d01de21 28-Mar-2017 Mathias Agopian <mathias@google.com> fix missing include

Test: built
Bug: 36603618
Change-Id: I836e2458203600768aa199f243206d5e0d9d4d39
oftVideoEncoderOMXComponent.cpp
01c10f8cdcd58d1e7025f426a72e6e75ba5d7fc2 17-Mar-2017 Lajos Molnar <lajos@google.com> stagefright: add support for named vendor extension parameters for MediaCodec

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

Also add required support:

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

Bug: 32746650
Change-Id: I67ee8a5c1d3e65816cdadc28d228721925e2e327
MXUtils.cpp
384cd775be62fff1635a36a7931f361db77220c0 21-Mar-2017 Hangyu Kuang <hkuang@google.com> media: Fix a bug in recording pause/resume.

Bug:35950379
Test: Camera recording and keep pause, resume, pause...
Change-Id: I5c81016e51f40e36430553990724fef3ccb23bb5
raphicBufferSource.cpp
04563aafa0debc95d50951ca944abf37ef2777ce 09-Mar-2017 Pawin Vongmasa <pawin@google.com> Move hybrid interface from libbinder to libhidl/transport.

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

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

Bug: 33854657
Change-Id: Ie927bcafd86dc7e9509bb8b76bb3b51f9a423cc7
.0/Conversion.h
.0/Omx.cpp
.0/Omx.h
.0/WGraphicBufferProducer.cpp
.0/WGraphicBufferProducer.h
.0/WGraphicBufferSource.cpp
.0/WGraphicBufferSource.h
.0/WOmxBufferSource.cpp
.0/WOmxBufferSource.h
.0/WOmxNode.cpp
.0/WOmxNode.h
.0/WOmxObserver.cpp
.0/WOmxObserver.h
.0/WProducerListener.cpp
.0/WProducerListener.h
ndroid.mk
al/1.0/Android.mk
al/1.0/impl/Conversion.h
al/1.0/impl/Omx.cpp
al/1.0/impl/Omx.h
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/impl/WOmxBufferProducer.cpp
al/1.0/impl/WOmxBufferProducer.h
al/1.0/impl/WOmxBufferSource.cpp
al/1.0/impl/WOmxBufferSource.h
al/1.0/impl/WOmxNode.cpp
al/1.0/impl/WOmxNode.h
al/1.0/impl/WOmxObserver.cpp
al/1.0/impl/WOmxObserver.h
al/1.0/impl/WOmxProducerListener.cpp
al/1.0/impl/WOmxProducerListener.h
ests/OMXHarness.cpp
694ebf6734cc7af6b8cf9c032fa3e5a00a54dc84 11-Mar-2017 Robert Shih <robertshih@google.com> Fix Omx emptyBuffer fd leak in GraphicBufferSource

Bug: 36110748
Test: adb shell am instrument -e size small -w android.media.cts/android.support.test.runner.AndroidJUnitRunner
Change-Id: I733bb9a0206760e8cdd74a6a72ae40f8bffaaac8
al/1.0/impl/WGraphicBufferSource.cpp
d095e65c8c125c555046c60539a0f7abf0ccf271 11-Mar-2017 Robert Shih <robertshih@google.com> Revert "Revert "Refactor GraphicBufferSource wrappers for OMX HAL""

This reverts commit a6331ba30928fac713f9d6ce94e1d5f0d008b501.

Bug: 36110748
Change-Id: I56260ae0cc13c17b0edb31c39d22f3fbd6708d34
ndroid.mk
WGraphicBufferSource.cpp
WGraphicBufferSource.h
raphicBufferSource.cpp
raphicBufferSource.h
OmxNodeWrapper.h
MX.cpp
al/1.0/impl/Android.mk
al/1.0/impl/Conversion.h
al/1.0/impl/Omx.cpp
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/impl/WOmx.cpp
al/1.0/impl/WOmx.h
a6331ba30928fac713f9d6ce94e1d5f0d008b501 10-Mar-2017 Rachad Alao <rachad@google.com> Revert "Refactor GraphicBufferSource wrappers for OMX HAL"

This reverts commit 3d32c95e94f2672d23b58196beafddacba07c5e8.

Bug: 36110748

Change-Id: I6d0cd5924b3e1e00cdcf844c638bb0acf4fae2ac
ndroid.mk
WGraphicBufferSource.cpp
WGraphicBufferSource.h
raphicBufferSource.cpp
raphicBufferSource.h
OmxNodeWrapper.h
MX.cpp
al/1.0/impl/Android.mk
al/1.0/impl/Conversion.h
al/1.0/impl/Omx.cpp
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/impl/WOmx.cpp
al/1.0/impl/WOmx.h
3d32c95e94f2672d23b58196beafddacba07c5e8 23-Feb-2017 Robert Shih <robertshih@google.com> Refactor GraphicBufferSource wrappers for OMX HAL

Bug: 35449087
Test: Manual
Change-Id: I0cf70526d820999902707af466ebb4e8a2c932ab
ndroid.mk
WGraphicBufferSource.cpp
WGraphicBufferSource.h
raphicBufferSource.cpp
raphicBufferSource.h
OmxNodeWrapper.h
MX.cpp
al/1.0/impl/Android.mk
al/1.0/impl/Conversion.h
al/1.0/impl/Omx.cpp
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/impl/WOmx.cpp
al/1.0/impl/WOmx.h
ac7d4125516299b8a3e6f2b25822a692bdd96311 01-Mar-2017 Pawin Vongmasa <pawin@google.com> Use tokens for IOmxNode.

Test: Mirroring, Camera, Photos, YouTube and Play Movies apps.
Bug: 35442034
Change-Id: I0e43ec57d0f37c71d41652fd9883b72650433e20
ndroid.mk
al/1.0/utils/Android.mk
al/1.0/utils/Conversion.h
al/1.0/utils/WGraphicBufferSource.cpp
al/1.0/utils/WGraphicBufferSource.h
al/1.0/utils/WOmx.cpp
al/1.0/utils/WOmx.h
al/1.0/utils/WOmxBufferProducer.cpp
al/1.0/utils/WOmxBufferProducer.h
al/1.0/utils/WOmxBufferSource.cpp
al/1.0/utils/WOmxBufferSource.h
al/1.0/utils/WOmxNode.cpp
al/1.0/utils/WOmxNode.h
al/1.0/utils/WOmxObserver.cpp
al/1.0/utils/WOmxObserver.h
al/1.0/utils/WOmxProducerListener.cpp
al/1.0/utils/WOmxProducerListener.h
ests/Android.mk
881fc5c65fc7d8c56af0dea181d751fcec3a2b1c 27-Feb-2017 Pawin Vongmasa <pawin@google.com> Merge "Clone fence inside QueueBufferInput on retrieval."
e1bd456cce56406fc0e35faffa4429fb4bf5bff6 27-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Remove GraphicBufferSource wrapper from OMX HAL: 1""
9e9aa6052e962e65e60c8248d93c3b4d8b9c27c4 27-Feb-2017 Robert Shih <robertshih@google.com> Revert "Remove GraphicBufferSource wrapper from OMX HAL: 1"

This reverts commit 2b93f6b7d44513b99edd8db031c28695c5b1652d.

Change-Id: I292b28a8d61560d97d7fa673c2de0e90f6074bde
al/1.0/impl/GraphicBufferSource.cpp
al/1.0/impl/GraphicBufferSource.h
b4d5ec0d8f3755ccb8d5ce51798c3004330e1120 24-Feb-2017 Aurimas Liutikas <aurimas@google.com> Merge "Suppress unused paramter warnings in omx hal 1.0"
8b13a00825f1ea44f5822087851fd4971d09ccac 24-Feb-2017 Pawin Vongmasa <pawin@google.com> Clone fence inside QueueBufferInput on retrieval.

Test: Record and play videos with Camera and Photo apps. Cast screen.
Bug: 35616667
Change-Id: Ia18f7990535c85cb745e0d7511367d6fb8f5dd21
al/1.0/impl/Conversion.h
al/1.0/utils/Conversion.h
0579c0bba47e9099804aaac0a7a016ac83800ae6 24-Feb-2017 Pawin Vongmasa <pawin@google.com> Merge "Fix error handling in Treble OMX wrappers."
66f8f71336b977867821a2f0d770eaa2114e3f46 24-Feb-2017 Aurimas Liutikas <aurimas@google.com> Suppress unused paramter warnings in omx hal 1.0

Test: make -j android.hardware.media.omx@1.0-impl works
Change-Id: I5d8af3f29c0a4da9fc99870a139c6dbe9964e96a
al/1.0/impl/Android.mk
3733b5c901e36a86e8c219e564886169dcdffcd7 23-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove GraphicBufferSource wrapper from OMX HAL: 1"
2b93f6b7d44513b99edd8db031c28695c5b1652d 23-Feb-2017 Robert Shih <robertshih@google.com> Remove GraphicBufferSource wrapper from OMX HAL: 1

Copy GraphicBufferSource impl to OMX HAL

Bug: 35449087
Test: Compiles
Change-Id: I793c918396da7c97ca9383cf6959a5334bfa5a75
al/1.0/impl/GraphicBufferSource.cpp
al/1.0/impl/GraphicBufferSource.h
568e453d72f4026c1a0e902d533f9352a7ca190c 23-Feb-2017 Steven Moreland <smoreland@google.com> Merge "Revert "OMX: don't respect binderization toggle.""
a45c300fcad38e23107b3ad8dd1d3935f5127f9c 23-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "OMX: don't respect binderization toggle."
223b8e36091a48b3963d2ea6fc7e304b71e26553 23-Feb-2017 Pawin Vongmasa <pawin@google.com> Fix error handling in Treble OMX wrappers.

Certain cases of error were not handled properly.

Also, this CL gets rid of the native crash as seen in b/35616667.
(Casting still does not function properly.)

Test: As instructed in b/35616667. No native crashes occur.
Bug: 35616667
Change-Id: I34d48fd83517010e8caa1b9ab246d171db1d4d49
al/1.0/impl/Android.mk
al/1.0/impl/Conversion.h
al/1.0/impl/Omx.cpp
al/1.0/impl/OmxNode.cpp
al/1.0/impl/OmxNode.h
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WOmxBufferProducer.cpp
al/1.0/impl/WOmxBufferSource.cpp
al/1.0/impl/WOmxObserver.cpp
al/1.0/utils/Android.mk
al/1.0/utils/Conversion.h
al/1.0/utils/WGraphicBufferSource.cpp
al/1.0/utils/WOmxBufferProducer.cpp
al/1.0/utils/WOmxBufferSource.cpp
al/1.0/utils/WOmxObserver.cpp
7e0c3c3e93cdf0d1fe59b82e8bc9c7c2fa678faf 23-Feb-2017 Steven Moreland <smoreland@google.com> Revert "OMX: don't respect binderization toggle."

This reverts commit 373580e1d51d3e89c16612998a10105fea09c3c5.
ests/OMXHarness.cpp
373580e1d51d3e89c16612998a10105fea09c3c5 23-Feb-2017 Steven Moreland <smoreland@google.com> OMX: don't respect binderization toggle.

Test: pass
Change-Id: I495c71b0a39ae8423e109219f8f5e96812fe2aa1
ests/OMXHarness.cpp
0d3a5edf232916e81adbc46fc0f4a1753166b066 22-Feb-2017 Pawin Vongmasa <pawin@google.com> Remove the dependency on passthrough IOmx in media.codec.

Also clean up some other dependencies.

Test: Manual testing with Camera, YouTube and Play Movies apps.
Bug: 35445903
Change-Id: I28562b5fbcc7054cf45c4ec2530bbe2ab4b5645f
al/1.0/impl/Android.mk
al/1.0/impl/Conversion.h
al/1.0/impl/Omx.cpp
al/1.0/impl/Omx.h
al/1.0/impl/OmxNode.cpp
al/1.0/impl/OmxNode.h
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/impl/WOmx.h
al/1.0/impl/WOmxBufferProducer.cpp
al/1.0/impl/WOmxBufferProducer.h
al/1.0/impl/WOmxBufferSource.cpp
al/1.0/impl/WOmxBufferSource.h
al/1.0/impl/WOmxNode.cpp
al/1.0/impl/WOmxNode.h
al/1.0/impl/WOmxObserver.cpp
al/1.0/impl/WOmxObserver.h
al/1.0/impl/WOmxProducerListener.h
al/1.0/utils/Android.mk
al/1.0/utils/Conversion.h
al/1.0/utils/WGraphicBufferSource.cpp
al/1.0/utils/WGraphicBufferSource.h
al/1.0/utils/WOmx.h
al/1.0/utils/WOmxBufferProducer.cpp
al/1.0/utils/WOmxBufferProducer.h
al/1.0/utils/WOmxBufferSource.cpp
al/1.0/utils/WOmxBufferSource.h
al/1.0/utils/WOmxNode.cpp
al/1.0/utils/WOmxNode.h
al/1.0/utils/WOmxObserver.cpp
al/1.0/utils/WOmxObserver.h
al/1.0/utils/WOmxProducerListener.h
ests/Android.mk
ests/OMXHarness.h
c0a3f679109769d8fb43b66fccbe47f8c505d12e 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use hidl.allocator for IAllocator."
bc1713d3b85d7ce656e032da6e4b6b342f14db03 14-Feb-2017 Mathias Agopian <mathias@google.com> fallout of splitting rect.h out of libandroid.

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

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

Test: built and booted device
Bug: 35164655
Change-Id: I72e8f0b7bd25c6a67eedc17afe52c4c484a147fe
oftVideoEncoderOMXComponent.cpp
13a926879249276771b0097538459c7550e2f5ce 17-Feb-2017 Steven Moreland <smoreland@google.com> Use hidl.allocator for IAllocator.

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

Bug: 35327976
Test: hidl_test, lshal, youtube/camera works
Change-Id: I7a2e72dcd3721d2689eb7ef95f5b140ecc1c446f
ests/OMXHarness.h
26f202600b4e10fa80bd2d51283aebb8fdd3669c 17-Feb-2017 Pawin Vongmasa <pawin@google.com> Add a missing check for HIDL transaction status.

Test: CtsMediaTestCases
Bug: 31399200
Change-Id: I515b0b0bf0eee44a7ec664fdd48d0a7bef68d323
al/1.0/impl/WOmxObserver.cpp
al/1.0/utils/WOmxObserver.cpp
42a5de6da0084fd430c70d58671559f71c738cf0 17-Feb-2017 Hangyu Kuang <hkuang@google.com> Merge "media: Support accurate pause/resume/stop in GraphicBufferSource."
764d945bfdb9dec60f2b482fbf6c5e83824ed950 13-Dec-2016 Hangyu Kuang <hkuang@google.com> media: Support accurate pause/resume/stop in GraphicBufferSource.

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

Test: Recording with hacking GoogleCamera timestamp. And Mediarecorder CTS test.
Bug:32765698
Change-Id: I9ec33d635aef269836d7a5d9f4b906cb41b46a0d
raphicBufferSource.cpp
raphicBufferSource.h
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/utils/WGraphicBufferSource.cpp
al/1.0/utils/WGraphicBufferSource.h
9c47c97ecac581d66b6febafd156618247e86742 08-Feb-2017 Pawin Vongmasa <pawin@google.com> Enable full migration of OMX to Treble.

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

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

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

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

Change-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a
al/1.0/impl/Conversion.h
al/1.0/utils/Conversion.h
ests/Android.mk
ests/OMXHarness.cpp
ests/OMXHarness.h
2f77a2229be73b222098c45aed73728842667e12 15-Feb-2017 Brian C. Anderson <brianderson@google.com> Merge "Update HIDL with CompositorTiming."
1f82e093581e6175c0ea0a99f1f9e8ee335502b9 14-Feb-2017 Brian Anderson <brianderson@google.com> Update HIDL with CompositorTiming.

Test: Tested manually with Chrome.
Change-Id: If04c4bdd7fdf559e05bfcde421b9b886c63a8aa7
al/1.0/impl/Conversion.h
al/1.0/utils/Conversion.h
8ff40189817e95c7a56e347398d20e60d7534ee6 07-Feb-2017 Pawin Vongmasa <pawin@google.com> Fix some bugs in the Treble connection.

Test: Do the following inside adb shell:
setenforce 0
setprop debug.treble_omx 1
pkill mediacodec
pkill mediaserver

Bug: 31399200
Change-Id: I8d0ebcca477738add8b41b58ae85539061cfad7b
raphicBufferSource.cpp
raphicBufferSource.h
al/1.0/impl/Conversion.h
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/impl/WOmx.cpp
al/1.0/impl/WOmx.h
al/1.0/impl/WOmxBufferProducer.cpp
al/1.0/impl/WOmxBufferProducer.h
al/1.0/impl/WOmxBufferSource.cpp
al/1.0/impl/WOmxBufferSource.h
al/1.0/impl/WOmxNode.cpp
al/1.0/impl/WOmxNode.h
al/1.0/impl/WOmxObserver.cpp
al/1.0/impl/WOmxObserver.h
al/1.0/impl/WOmxProducerListener.cpp
al/1.0/impl/WOmxProducerListener.h
al/1.0/utils/Conversion.h
al/1.0/utils/WGraphicBufferSource.cpp
al/1.0/utils/WGraphicBufferSource.h
al/1.0/utils/WOmx.cpp
al/1.0/utils/WOmx.h
al/1.0/utils/WOmxBufferProducer.cpp
al/1.0/utils/WOmxBufferProducer.h
al/1.0/utils/WOmxBufferSource.cpp
al/1.0/utils/WOmxBufferSource.h
al/1.0/utils/WOmxNode.cpp
al/1.0/utils/WOmxNode.h
al/1.0/utils/WOmxObserver.cpp
al/1.0/utils/WOmxObserver.h
al/1.0/utils/WOmxProducerListener.cpp
al/1.0/utils/WOmxProducerListener.h
92b6b72deb1e4225620806446c782d6cffb4cf17 07-Feb-2017 Pawin Vongmasa <pawin@google.com> Update conversion functions for QueueBufferOutput.

QueueBufferOutput was modified in ag/1806678.

Test: Compiles

Bug: 31399200
Bug: 34481539
Change-Id: Ibb0fb904047d9c00cb29f9f8b34dcf02fa0a0e5e
al/1.0/impl/Conversion.h
al/1.0/utils/Conversion.h
8a21c0191f974a0b9cbd5818052e2655e0aaa306 26-Dec-2016 Pawin Vongmasa <pawin@google.com> Modify ACodec to allow using Treble.

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

Also, fix some bugs found so far.

Test: Compiles
Bug: 31399200
Change-Id: I52b27b5f99bc1d6797d3b83b8be794ed2de9956a
MXNodeInstance.cpp
al/1.0/impl/Conversion.h
al/1.0/impl/WOmxNode.cpp
al/1.0/impl/WOmxObserver.cpp
al/1.0/utils/Conversion.h
al/1.0/utils/WOmxNode.cpp
al/1.0/utils/WOmxObserver.cpp
eeac97b18ca5c939bf2ac59334d36d54f705af3d 18-Jan-2017 Pawin Vongmasa <pawin@google.com> Split Treble conversion module into two sides: impl and utils.

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

Test: Compiles
Bug: 31399200
Change-Id: Ib88a80f406fa2b897aa7c65f5faba6cdd9d6a700
al/1.0/Android.mk
al/1.0/Conversion.h
al/1.0/Omx.cpp
al/1.0/Omx.h
al/1.0/OmxNode.cpp
al/1.0/OmxNode.h
al/1.0/WGraphicBufferSource.cpp
al/1.0/WGraphicBufferSource.h
al/1.0/WOmx.cpp
al/1.0/WOmx.h
al/1.0/WOmxBufferProducer.cpp
al/1.0/WOmxBufferProducer.h
al/1.0/WOmxBufferSource.cpp
al/1.0/WOmxBufferSource.h
al/1.0/WOmxNode.cpp
al/1.0/WOmxNode.h
al/1.0/WOmxObserver.cpp
al/1.0/WOmxObserver.h
al/1.0/WOmxProducerListener.cpp
al/1.0/WOmxProducerListener.h
al/1.0/impl/Android.mk
al/1.0/impl/Conversion.h
al/1.0/impl/Omx.cpp
al/1.0/impl/Omx.h
al/1.0/impl/OmxNode.cpp
al/1.0/impl/OmxNode.h
al/1.0/impl/WGraphicBufferSource.cpp
al/1.0/impl/WGraphicBufferSource.h
al/1.0/impl/WOmx.cpp
al/1.0/impl/WOmx.h
al/1.0/impl/WOmxBufferProducer.cpp
al/1.0/impl/WOmxBufferProducer.h
al/1.0/impl/WOmxBufferSource.cpp
al/1.0/impl/WOmxBufferSource.h
al/1.0/impl/WOmxNode.cpp
al/1.0/impl/WOmxNode.h
al/1.0/impl/WOmxObserver.cpp
al/1.0/impl/WOmxObserver.h
al/1.0/impl/WOmxProducerListener.cpp
al/1.0/impl/WOmxProducerListener.h
al/1.0/utils/Android.mk
al/1.0/utils/Conversion.h
al/1.0/utils/WGraphicBufferSource.cpp
al/1.0/utils/WGraphicBufferSource.h
al/1.0/utils/WOmx.cpp
al/1.0/utils/WOmx.h
al/1.0/utils/WOmxBufferProducer.cpp
al/1.0/utils/WOmxBufferProducer.h
al/1.0/utils/WOmxBufferSource.cpp
al/1.0/utils/WOmxBufferSource.h
al/1.0/utils/WOmxNode.cpp
al/1.0/utils/WOmxNode.h
al/1.0/utils/WOmxObserver.cpp
al/1.0/utils/WOmxObserver.h
al/1.0/utils/WOmxProducerListener.cpp
al/1.0/utils/WOmxProducerListener.h
f62ea8018813951e8f6a182880cadb3217e4ce37 19-Dec-2016 Pawin Vongmasa <pawin@google.com> Use HIDL's memory in CodecBuffer and add wrapper classes for
IOmxBufferProducer and IOmxProducerListener.

Test: Compiles
Bug: 31399200
Change-Id: Ia09973ee7b25120bc35cff02b1409f33b28a4b4e
ndroid.mk
MXNodeInstance.cpp
al/1.0/Android.mk
al/1.0/Conversion.h
al/1.0/Omx.cpp
al/1.0/Omx.h
al/1.0/OmxNode.cpp
al/1.0/OmxNode.h
al/1.0/WGraphicBufferSource.cpp
al/1.0/WGraphicBufferSource.h
al/1.0/WOmx.cpp
al/1.0/WOmx.h
al/1.0/WOmxBufferProducer.cpp
al/1.0/WOmxBufferProducer.h
al/1.0/WOmxBufferSource.cpp
al/1.0/WOmxBufferSource.h
al/1.0/WOmxNode.cpp
al/1.0/WOmxNode.h
al/1.0/WOmxObserver.cpp
al/1.0/WOmxObserver.h
al/1.0/WOmxProducerListener.cpp
al/1.0/WOmxProducerListener.h
ests/Android.mk
ceec4a06595253a6dcc167064f318e470e1c3b58 24-Jan-2017 Wonsik Kim <wonsik@google.com> Merge "stagefright: fix unreleased OMX handle"
3e378967b379afcd559b53d70d00e758f9c2616d 05-Jan-2017 Wonsik Kim <wonsik@google.com> stagefright: fix unreleased OMX handle

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

Fix: 28824626
Fix: 34252788
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: Ifc441a2771b5674749ff65a4520177dda115b292
MX.cpp
MXNodeInstance.cpp
a4a6d63ec590a3be60a60527c619fb0bf7870b59 21-Dec-2016 Vishwath Mohan <vishwath@google.com> Enable CFI for some media components.

Enables CFI locally for the following components:
media/libmedia/
media/libstagefright/codec2/
media/libstagefright/codecs/aacdec/
media/libstagefright/codecs/aacenc/
media/libstagefright/codecs/amrwbenc/
media/libstagefright/codecs/avc/common/
media/libstagefright/codecs/avc/enc/
media/libstagefright/codecs/avcdec/
media/libstagefright/codecs/avcenc/
media/libstagefright/codecs/flac/enc/
media/libstagefright/codecs/g711/dec/
media/libstagefright/codecs/gsm/dec/
media/libstagefright/codecs/hevcdec/
media/libstagefright/codecs/m4v_h263/dec/
media/libstagefright/codecs/m4v_h263/enc/
media/libstagefright/codecs/mp3dec/
media/libstagefright/codecs/mpeg2dec/
media/libstagefright/codecs/on2/dec/
media/libstagefright/codecs/on2/enc/
media/libstagefright/codecs/on2/h264dec/
media/libstagefright/codecs/opus/dec/
media/libstagefright/codecs/raw/
media/libstagefright/http/
media/libstagefright/httplive/
media/libstagefright/omx/
media/libstagefright/wifi-display/

Note that CFI is currently hidden under the global flag,
ENABLE_CFI=true. Unless this is set, local settings are not honored
and CFI will not be enabled. This allows CFI to essentially remain off
on all branches, but will allow it to be tested and debugged using
targeted builds.

Bug: 30227045
Test: m -j40 and device builds and boots
Test: CFI is not enabled unless built with ENABLE_CFI=true
Test: CFI enabled build passes the media CTS tests.
ndroid.mk
49b2b4d30a0f74314630a5ea5f0e59697d90443e 12-Jan-2017 Chong Zhang <chz@google.com> stagefright: add rangeOffset to OMXBuffer

bug: 31399200
bug: 22804304

Change-Id: I0ac9a7ee684067d40a26135ab26ebd3de3a2f06d
MXNodeInstance.cpp
e83be8af690ef1ac820a63414d522e77ca9d4db6 06-Jan-2017 Steven Moreland <smoreland@google.com> Remove usage of getStatus.

- remove from libaudiohal
- remove from services/radio
- remove from soundtrigger
- remove from omx

Bug: 31348667
Test: compiles
Change-Id: I75bb7b7388527dacfdc5bf128712cb8690bc286b
al/1.0/Conversion.h
517b0e090680e378f056677201426ed9dc325c65 02-Dec-2016 Pawin Vongmasa <pawin@google.com> Add conversion functions.

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

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

Test: Compiles.

Bug: 31399200
Change-Id: Iaec9c0e0afee6fc847f324c3eb3c105d6342a1fe
al/1.0/Android.mk
al/1.0/Conversion.h
al/1.0/GraphicBufferSource.cpp
al/1.0/GraphicBufferSource.h
al/1.0/Omx.cpp
al/1.0/Omx.h
al/1.0/OmxBufferSource.cpp
al/1.0/OmxBufferSource.h
al/1.0/OmxNode.cpp
al/1.0/OmxNode.h
al/1.0/OmxObserver.cpp
al/1.0/OmxObserver.h
al/1.0/WGraphicBufferSource.cpp
al/1.0/WGraphicBufferSource.h
al/1.0/WOmx.cpp
al/1.0/WOmx.h
al/1.0/WOmxBufferSource.cpp
al/1.0/WOmxBufferSource.h
al/1.0/WOmxNode.cpp
al/1.0/WOmxNode.h
al/1.0/WOmxObserver.cpp
al/1.0/WOmxObserver.h
ba1dbe6e1fbb77a6b52549d42402d0ebf7c01c59 02-Dec-2016 Marco Nelissen <marcone@google.com> Merge "Use property_get_bool where possible"
3b6889c296786b9d7d062abaa2e736c9246e0622 02-Dec-2016 Pawin Vongmasa <pawin@google.com> Merge "Decouple OMX from OMXNodeInstance."
96626b7f9a4e5c9e1e04f7f710383631d1470364 01-Dec-2016 Marco Nelissen <marcone@google.com> Use property_get_bool where possible

Make handling of boolean properties more readable and consistent by
using property_get_bool instead of parsing the result of property_get

Change-Id: I8490d0f0b41a92eab5131e0aac0ecdf704a63381
MXNodeInstance.cpp
d3ed3883c2d7bf3fb871be512055ed72cea964da 01-Dec-2016 Pawin Vongmasa <pawin@google.com> Decouple OMX from OMXNodeInstance.

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

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

Bug: 31399200

Change-Id: Ia2d07a48aa94da8378fd36e55244a7e7817a5f42
MXNodeInstance.cpp
76307481cf727f17add7e15527136f2402bd80a5 30-Nov-2016 Pawin Vongmasa <pawin@google.com> Start OMX HAL implementation.

Bug: 31399200

Test: None
Change-Id: I7ba9af10f76ec178c7df72e0202add30864b73c3
al/1.0/Android.mk
al/1.0/GraphicBufferSource.cpp
al/1.0/GraphicBufferSource.h
al/1.0/Omx.cpp
al/1.0/Omx.h
al/1.0/OmxBufferSource.cpp
al/1.0/OmxBufferSource.h
al/1.0/OmxNode.cpp
al/1.0/OmxNode.h
al/1.0/OmxObserver.cpp
al/1.0/OmxObserver.h
92d57f926eb39d72e8fd8f3b3c9e40d25f77ad47 22-Nov-2016 Marco Nelissen <marcone@google.com> Move 'sniff' functionality from DataSource to MediaExtractor

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

Bug: 33166870

Change-Id: Id269d1eab8be1549542adad3037729a63b5ebaef
ests/OMXHarness.cpp
d02c08671d666e12a94bcadd943787a9ab2ceea8 13-Oct-2016 Chong Zhang <chz@google.com> IOMX: add API for setPortMode

- Add setPortMode to centralize port mode configuration

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

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

bug: 31399200

Change-Id: Iaf33bd7c30fab4acbc19e9fb8c19e322f9b4a0a0
MXNodeInstance.cpp
MXUtils.h
d4370268adbbb95eca7a518a55abe42678df93ef 27-Oct-2016 Chong Zhang <chz@google.com> Merge "IOMX: consolidate buffer passing on IOMX"
3fd200feb657c157125e45e30c2a7262e3c0244d 08-Oct-2016 Chong Zhang <chz@google.com> IOMX: consolidate buffer passing on IOMX

- Use OMXBuffer to parcel different buffer types.

- Only leave one useBuffer, emptyBuffer and fillBuffer.

- Remove the update metadata calls.

bug: 31399200
Change-Id: I307e59415c3c5be61772210431bd8225ce6b75a3
raphicBufferSource.cpp
MXNodeInstance.cpp
ests/OMXHarness.cpp
7a987ecdab7e87f916fef28bf991a6183020f1b4 27-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove unneeded links with dynamic libraries"
5737a69a910de65b67d2703bcb18d6d8058ebe48 27-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "media: Adjust the first video/audio sample time in slow motion."
bd83e4b3e77b31e089832bcfbebde086392216c9 26-Oct-2016 Hangyu Kuang <hkuang@google.com> media: Adjust the first video/audio sample time in slow motion.

Test: Manual test.

Bug: 32243250
Change-Id: I9469d6f9929ca67f2f12e658382bc76e7236b256
raphicBufferSource.cpp
c661ae6165338fd5f0bca50a63058b4bcd6def4b 25-Oct-2016 Marco Nelissen <marcone@google.com> Remove unneeded links with dynamic libraries

Various media components were linking against dynamic libraries that weren't needed.

Test: built and booted

Change-Id: I7379506fd06d4e28e0eff0001fd073a2d3860f8e
ndroid.mk
3604cb1a5548694393c7b7a87191eb517bebaa47 10-Oct-2016 Chong Zhang <chz@google.com> IOMX: move max pts gap handling to OMX

bug: 31399200

Change-Id: I52177d6826caeedf670ecf3e6d0ff85d0e3bf1df
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
e7557336920ca7e7d53e8ccc03d23359b41957af 18-Oct-2016 Glenn Kasten <gkasten@google.com> Remove executable bit from ordinary files

Test: builds OK
Change-Id: I7912c9c9c85dc500d33698fc174ba2a0db387407
oftOMXPlugin.cpp
ecc97eb44a0675974fcf43b0c68edaaa539d2996 13-Oct-2016 Chong Zhang <chz@google.com> IOMX: do not allocate if output port is in metadata mode

We used to always use useBuffer() for output meta. If we let
the component allocate, some components (eg. secure decoder)
could give us a buffer that we can't update.

bug: 32136559
Change-Id: I1eefe5cbde2d0b1944ff3e72e31663693f6c1fdb
MXNodeInstance.cpp
addf2cbb120346ae42e78fa739245a353db5edad 29-Sep-2016 Chong Zhang <chz@google.com> IOMX: consolidate createInputSurface APIs

- Create GraphicBufferSource in IOMX regardless of persistency.

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

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

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

- Remove max encoder input buffers profiling code.

bug: 31399200
Change-Id: I15ed52cc64509fd87736372a580abf7b51bf4de7
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
21b46588d022d0c22d7c7c08e919d7a9c5cd76e3 04-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove allocateBufferWithBackup

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

Also remove a few unused variables on BufferMeta.

bug: 31399200
Change-Id: I93bef964ce034d4aeb1f5d13a75f130108e4e648
MXNodeInstance.cpp
ests/OMXHarness.cpp
72e8bfdde091d78796c297ff708febf2a2cbbf6c 06-Oct-2016 Chong Zhang <chz@google.com> Merge "IOMX: remove nodeBinder from allocateNode"
1d2e9cfbe3f2db16ecafd2adafb4c60d7235a2ce 06-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove nodeBinder from allocateNode

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

bug: 31399200

Change-Id: Ic5dd5330dab448ae126aaec694f71f22857b3169
MX.cpp
ests/OMXHarness.cpp
09316fdbebc8e2e899f663aa1e4b1bcb0531354d 06-Oct-2016 Glenn Kasten <gkasten@google.com> Merge "LOCAL_CLANG := true is now the default"
5f5ee1110dd85001b43db7637a97474acfe8d681 16-Aug-2016 Glenn Kasten <gkasten@google.com> LOCAL_CLANG := true is now the default

Test: verify that build has no failures
Change-Id: Ib249b276c6295e55eb54fa37b6d15486415dfbed
ndroid.mk
ests/Android.mk
7dcc5f394b17238f2ae1a9c59f34664d3ad085e7 05-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove getState() and livesLocally()

These are no longer used.

bug: 31399200

Change-Id: Ic61e8c7fa016ccd038e2b2427ccb08b78af34245
MXNodeInstance.cpp
d59b97223424a3974d2ac31cff998d02eecf2eed 21-Sep-2016 Chong Zhang <chz@google.com> IOMX: separate node interface from IOMX

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

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

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

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

- Minor whitespace reformatting.

bug: 31399200

Change-Id: I8aef6ec1fa5aba861da7d121960ed2974a963d81
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
MXUtils.cpp
MXUtils.h
ests/OMXHarness.cpp
ests/OMXHarness.h
d97f85ceab74b9f39856cca3cb101139b19140b9 30-Sep-2016 Marco Nelissen <marcone@google.com> Handle idle->loaded state transition when loaded->idle is still in progress am: c5e316d4ef am: fd3ca8acd4
am: e1e7a5a1e2

Change-Id: Iccb6a413f3688c74fdcb6b8cc437428aa36bb909
e1e7a5a1e23655257c6424494595c0475f726c8a 30-Sep-2016 Marco Nelissen <marcone@google.com> Handle idle->loaded state transition when loaded->idle is still in progress am: c5e316d4ef
am: fd3ca8acd4

Change-Id: I2a547b679f8027ff635f27593d85bac80fafeae2
c5e316d4ef18262d1c3560fc7ac8ecc8df8c96d9 02-Sep-2016 Marco Nelissen <marcone@google.com> Handle idle->loaded state transition when loaded->idle is still in progress

Bug: 31156921
Change-Id: I926cab482fadecb8bb885d85e0d083a4501596fd
impleSoftOMXComponent.cpp
acd619a940dd945cd14bc6f637cc86413c6745ba 22-Sep-2016 Jim Kaye <jameskaye@google.com> Adjust RGB-to-YUV conversion

Round values rather than truncate them. ITU-R BT.601 indicates that
values should be rounded. Also, correct one coefficient value that
was slightly off.

These errors caused some CTS test failures for the Emulator.

BUG: http://b/31497838
Change-Id: I4c15e02dac266e243d3baf015fd3939877ab930c
(cherry picked from commit 36402501e4d94108db9e35fd3bb03c455d6a1635)
oftVideoEncoderOMXComponent.cpp
6d332d2cdf6e62c2c20ebff220868fe9e3ed7f44 07-Sep-2016 Chong Zhang <chz@google.com> stagefright: abstract GraphicBufferSource to interfaces

Create two interfaces from GraphicBufferSource:

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

b) IOMXBufferSource for IOMX to send OMX specific callbacks.

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

Define newly introduced interfaces using AIDL to facilitate code
development.

bug: 31399200

Change-Id: Ibaf6ca1a0737ba6ba9f83bedc3b06ef358db36cb
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
e20d91ebf23df23b7ed213487af64431d4617e0c 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee am: 130eb563b8 am: 106a9050b9 am: 53de578e88 am: 295244de61 am: 17b0bdf4e8 am: ea65b73f84 am: 58bb33f447 am: 6d50452127
am: b572e4adb8

Change-Id: Ieea0a3c8b54d606bea1d2e0fa99b58de552bc6d3
b572e4adb8f7645990406e05da3b76ad3d0c0b44 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee am: 130eb563b8 am: 106a9050b9 am: 53de578e88 am: 295244de61 am: 17b0bdf4e8 am: ea65b73f84 am: 58bb33f447
am: 6d50452127

Change-Id: I5ccff32fda63c26a2163d9ca5f471d1644330684
979f7ac5007438ba977454372463a00f08fc625d 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee am: 130eb563b8 am: 106a9050b9 am: 53de578e88 am: 295244de61 am: 17b0bdf4e8 am: ea65b73f84 am: 58bb33f447
am: a2eeb67e3f

Change-Id: Ic8d49e7f585dec1083c6438be09c00859a602eed
a2eeb67e3fadaeb4d8083548bc57440e97698369 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee am: 130eb563b8 am: 106a9050b9 am: 53de578e88 am: 295244de61 am: 17b0bdf4e8 am: ea65b73f84
am: 58bb33f447

Change-Id: Id6e214013c23d323f9e47e3dbc6930d0c72373d0
6d50452127e736319204f70976982d2b1772fce3 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee am: 130eb563b8 am: 106a9050b9 am: 53de578e88 am: 295244de61 am: 17b0bdf4e8 am: ea65b73f84
am: 58bb33f447

Change-Id: Ic92e8fbc87ce94f03a4eaa84fc7676cb5b8f4282
58bb33f447c1a6fd1e64de399f177e6875b2c90d 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee am: 130eb563b8 am: 106a9050b9 am: 53de578e88 am: 295244de61 am: 17b0bdf4e8
am: ea65b73f84

Change-Id: Ib5c4248b350758a4fdb097dfbf15ab66ae976f19
53de578e884f12d45eef09312ac51c30d68e079a 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee am: 130eb563b8
am: 106a9050b9

Change-Id: Id244e1a1872462d64da300c0c461ee939a8f1f76
106a9050b939c99c62d80489e3167a04512bf95e 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c am: b308b1a5d9 am: 87415a74ee
am: 130eb563b8

Change-Id: I8a6ee92a0077102d93f6c9e82b5f439f99e4749c
87415a74ee6ce2618b036a4dcee6015956b072d7 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141 am: dfe5b5193c
am: b308b1a5d9

Change-Id: I502080e16a7543aac4b6720283f27b365bac8d52
b308b1a5d95a03d45cf8bfaf4f35debd398f3c20 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component am: ea76573aa2 am: 86d9bb9141
am: dfe5b5193c

Change-Id: Ibd28b74deb652eb61b08e933a5e288d145841a14
ea76573aa276f51950007217a97903c4fe64f685 20-Sep-2016 Chong Zhang <chz@google.com> IOMX: do not clear buffer if it's allocated by component

The component might depends on their buffers to be initialized
in certain ways to work. Don't clear unless we're allocating it.

bug: 31586647
Change-Id: Ia0a125797e414998ef0cd8ce03672f5b1e0bbf7a
MXNodeInstance.cpp
d5d60f642d1d2620b120ca46b1d409007f494321 19-Sep-2016 Lajos Molnar <lajos@google.com> fix build

Revert incorrectly merged f8a4cb410115045278f534e54b41ac78d6bf6c07.
Merge 7c3c2fa3e233c656fc8c2fc2a6634b3ecf8a23e8 instead.

Keep fixes to these that were merged in since then.
MXNodeInstance.cpp
7dc9a2cb91daedbc4a8ed8d5ba82a18ac9203fbf 16-Sep-2016 Wei Jia <wjia@google.com> OMXNodeInstance: sanity check portIndex. am: f80a1f5075 am: 42f2e3d01d
am: d6743b21c9

Change-Id: Ifc05bd88225a33d8bf40251d01f490ac5dde2a5b
d6743b21c990d4e7d006a02b13ee95a7d301b4c0 16-Sep-2016 Wei Jia <wjia@google.com> OMXNodeInstance: sanity check portIndex. am: f80a1f5075
am: 42f2e3d01d

Change-Id: Ib44a8e7f31f97c26de070fbf0f2bb85ad58f3c1f
5d4f50695fde92222105134a5d10a324177f52ba 16-Sep-2016 Wei Jia <wjia@google.com> OMXNodeInstance: sanity check portIndex. am: f80a1f5075
am: fdef4bd6d7

Change-Id: Id57388fa30055457e285945c6ac00d6805d4c9dd
fdef4bd6d7ea290483c85fb0d77fa7bae5f5ef4e 16-Sep-2016 Wei Jia <wjia@google.com> OMXNodeInstance: sanity check portIndex.
am: f80a1f5075

Change-Id: I065e500d25a8699845ec00d79f4ff7237f345868
42f2e3d01d1dac5d698bfd5e12c264ec3f4ddcfc 16-Sep-2016 Wei Jia <wjia@google.com> OMXNodeInstance: sanity check portIndex.
am: f80a1f5075

Change-Id: Ia03a18d6aaa65bd40cdcf008bc40ea7013345fb0
0d12304082da254f6165a4edddc573d03dfa9b8a 16-Sep-2016 Wei Jia <wjia@google.com> Merge "OMXNodeInstance: sanity check portIndex." into nyc-dev
0520fa2f690f26d392c716af5863b657e4faadc7 16-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: c13904014b am: 99accf6cdc am: 9a565c52b0 am: daa3b8e3fa am: c47a0e4c71
am: 1f05c699bd

Change-Id: I9bd9cbf1623de997afddaff4503bc639b6fd158f
c47a0e4c71e87e73613f3f9ed49b21a3320ad676 16-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: c13904014b am: 99accf6cdc am: 9a565c52b0
am: daa3b8e3fa

Change-Id: I163ffc7bb0b794af540653614be05abfe2fb828e
daa3b8e3fae616a73c2087d657a2f2a8afcec62f 16-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: c13904014b am: 99accf6cdc
am: 9a565c52b0

Change-Id: If2465b5f16cc58d5d0d7cda3e117ad863dafd479
fb735e250be26a235ddeb9a0e3db36bef4c7adc1 16-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: e03b22839d am: 66b557b3a2 am: 59ae56a5ba am: 860a1a25b5
am: 173bf42e3c

Change-Id: I1a8b2aab0bbc473e044ebd576056e55aacc0b679
6108cb420550a48786435c70f2ef32e9211ef6fe 16-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: e03b22839d am: 66b557b3a2 am: 59ae56a5ba am: 860a1a25b5
am: 173bf42e3c

Change-Id: If12b0e8cb68c097d54c30b6f5571bc5a37e698f2
63057d226ec50521450723f25ac8ea708e254cc9 16-Sep-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 4646bb6 to master

Change-Id: Ic13f334730af2eea1b4c8d38c158deadd0789a1c
173bf42e3ca7d1875f9c07d252ecf4dd12e5970e 16-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: e03b22839d am: 66b557b3a2 am: 59ae56a5ba
am: 860a1a25b5

Change-Id: I619d6cc0b70dc597796afe2c597e44c64e8f8bc3
4646bb6d3774317ab39f6c4b559184fb98e3ad9c 16-Sep-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 2fbcb4f to nyc-mr1-dev-plus-aosp

Change-Id: Ibaccc1290942c18c56e66a754e3df18e8c4cea95
2fbcb4fe6c0726bd7b7b9a48a93b74f57021a4fa 15-Sep-2016 Chih-Hung Hsieh <chh@google.com> Merge "media: Fix graphic buffer leak." am: 4bcdf599a9
am: 4f9ed8b5d6

Change-Id: Ia795ea0637db79bf00050fb5856ebcde1382059d
00beaa2776382e8fa1844cd85e00813c3f226970 15-Sep-2016 Chih-Hung Hsieh <chh@google.com> media: Fix graphic buffer leak.

Bug: 30882996
Test: build and boot
Change-Id: I673c06b225f55f0d9f15800edb8113abc237c4ce
Merged-In: I571a3a9d1705233029abb92f3752416d55ed1056
raphicBufferSource.cpp
raphicBufferSource.h
c8a2fd3fe2dc649b9aefe6f69b3fbc5ee36dbf5c 15-Sep-2016 Lajos Molnar <lajos@google.com> Merge commit '534bb6132a6a664f90b42b3ef81298b42efb3dc2' into HEAD
1658f22ef0f4e4ae5640d2474fc138dab4a84844 02-Aug-2016 Lajos Molnar <lajos@google.com> IOMX: work against metadata buffer spoofing

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

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
MXNodeInstance.cpp
3a8eaeec94e305334e5f4a0000f7e56eb547a482 15-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: do not convert ANWB to gralloc source in emptyBuffer am: 534bb6132a am: c695faf1de am: 6f04c53ef5 am: 69e38e79a9
am: 424dea98b4

Change-Id: Icc3b89cb979d775980b8cd1978a344f6e59bced3
006245d5897b19e26896c1324f52eb33a1a7785f 15-Sep-2016 Chong Zhang <chz@google.com> resolve merge conflicts of ac63f7e to master

Change-Id: Id3dc3f5883052ae59b2861a55b85f21f6c0e26b2
424dea98b4c42961471fdf7ffb2329e8170b517d 15-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: do not convert ANWB to gralloc source in emptyBuffer am: 534bb6132a am: c695faf1de am: 6f04c53ef5
am: 69e38e79a9

Change-Id: I9b3d9b950049eb895e3063adf5fe8e47395bc779
f80a1f5075a7c6e1982d37c68bfed7c9a611bb20 14-Sep-2016 Wei Jia <wjia@google.com> OMXNodeInstance: sanity check portIndex.

Bug: 31385713
Change-Id: Ib91d00eb5cc8c51c84d37f5d36d6b7ca594d201f
MXNodeInstance.cpp
ac63f7ee23090f2ad9e8b6180440f1fbc8a71e37 15-Sep-2016 Chong Zhang <chz@google.com> resolve merge conflicts of 4743f50 to nyc-mr1-dev-plus-aosp

Change-Id: If67748ece5ec87bd6f272c545e15105c60765473
6f04c53ef5447ea48cc3e7e722e857ef5bc00457 15-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: do not convert ANWB to gralloc source in emptyBuffer am: 534bb6132a
am: c695faf1de

Change-Id: Icd3f99383bb6abede6a18bbdc489bc307c14c550
c695faf1dea6888b805d4a1ab10411d1d52a8fbc 15-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: do not convert ANWB to gralloc source in emptyBuffer
am: 534bb6132a

Change-Id: Icf260f16e4edb7467ad8e96ff67c3709c2a27e28
4743f503d6dc487776e5cb0193f05b9b1140b182 15-Sep-2016 Chong Zhang <chz@google.com> Release buffer slot basing on reference counter
am: fdeac6c97d

Change-Id: Ibc48b472ef28aaae5878046578f0266462287c11
2a327f52fd00a8d709b181e19b0ba4f3bb0e67e7 15-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Release buffer slot basing on reference counter" into nyc-mr1-dev
fdeac6c97d87aff25653d42d24d0c18c568c684a 15-Sep-2016 Chong Zhang <chz@google.com> Release buffer slot basing on reference counter

This patch introduces counter which stores number
of references kept by CodecBuffers for each GraphicBuffer
on given slot.
The counter is decreased after codec buffers emptied
and increased after buffers submitted. When counter
becomes 0 it means that given buffer slot shall be
released.

Bug: 30024369

Cherry-picked with (rebase and fix) from:

https://android-review.googlesource.com/#/c/246510/2

Change-Id: I4ecd7902a6a525f9a598682d9cccc0f771752280
raphicBufferSource.cpp
raphicBufferSource.h
7ef56575285409728278b0eda07c025ee5c5e217 14-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: 6392ae13cf am: bb79fb6b49
am: 523227eb02

Change-Id: I989937c02d4a167dcfb19e040d1a7fa177883536
523227eb0209060ab551b661e95a22e415d24930 14-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state am: 6392ae13cf
am: bb79fb6b49

Change-Id: I7e453a4c74d9ee3cdcbb1892f93ff2e258cd42de
e03b22839d78c841ce0a1a0a1ee1960932188b0b 14-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state

This was disallowed recently but we still use it as MediaCodcec.stop
only goes to loaded state, and does not free component.

Bug: 31450460
Change-Id: I72e092e4e55c9f23b1baee3e950d76e84a5ef28d
MXNodeInstance.cpp
087ff38490016f4a0b6a1e717ae8af781d9b750c 12-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: restrict conversion of ANWB to gralloc source in emptyBuffer

This is only allowed in-process (if backup and codec buffers are
connected.)

Bug: 29422020
Bug: 31412859
Change-Id: If48e3e0b6f1af99a459fdc3f6f03744bbf0dc375
MXNodeInstance.cpp
c13904014bfeb56b8a3cc372190bb3a2dd8f1e0d 14-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state

This was disallowed recently but we still use it as MediaCodcec.stop
only goes to loaded state, and does not free component.

Bug: 31450460
Change-Id: I72e092e4e55c9f23b1baee3e950d76e84a5ef28d
MXNodeInstance.cpp
6392ae13cf6e15c706fce45396ec1e79af6171a9 14-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: allow configuration after going to loaded state

This was disallowed recently but we still use it as MediaCodcec.stop
only goes to loaded state, and does not free component.

Bug: 31450460
Change-Id: I72e092e4e55c9f23b1baee3e950d76e84a5ef28d
MXNodeInstance.cpp
43cace6b1fe5fb952f6be3c312ef6d344a30f68d 14-Sep-2016 Chong Zhang <chz@google.com> stagefright: always add pts info if max pts gap is set am: 718ae52c24 am: 44a98c7807
am: a50d25a4b5

Change-Id: Ie6df6cd4c0b0199a217f9c47e5a0ae9ee1eb4aff
a50d25a4b5e5cd0f2c51241e9fb2a0752ce3c6a2 14-Sep-2016 Chong Zhang <chz@google.com> stagefright: always add pts info if max pts gap is set am: 718ae52c24
am: 44a98c7807

Change-Id: I33aec57f1816e208443044b531fafb440804ac4a
718ae52c24b243d19d91dd97c2f6ea37d3524df0 13-Sep-2016 Chong Zhang <chz@google.com> stagefright: always add pts info if max pts gap is set

bug: 31442520
Change-Id: If23d402f6649ad4e8928d14d271accd1f2415a2e
raphicBufferSource.cpp
534bb6132a6a664f90b42b3ef81298b42efb3dc2 12-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: do not convert ANWB to gralloc source in emptyBuffer

Bug: 29422020
Bug: 31412859
Change-Id: If48e3e0b6f1af99a459fdc3f6f03744bbf0dc375
MXNodeInstance.cpp
09fcc862f226df509cde12923d92cf6db53c4108 09-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: remove OMXNodeInstance usage from GraphicBufferSource"
6cf9a1238986880536de705255f7c2c91c1ba719 09-Sep-2016 Chong Zhang <chz@google.com> stagefright: remove OMXNodeInstance usage from GraphicBufferSource

This is a preliminary to separate GraphicBufferSource from IOMX.

- Use IOMX instead of internal OMXNodeInstance.

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

- Upon data space change, notify IOMX to handle it

bug: 31399200

Change-Id: I86534d7602294f70da582457b5af2eb9b6a58eda
raphicBufferSource.cpp
raphicBufferSource.h
MX.cpp
MXNodeInstance.cpp
af9f6d3956672ac552e2404e2252f1aa9fc784a6 09-Sep-2016 Lajos Molnar <lajos@google.com> resolve merge conflicts of 35514a3 to nyc-mr1-dev-plus-aosp
am: 71aba39b87

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

Change-Id: Id8987a560a26cd02b6ec51be72dd0914f451d800
61bb7a0d99bcacac5ae4ea2171add8d4dd9ea459 09-Sep-2016 Lajos Molnar <lajos@google.com> DO NOT MERGE: IOMX: work against metadata buffer spoofing am: 9a4768f7bf
am: da3cba194b

Change-Id: I018340e57d237e4d36d68e2cd118336242447b9c
beb7008c2e6c8ee71b5e5aaf101990ea52a67da1 09-Sep-2016 Wonsik Kim <wonsik@google.com> DO NOT MERGE omx: check buffer port before using am: 0e2cc67785
am: 5dd07a6ef3

Change-Id: I3b95ef380f380dac23aaf97be96630ca8bef552c
6e076c0600ece3819d03819f2a7336654e995626 09-Sep-2016 Lajos Molnar <lajos@google.com> DO NOT MERGE: IOMX: work against metadata buffer spoofing
am: 7c3c2fa3e2

Change-Id: Ia4570bec9d092566ab437e46c4030b739160d82e
35514a3f80f9c83529f454343b7bc405ccab6ba1 09-Sep-2016 Lajos Molnar <lajos@google.com> IOMX: work against metadata buffer spoofing
am: d32d4030c3

Change-Id: I828a193e45fcf9c5d0ea689b964ece082ad06e43
01b589c3e1976672dc9106d17c6e0095915082be 09-Sep-2016 Lajos Molnar <lajos@google.com> Merge "IOMX: work against metadata buffer spoofing" into nyc-mr1-dev
fcf7cf78bc0abc61b86ccb08fb3391f560143ad2 30-Aug-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource.

Bug:31158120
Bug:30919939
Change-Id: I7c1b626eee8512dac691b03309f724b3351e6e2f
(cherry picked from commit 61fcfd1b0b58dff9284ede8dc49749ca7395856d)
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
86f051e812b896e527d890a6da11db8f8909fb1c 02-Sep-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource. am: 61fcfd1b0b am: 5ed707356a
am: 3dfe842f35

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

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

Bug:30919939
Change-Id: I7c1b626eee8512dac691b03309f724b3351e6e2f
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
7c3c2fa3e233c656fc8c2fc2a6634b3ecf8a23e8 02-Aug-2016 Lajos Molnar <lajos@google.com> DO NOT MERGE: IOMX: work against metadata buffer spoofing

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

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
MXNodeInstance.cpp
d32d4030c3778b7947c08e9be7d38c229d8d555d 02-Aug-2016 Lajos Molnar <lajos@google.com> IOMX: work against metadata buffer spoofing

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

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
MXNodeInstance.cpp
50c92866312fa3ef72d1fca53f80cba33f3d092c 19-Aug-2016 Hangyu Kuang <hkuang@google.com> media: Fix graphic buffer leak.

Bug: 30882996
Change-Id: I571a3a9d1705233029abb92f3752416d55ed1056
raphicBufferSource.cpp
raphicBufferSource.h
9a4768f7bfcd4654f93ad9b22eff87df493a9d5e 02-Aug-2016 Lajos Molnar <lajos@google.com> DO NOT MERGE: IOMX: work against metadata buffer spoofing

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

[backported from M]

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
MX.cpp
MXNodeInstance.cpp
86369364a07c85dd8f0e890b783a7bd434b8ef7c 02-Aug-2016 Lajos Molnar <lajos@google.com> DO NOT MERGE: IOMX: work against metadata buffer spoofing

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

[backported from L-MR1]

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
MX.cpp
MXNodeInstance.cpp
807e827d4c1196754faaf138cb93c57c5b137e69 02-Aug-2016 Lajos Molnar <lajos@google.com> DO NOT MERGE: IOMX: work against metadata buffer spoofing

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

[backported from L]

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
MX.cpp
MXNodeInstance.cpp
7d64d30d0dcdb97be921790e2702e5adfe751d92 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master am: 32d6e5f0eb
am: a944197b97

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

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

Change-Id: Iabb5d9b93b98e428c53f0504fbfe832ed24d988d
0d1ed381fde5dac12dd84fcf3da66dac46699378 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

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

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
Merged-In: I7a15ac1e37973fe2c661f577a6106b913653de40
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
40d8899f60c5212af9d727ba0ffaaecf676ebd1d 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

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

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
raphicBufferSource.cpp
raphicBufferSource.h
MXNodeInstance.cpp
f8a4cb410115045278f534e54b41ac78d6bf6c07 02-Aug-2016 Lajos Molnar <lajos@google.com> IOMX: work against metadata buffer spoofing

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

Bug: 29422020
Change-Id: I801c77b80e703903f62e42d76fd2e76a34e4bc8e
MX.cpp
MXNodeInstance.cpp
0e2cc67785e417da3df72b3e7d8fcb792582b076 25-May-2016 Wonsik Kim <wonsik@google.com> DO NOT MERGE omx: check buffer port before using

Bug: 28816827
Change-Id: I3d5bad4a1ef96dec544b05bb31cc6f7109aae0a5
MXNodeInstance.cpp
d5f9f69122f32d2a43963bdb56a4efd5426e59e6 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108 am: 062fd4a341 am: 45fb504379 am: 56fb1ed051 am: e02be17174 am: 7f58e2ec8f am: e262ff5af7 am: 360091a894 am: dfb7744a6a am: 8b825b8445 am: 79d27ec027
am: 5f0a7231bf

Change-Id: I0514ed0ac83248eb70996edcc8f9c45bb39a9d6a
5f0a7231bfd9565e01cb61efae5010b0344e7970 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108 am: 062fd4a341 am: 45fb504379 am: 56fb1ed051 am: e02be17174 am: 7f58e2ec8f am: e262ff5af7 am: 360091a894 am: dfb7744a6a am: 8b825b8445
am: 79d27ec027

Change-Id: I4c9ba60e95566f7041e69c7d1b4ed4a66dcd27d0
79d27ec02758b40636a978f853fcdbcfa01a04c9 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108 am: 062fd4a341 am: 45fb504379 am: 56fb1ed051 am: e02be17174 am: 7f58e2ec8f am: e262ff5af7 am: 360091a894 am: dfb7744a6a
am: 8b825b8445

Change-Id: I1df813fdb8efb7478432726627eb0b431523804b
38c75d9d30b0b40e3d926503d553c869ce7bec1c 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108 am: 062fd4a341 am: 45fb504379 am: 56fb1ed051 am: e02be17174 am: 7f58e2ec8f am: e262ff5af7 am: 360091a894 am: dfb7744a6a
am: 8b825b8445

Change-Id: I52a82f4e6f0e8ea6c3c4dcbc630f8ed9019cf45e
8b825b8445dc792b9a94e6529c6e66777c4cf11c 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108 am: 062fd4a341 am: 45fb504379 am: 56fb1ed051 am: e02be17174 am: 7f58e2ec8f am: e262ff5af7 am: 360091a894
am: dfb7744a6a

Change-Id: I33e678d176f2ebf13d423fac968758e1aa003cc1
7f58e2ec8f37144b6010b8fbc05d98a028d1710e 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108 am: 062fd4a341 am: 45fb504379 am: 56fb1ed051
am: e02be17174

Change-Id: I7f452f8033eb9aa1aea4401e803493c5951b0581
e02be171746fa6002eb7ecefdcc741cf30c585d1 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108 am: 062fd4a341 am: 45fb504379
am: 56fb1ed051

Change-Id: I79dd256460081f658ed3209204cfd104de708637
45fb50437967d052f0e103395b735c8531d8db31 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5 am: f054728108
am: 062fd4a341

Change-Id: I979b1c6b415b83d11f1a0c24b7fe54fe79556676
062fd4a341396c77f549d48e3c8afb9baf21ce85 20-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs am: 2b94fa8277 am: c83b53c9e5
am: f054728108

Change-Id: I230da4ea86abf01ff9057900f0eea1af151c9a00
2b94fa82778cef72f810035840dd60db189be341 06-Jul-2016 Wonsik Kim <wonsik@google.com> omx: prevent input port enable/disable for software codecs

Bug: 29421804
Change-Id: Iba1011e9af942a6dff7f659af769a51e3f5ba66f
impleSoftOMXComponent.cpp
f9eb4d2ca8eee725a33618da104f843acd3b6ff5 13-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \\"media: Optimize thumbnail extraction.\\" into nyc-mr1-dev am: 88bd73d9ac
am: 5691e5400a

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

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

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

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

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

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

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

Bug: 24761407
Change-Id: Ica1d0286b1e800f5d4d0f120c043c0a556dab4c2
MXUtils.cpp
MXUtils.h
38f56e4b988b0fadbf12970b3d69bd3f84da6263 28-Jun-2016 Hangyu Kuang <hkuang@google.com> Merge \\"media: set correct mode if both capture and playback rate are set.\\" into nyc-mr1-dev am: d023a7707f
am: 6851089a7e

Change-Id: I48f692ae2db06a08c5ad24602564ae60abc19bd7
6851089a7eb9e76fe30de0de98ddd32b36c39095 28-Jun-2016 Hangyu Kuang <hkuang@google.com> Merge \"media: set correct mode if both capture and playback rate are set.\" into nyc-mr1-dev
am: d023a7707f

Change-Id: I61be6e2b08da37bfb7b018641d5eb49f4d8633fa
d023a7707fe551817fb3f7539f68a388b3381f41 28-Jun-2016 Hangyu Kuang <hkuang@google.com> Merge "media: set correct mode if both capture and playback rate are set." into nyc-mr1-dev
5a4a0a1e4a44b8e48aff8e74df56d37dc6d7129c 24-Jun-2016 Hangyu Kuang <hkuang@google.com> media: set correct mode if both capture and playback rate are set.

This will avoid the recording operate in slow motion/time-lapse mode even
if capture rate and playback rate diff a little bit.

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

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

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

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

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

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

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

Bug: 28816827
Change-Id: I3d5bad4a1ef96dec544b05bb31cc6f7109aae0a5
MXNodeInstance.cpp
328597abaecff9722dcfb4bb4c67964bd82a072a 17-Feb-2016 Vignesh Venkatasubramanian <vigneshv@google.com> libstagefright: Add VP9 software encoder OMX Component

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

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

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

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

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

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

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

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

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

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

Change-Id: Ida0bc478ea3cd02a978f4af1ac9c824f12c146c2
10dac29441a24144029e8a194d07eb17db40b7e5 10-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: IOMX: pass native handle in sp<NativeHandle>" into nyc-dev
am: 038ccfd6ff

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

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

This clarifies ownership of the native handle

Bug: 28644266
Bug: 27856976
Change-Id: I7a617513d7ac93dd58d74af9469663418735aaf3
MX.cpp
MXNodeInstance.cpp
57c7f5a7cf8b52a3f14954071598179818a60b18 10-May-2016 Lajos Molnar <lajos@google.com> Merge changes I58b03acd,I7d7eb086 into nyc-dev am: 0d0a8b48d2 am: f1a0ec37b9
am: f2a4c632b2

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

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

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

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

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

Change-Id: I857573724b0a4f7b38832777b12caa8666ac210b
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
d6bd6f34cf63f873472545b95c4c1cd0f5991abf 04-May-2016 Justin Chuang <jchuang@google.com> Merge "Allow RGBX8888 in soft video encoder" into nyc-dev am: 0277976e81 am: 2232e34d8b
am: fb0876fc68

* commit 'fb0876fc68cba2ac9c519f9b7561210ad0ae1c81':
Allow RGBX8888 in soft video encoder

Change-Id: Ie143daf350cb34a8d01797208ccd5a84aac1d081
fb0876fc68cba2ac9c519f9b7561210ad0ae1c81 04-May-2016 Sheng-hao Tsao <shenghao@google.com> Merge "Allow RGBX8888 in soft video encoder" into nyc-dev am: 0277976e81
am: 2232e34d8b

* commit '2232e34d8bcc796833e37a2303ccf71f58b8fc26':
Allow RGBX8888 in soft video encoder

Change-Id: Ifece7d68387c522f68b2b78e053ed9c8179af22d
5fa779d9c1acbebc562dabefc1f6d857b22fe4fb 04-May-2016 Justin Chuang <jchuang@google.com> Merge "Allow RGBX8888 in soft video encoder" into nyc-dev
am: 0277976e81

* commit '0277976e8118ac493440049affeb1fce1f08598e':
Allow RGBX8888 in soft video encoder

Change-Id: I437c37da24c91bfe706aef873ea97c864ddd9e50
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
49ac2a724c82f5670a811ae74551a5e9c529bb69 02-May-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp am: 47734c9509
am: 7e34612e2b

* commit '7e34612e2b5db65ecff13ff65b3816fffb7a0974':
Fix google-explicit-constructor warnings.

Change-Id: I5b1e3eae1348800c288e30845c6eb6d1bf69e72f
47734c9509ecb472c2844cae46e2d916b9358321 02-May-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp

Change-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a
090ef604f81447eab4aa0a5b45d6307482573560 27-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b
MX.cpp
MXNodeInstance.cpp
995d39cc23949569ea3a689985812ee923da5d4f 23-Apr-2016 Marco Nelissen <marcone@google.com> Merge "DO NOT MERGE Verify OMX buffer sizes prior to access" into lmp-mr1-dev am: 0822864
am: c90ba30

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

Change-Id: I42551c5f62380f422257f80a933ccd301674a041
4e7e759a493d5fbb449917283d79ab4e4dfe3eae 22-Apr-2016 Marco Nelissen <marcone@google.com> Merge "More OMX struct checking" into mnc-dev am: 4040b13b07 am: 05202f5 am: ff5d1bb am: 8b5f271 am: 861f358 am: 16bacd9
am: 677140a

* commit '677140a4720e0030ba39547fd9950322062c0247':
More OMX struct checking

Change-Id: I34cfe58fa5f9f05c7485399896fc33011bbae39e
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
dfb280d3975afdce4da87602577d2814cb9eb30d 22-Apr-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE More OMX struct checking

These were lost due to bad merges.

Bug: 27207275
Change-Id: Idc7a9fc75376a88b91e9e259d664d6ee54c77330
oftVideoDecoderOMXComponent.cpp
67ef30185837950144d30e5a73d852eb9a7a0a89 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
oftVideoEncoderOMXComponent.cpp
ee46821af16a12e24e23d2516222e5cf513919ec 24-Mar-2016 Marco Nelissen <marcone@google.com> SimpleSoftOMXComponent: check struct size

Change-Id: I8e4e0742bde7f82686cc067b9090f19ed240e5d1
impleSoftOMXComponent.cpp
9321d44538c0112b5e39679731fd8bbbec98ee89 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 am: 17ec7d7
am: 3b7c222

* commit '3b7c22257a3e64d60fab5b30150e005508125b80':
Add VPX output buffer size check
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
099db6603689e6ebf79da7b4ac7b014dba4b5211 18-Mar-2016 Marco Nelissen <marcone@google.com> resolve merge conflicts of c66f8dd to lmp-mr1-dev am: 77e43fa
am: f79ccd5

* commit 'f79ccd551e6829566243d4cd53c516251e54276d':
Add VPX output buffer size check
77e43fac7fa608e36dfa907ed2032292795fa88a 18-Mar-2016 Marco Nelissen <marcone@google.com> resolve merge conflicts of c66f8dd to lmp-mr1-dev

Change-Id: Ic9af33596a60f310bc8e0624bde17578f2cf7bc3
c66f8ddd2094090b655c3701fd9ce49ada4c6fb4 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
1595f8ac7ab412e81e0565e1347edaeedf9f2832 16-Mar-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Add VPX output buffer size check

and handle dead observers more gracefully

Bug: 27597103
Change-Id: Id7acb25d5ef69b197da15ec200a9e4f9e7b03518
MX.cpp
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
b484433047a1ed8491114b2dbaaa592e2668bed0 14-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: connect color aspects and surface dataspace am: b77d03b62c
am: 11c09d9c5e

* commit '11c09d9c5ef5b081c6afdcbf6794fd8784eaef72':
stagefright: connect color aspects and surface dataspace
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
df13812f2011c2247a1d8b9888a50bc01bf8f888 11-Mar-2016 Lajos Molnar <lajos@google.com> Merge "IOMX: add INTERNAL_OPTION_COLOR_ASPECTS to setParamaters" into nyc-dev am: 356d3f5285
am: 6ef1a8ed8f

* commit '6ef1a8ed8fe10952609eb606711979912c97da25':
IOMX: add INTERNAL_OPTION_COLOR_ASPECTS to setParamaters
82ef28e44bbf190d6345e5f3b1ae91adecfce5f7 11-Mar-2016 Lajos Molnar <lajos@google.com> Merge "IOMX: add dataspace to createInputSurface" into nyc-dev am: b34bcea794
am: 37f5c6cca7

* commit '37f5c6cca7d2109123364b2dfeaaee7e34d293a6':
IOMX: add dataspace to createInputSurface
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
423766ca07beb7e3e9cd301385708ca13fcce3e1 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
51f59b41eae9c4f493ebfd0972cee951895bdf19 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
2afab54525bed658d1422cd339d6aa85af639305 03-Mar-2016 Marco Nelissen <marcone@google.com> resolve merge conflicts of f4fac7abff to master

Change-Id: I5159bef6c7853b7336c972308baced6cd8b03392
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
2c9cb62d0160fc4353d89fd9d648725794e7995e 29-Feb-2016 George Burgess IV <gbiv@google.com> Cleanup uses of sprintf so we can deprecate it.

Also removes a seemingly useless branch.

Change-Id: Icd61d4facd64985f4c73e9876569e1ae1a74ee83
MXMaster.cpp
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
11d72e1d305a80643996b659eed8ba13dba39212 13-Jan-2016 Lajos Molnar <lajos@google.com> stagefright: Remove OMXCodec object

This is no longer used or supported.

Bug: 17108024
Change-Id: I57e5b2368e3df138645ef73121603d19cd5c59ce
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
91aa4a0aefa43ad53a20b3d4538a6a986c902818 08-Oct-2015 Wei Jia <wjia@google.com> am f106f9e4: am 15e991bd: resolved conflicts for 0b09da7a to lmp-mr1-dev

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

Change-Id: Ib6a1aa4cee00e0449da30ae158d71403d6236487
2482595baadd16f20d3992c8c9d6a14061836872 28-Sep-2015 Wei Jia <wjia@google.com> DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.

Bug: 24310423
Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
(cherry picked from commit 8dde7269a5356503d2b283234b6cb46d0c3f214e)
MX.cpp
MXNodeInstance.cpp
4a03d784f7c0e3a9685d182eee92ba6580eaf5a1 28-Sep-2015 Wei Jia <wjia@google.com> DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.

Bug: 24310423
Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
(cherry picked from commit 8dde7269a5356503d2b283234b6cb46d0c3f214e)
MX.cpp
MXNodeInstance.cpp
198446e81eaddf8a57d0ac809569ae26dd5ceaeb 06-Oct-2015 Marco Nelissen <marcone@google.com> am 28dd6059: Merge "Fix benign overflow in OMXNodeInstance"

* commit '28dd605906a0e44361caffc65bce2edb14c661f3':
Fix benign overflow in OMXNodeInstance
e4a595cb4af87725cbe071ebf69ba7118186680f 06-Oct-2015 Marco Nelissen <marcone@google.com> Fix benign overflow in OMXNodeInstance

Change-Id: I7470bddb7ade97143ba70c026e3b7d61dd8d97b0
MXNodeInstance.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
09fec7c14b3eeba465b1f382f71a88540008a3b5 12-Jun-2015 Andy Hung <hunga@google.com> am 47e94277: am d3061951: am 4bd813f6: am e0e50f2a: am e5ca9a20: am 375e3495: IOMX: Clear buffer id for arm32

* commit '47e94277d1e0b6f581072db8f2b5406eb30dc685':
IOMX: Clear buffer id for arm32
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
e0e50f2a7bea366c208e694f4c0abd5ec2baeb69 29-May-2015 Andy Hung <hunga@google.com> am e5ca9a20: am 375e3495: IOMX: Clear buffer id for arm32

* commit 'e5ca9a209af40000ad41c461ae1178f479e01a62':
IOMX: Clear buffer id for arm32
375e349556baa6a8ea59e963c33824e9063a0eca 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
(cherry picked from commit 9113c1e619fd78fe53b548180fdc02300d33303d)
MXNodeInstance.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
389379c4ccc0d09fbb54c510550ff6a895a319a1 27-May-2015 Andy Hung <hunga@google.com> am c796a24d: am 3d2874f2: am c356d596: am dd527c20: am f7198f86: Merge "IOMX: Enable buffer ptr to buffer id translation for arm32" into lmp-dev

* commit 'c796a24d577673044083634304c54f9e5b29f32a':
IOMX: Enable buffer ptr to buffer id translation for arm32
6b09a1e61353b9d61880a110a47e6ffc31034d9e 27-May-2015 Andy Hung <hunga@google.com> am f90bd074: am 06713b48: am 6c9994d3: am 6f4e0b1c: am 566b3576: IOMX: Add buffer range check to emptyBuffer

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

* commit 'dd527c20a3c61864d02637202ed1c5c1f3ff8de8':
IOMX: Enable buffer ptr to buffer id translation for arm32
6c9994d381aa817ba7a4ad8c94ce28240e65be54 27-May-2015 Andy Hung <hunga@google.com> am 6f4e0b1c: am 566b3576: IOMX: Add buffer range check to emptyBuffer

* commit '6f4e0b1c99679d770247bfe748642805cfd3ffb3':
IOMX: Add buffer range check to emptyBuffer
f7198f863f6eb25d586efa1bf28f7d5dc07697e8 27-May-2015 Andy Hung <hunga@google.com> Merge "IOMX: Enable buffer ptr to buffer id translation for arm32" into lmp-dev
0e27e080c255b23b4b0e19cb3bc9519cc162b73f 26-May-2015 Andy Hung <hunga@google.com> DO NOT MERGE - IOMX: Add buffer range check to emptyBuffer

Bug: 20634516
Change-Id: If351dbd573bb4aeb6968bfa33f6d407225bc752c
MXNodeInstance.cpp
447a5628a4138f4bed11121d56965aff31bc765a 26-May-2015 Andy Hung <hunga@google.com> IOMX: Enable buffer ptr to buffer id translation for arm32

Bug: 20634516
Change-Id: Iac9eac3cb251eccd9bbad5df7421a07edc21da0c
(cherry picked from commit 2d6b6601743c3c6960c6511a2cb774ef902759f4)
MXNodeInstance.cpp
566b357611eea481772e77f49a1ab446fe75b07b 26-May-2015 Andy Hung <hunga@google.com> IOMX: Add buffer range check to emptyBuffer

Bug: 20634516
Change-Id: If351dbd573bb4aeb6968bfa33f6d407225bc752c
(cherry picked from commit d971df0eb300356b3c995d533289216f43aa60de)
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