History log of /frameworks/av/media/libstagefright/OMXCodec.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ccd08439c7914d86264c7ad81bfd03cf39aaa9f7 17-Oct-2012 James Dong <jdong@google.com> Added some extra failure logging messages

o related-to-bug: 7282066

Change-Id: I0896551a45aab61fb571fef19061397ff84321d9
/frameworks/av/media/libstagefright/OMXCodec.cpp
08654f9d7157f6d6ca0928cb438bbbed53fb0fd1 14-Sep-2012 James Dong <jdong@google.com> Make a small correction in terms of GOP structure in the recorded video

When we have a 30 fps frame rate, and one second key-frame or I-frame interval,
we really would like to have for each second, 29 P-frames + 1 I-frame. Thus,
we should calculate the number of P frames so that it is equal to
frame_rate * I_frame_interval - 1

Change-Id: I5b9be6e4c101e7a6b718015aa4041496961c0f19
/frameworks/av/media/libstagefright/OMXCodec.cpp
8fa80e3be63ffde5ef029afa713877440856b663 08-Sep-2012 James Dong <jdong@google.com> Allow OMXCodec to specify an output color format for OMX decoder component

The output color format is specified via the meta argument in OMXCodec::Create()

o related-to-bug: 7122195

Change-Id: Id3247686b893af25cc190685201e53ad34b0399c
/frameworks/av/media/libstagefright/OMXCodec.cpp
aa8879d381918335c9d829fc279b76d53a15a550 24-Aug-2012 James Dong <jdong@google.com> Fixed a native crash due to unexpected state at destroy time when encoder component's source fails to start

o Encoder component initializes to be in the state of EXECUTING before its source gets started, because we wanted to be able
to configure the source to use the advertised number of input buffers. However, if the source fails to start, then the encoder
ends up in the state of EXECUTING when OMXCodec object gets destroyed. As a result, the assertion on the expected state in
OMXCodec's constructor fails. The fix is to stop the video encoder component right way when its source fails to start so to
bring the state of the encoder component back to the expected state.

o related-to-bug: 7045494

Change-Id: I6d4a221eb809d7137f53e58098a04816998f7a25
/frameworks/av/media/libstagefright/OMXCodec.cpp
e671207115fac3914134c61b336d5fa0242c68ca 26-Jun-2012 Andreas Huber <andih@google.com> Make sure codec names and corresponding quirks are returned together.

Previously they were returned in separate vectors and only one of them was sorted if
software codecs were preferred, leaving the quirks no longer matching the codec name
at the same index.

Change-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604
related-to-bug: 6737884
/frameworks/av/media/libstagefright/OMXCodec.cpp
a6ee7bc5f9524c220377e37f6525e2d46c69b75b 07-Aug-2012 James Dong <jdong@google.com> Remove obsolete hack for TI specific code

o related-to-bug: 6566886

Change-Id: I39aad214cbf7b748a95a9d22db50cd8f421931e6
/frameworks/av/media/libstagefright/OMXCodec.cpp
0dff606f42292b8a31b9eee842877f9875279dab 02-Aug-2012 James Dong <jdong@google.com> Allocate buffers before calling start on its source in OMXCodec::start() for encoder case

o This makes it possible to configure the source to use the same number of input buffers
as requested by the video encoder, before the source starts. As a result, hardcoded
number of video buffers for camera source, for instance, can be avoided.

o related-to-bug: 6920805

Change-Id: I13d2c308dce34967768cd407f02988e92ef10a89
/frameworks/av/media/libstagefright/OMXCodec.cpp
9fbe94294ce2053d102ff5de89846a0c5015fb58 30-Jul-2012 Ed Heyl <ed@google.com> Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev

Conflicts:
services/audioflinger/AudioFlinger.cpp

Change-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b
bf5bea96f236adb5eef78c2f414ef82b3602a0f7 19-Jul-2012 Eino-Ville Talvala <etalvala@google.com> Codecs: Add MetaDataMode support to software video encoders.

This support is needed to enable efficient video recording with
emulator and camera HAL 2.

- Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode
extension.
- Allow CameraSource to handle opaque pixel formats, so that
MetaDataMode can be used.
- Remove hardware codec restriction for MetaDataMode

Bug: 6243944
Change-Id: I970eb3d55542a413b6d75a78f76d3a8583155601
/frameworks/av/media/libstagefright/OMXCodec.cpp
f89a87ab3708e75c406b2abcb7e69dc1b076868a 26-Jun-2012 Haynes Mathew George <hgeorge@codeaurora.org> Process EBD and FBD messages in ERROR state

- OMXCodec::on_message() function drops all OMX messages if
OMXCodec is in ERROR state
- This can cause EBD/FBD messages containing valid buffers to be
dropped
- Avoid dropping EBD/FBD messages so that buffer book-keeping is still
possible

Change-Id: Idc1174b3fa946b26458d49394b87fba1738b228e
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
1e5b2b3361ddd07259bf4b29820ca4aa5f3a861b 14-Jun-2012 Jamie Gennis <jgennis@google.com> Update ANativeWindow client code for sync

This change updates all the uses of ANativeWindow to use the new ANW functions
that accept and return Sync HAL fence file descriptors.

Change-Id: Id7db42d8d6380f8b440d88476ce9211c6225fb16
/frameworks/av/media/libstagefright/OMXCodec.cpp
18faac2af4e3b27deec0a707757883e5e569c591 21-Jun-2012 Haynes Mathew George <hgeorge@codeaurora.org> Add vendor specific output color format

- Add Qualcomm specific color format support to OMXCodec and ACodec
- This is the default color format supported on QCom chipsets

Change-Id: Id947b158c3b403c2d347f708bc1e780b4d65e220
/frameworks/av/media/libstagefright/OMXCodec.cpp
1d5ac80d0c6d3deabcc9e9b4abc9e3ef536aeb27 14-Jun-2012 Jamie Gennis <jgennis@google.com> stagefright: set scaling mode for blank frames

This change sets the ANativeWindow scaling mode before pushing the blank frames
during decoder tear down.

Bug: 6603254
Change-Id: Ic64011645e2d3671b4a8d302ac7f39e6fd3affcd
/frameworks/av/media/libstagefright/OMXCodec.cpp
01e5b5699fb049bedbb7e156fbf7f5952c39130d 11-Jun-2012 James Dong <jdong@google.com> Revert "Added some informational log messages to track down ANR related issues"

This reverts commit c558fa89016ba9583049b84dc57e66a913cabde8.

related-to-bug: 6565826
/frameworks/av/media/libstagefright/OMXCodec.cpp
c558fa89016ba9583049b84dc57e66a913cabde8 29-May-2012 James Dong <jdong@google.com> Added some informational log messages to track down ANR related issues

Change-Id: Ie991c86e75d58f7eb4c9f524815c4de054d5f262
related-to-bug: 6565826
/frameworks/av/media/libstagefright/OMXCodec.cpp
40fe18f20e07f3626ff23d89ebdd5113733e155d 29-May-2012 Andreas Huber <andih@google.com> Force shutdown of the omx decoder even if it's in a wedged state...

Change-Id: I5899928a3df4bcf7715769992955a0b834db1e2f
related-to-bug: 6571060
/frameworks/av/media/libstagefright/OMXCodec.cpp
21a0dca457bc0f3b8bafca0c49dfe2d442acbde0 21-May-2012 James Dong <jdong@google.com> Fix a mediaserver crash caused by dereferencing a NULL pointer.

The pointer (info in method drainInputBuffer) in can be null at the point of the dereference,
but it will get updated subsequently. Thus, we should move the logging after the pointer gets updated.

related-to-bug: 6530159

Change-Id: Ifa5f19a694953af6942454e5c28cd3fa024f11d2
/frameworks/av/media/libstagefright/OMXCodec.cpp
5179ff34cf3ca69b3d3eaa71cdbf0c2aec6b45b3 16-May-2012 Andreas Huber <andih@google.com> Log which OMX component is not returning all buffers to us on executing->idle.

Change-Id: I8cd102cc5b1f3c9c36e3c5832ae4bee75c471efd
related-to-bug: 6498711
/frameworks/av/media/libstagefright/OMXCodec.cpp
2f74ef3cdc192f817ee1121f41765f0852c1d81e 30-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> OMX IL wrapper for FLAC encoder

Add wrapper around libFLAC for FLAC encoding in OpenMAX IL.

Declare FLAC encoder in OMX component roles.

Bug 5525503

Change-Id: I19bbce41c216870669d09365693f4ea89f8bc0f7
/frameworks/av/media/libstagefright/OMXCodec.cpp
7c25df82dfc8bbedb58608242f0d923a4594bb14 07-May-2012 James Dong <jdong@google.com> Get rid of vendor specific video encoder component names from ACodec and OMXCodec

o related-to-bug: 6446245

Change-Id: I1fa07ad8a39337e3b19ac51c10533a2de8c11bb5
/frameworks/av/media/libstagefright/OMXCodec.cpp
4f6eed0d1c7972a983c075bdcf03089569e13fe1 30-Apr-2012 James Dong <jdong@google.com> Impl for supporting two video scaling modes

o allows the video scaling mode to change at any time
o also remove the scaling mode logic in OMXCodec.cpp

o related-to-bug: 5454345

Change-Id: I6f1714eb0c2774591ce650d56c1e779b8afd085f
/frameworks/av/media/libstagefright/OMXCodec.cpp
a3cbc03f7c646ad9b05d24e72a6d306cb457807c 28-Apr-2012 James Dong <jdong@google.com> Removed software video encoders that are not OMX-based.

o related-to-bug: 5933287

Change-Id: I63635375e2bef00733b61adc3fa12c29df7e2155
/frameworks/av/media/libstagefright/OMXCodec.cpp
8b71241ce7353731ab75322c46e090ee35014a33 27-Apr-2012 Marco Nelissen <marcone@google.com> Fix mono gapless playback for decoders that output stereo

The old AAC decoder always outputs stereo, even for mono source material, so we
need to use the number of channels of the output when calculating the number of
bytes to skip, not the number of channels in the source.
This makes OMXCodec skip the right amount of data, and prevents NuPlayer from
writing half a frame and then asserting when the AudioSink doesn't accept it.
Also move use of the SkipCutBuffer from NuPlayer to ACodec, so that it also
works when using the new Java APIs, and make SkipCutBuffer derive from RefBase.
b/774846

Change-Id: I34df9fea3e6730617eae559afaa556f4085ef0a0
/frameworks/av/media/libstagefright/OMXCodec.cpp
aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b 19-Apr-2012 Dave Burke <daveburke@google.com> Add Fraunhofer AAC encoder with AAC-ELD support.

Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
/frameworks/av/media/libstagefright/OMXCodec.cpp
c1d8115e8a0bdaeb2b723d395b9a85a02c90c933 24-Apr-2012 Andreas Huber <andih@google.com> Make sure OMXCodec and ACodec both accept more than 2 channels of audio

and fill in the OMX channel mask properly.

Change-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305
/frameworks/av/media/libstagefright/OMXCodec.cpp
69829f3bd09ee4e6be49fee8795c5df24c4da70e 30-Mar-2012 Andreas Huber <andih@google.com> Add a few more APIs to MediaCodecList.

Change-Id: I5ac193cd40c82bbcd87c1e55003b78102e8d4674
/frameworks/av/media/libstagefright/OMXCodec.cpp
ecdd39c5af016e2fa57cbfd837aa670b706dabd3 29-Mar-2012 Andreas Huber <andih@google.com> Implementation of a raw audio "decoder".

Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
/frameworks/av/media/libstagefright/OMXCodec.cpp
cb5b766bb0a3ed992998a5bd66de0ee1d2223b81 29-Mar-2012 Marco Nelissen <marcone@google.com> Add ABuffer support to SkipCutBuffer

Add support for ABuffer to SkipCutBuffer, and make it (re)allocate an
appropriately sized buffer when needed, rather then relying on the
caller to tell it ahead of time how big the buffers are going to be.

Change-Id: I8b5c9ba5dd2fc13ef8870b7d4fe93a1bfdc7a626
/frameworks/av/media/libstagefright/OMXCodec.cpp
ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
/frameworks/av/media/libstagefright/OMXCodec.cpp
a98478bfbcc0f7fb4b164d3dce40ca96df75667d 21-Mar-2012 Marco Nelissen <marcone@google.com> Support gapless playback for mp3 and m4a

Gapless playback for appropriately tagged mp3 and m4a files.
Currently this is implemented in OMXCodec, which most players
use, but should be easy to support in other players as well by
using the SkipCutBuffer utility class.

Change-Id: I748c669adc1cfbe5ee9a7dea2fad945d48882551
/frameworks/av/media/libstagefright/OMXCodec.cpp
c5255ac5b1bd313dcb50159566163b24dce7483f 16-Mar-2012 Andreas Huber <andih@google.com> ACodec is a little more aggressive in its error checking now.

Update components to do the right thing.

Change-Id: Ibfbad3f53effc16368cca4a0e978d01d54d08a1d
/frameworks/av/media/libstagefright/OMXCodec.cpp
6c6b4d0d2b98a7ceee8b697daaf611f8df3254fb 12-Mar-2012 James Dong <jdong@google.com> Switched to use the header files in /frameworks/native
and deleted the duplicate header files in /frameworks/base

o related-to-bug: 6044887

Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
/frameworks/av/media/libstagefright/OMXCodec.cpp
25a9ce1b1fea65341299c262b944825d233006f6 02-Mar-2012 Andreas Huber <andih@google.com> Remove hacks that worked around issues in OMX components several releases back.

Change-Id: I89bb3d0be4d2c1824de382aedfdd4f9bd2547dbc
/frameworks/av/media/libstagefright/OMXCodec.cpp
afc16d667afa23f5aa00154ccad62f8c45cf5419 01-Mar-2012 Andreas Huber <andih@google.com> Instead of hardcoding OMX component names in our code, support

a config file instead.

Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
/frameworks/av/media/libstagefright/OMXCodec.cpp
5778822d86b0337407514b9372562b86edfa91cd 21-Feb-2012 Andreas Huber <andih@google.com> Implementation of a java media codec interface and associated tools.

Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
/frameworks/av/media/libstagefright/OMXCodec.cpp
000e18370baae60ffd9f25b509501dd8c26deabf 07-Feb-2012 James Dong <jdong@google.com> Enable B frame support in MPEG4Writer

This patch allows us to automatically detect whether ctts box is needed in MPEG4Writer.
MPEG4Writer uses ctts version 0 (non-negative offset value) store the composition time
offset on a needed basis.

Currently, the size of the ctts box is not optimized. Optimization will be addressed
in a subsequent patch.

o also changed the private method retrieveDecodingTime(bool) in OMXCodec
to getDecodingTime()

o related-to-bug: 4232183

Change-Id: Ic6dc7b25ecd258c2506ca4b9c25156e922456e51
/frameworks/av/media/libstagefright/OMXCodec.cpp
c71f6e2392bf55cc85ee7c1a376441e9b9aae4c8 03-Feb-2012 James Dong <jdong@google.com> Keep AACEncoder around for a bit longer to have more time fix issues related to video editor engine

o this should be reverted after the problem is fixed.
o related-to-bug: 5947347

Change-Id: Iaec4b59d2c99c975e83f0588a813e9a4bfcb7ee2
/frameworks/av/media/libstagefright/OMXCodec.cpp
83f70f4472e9b0cacc5d372eddfcef4b02662d10 01-Feb-2012 Andreas Huber <andih@google.com> The AMR WB software encoder is now an OMX component.

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

Change-Id: I890eab052a7c36409b8b694c964884e28dd8d8fc
/frameworks/av/media/libstagefright/OMXCodec.cpp
d459b485c61bd3e7fd81c5cd3af8ada27fc3e8d3 31-Jan-2012 Andreas Huber <andih@google.com> Slighly improve the API to discover if the OMX stack is running in the local

process.

Change-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505
/frameworks/av/media/libstagefright/OMXCodec.cpp
2b1892db4a2ab47bfc09e59a4c11751aea99e4ea 26-Jan-2012 Andreas Huber <andih@google.com> The software AAC encoder is now an OMX component.

Yay.

Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.cpp
a7e4865306b72e8eb97ee73719c897c432c53a0c 22-Nov-2011 Andreas Huber <andih@google.com> am 31626b30: am cb6fbc89: Merge "Report a runtime error instead of asserting on malformed avc configuration data." into ics-mr1

* commit '31626b3075335f4cf579342e99436bb45870cf55':
Report a runtime error instead of asserting on malformed avc configuration data.
71b61a960ae30df990976ca5dbe780d85a15b0d1 18-Nov-2011 Andreas Huber <andih@google.com> Report a runtime error instead of asserting on malformed avc configuration data.

Change-Id: Ibcd9c3fb5b6532eba843ed80ecdcdacaf50d8845
related-to-bug: 5641069
/frameworks/av/media/libstagefright/OMXCodec.cpp
783cfe32ee6f3972849b72283b95d5173ba79766 26-Oct-2011 Jamie Gennis <jgennis@google.com> am 5ded5fc5: am b7b4eaaa: Merge "Stagefright: push blank buffers when tearing down" into ics-mr0

* commit '5ded5fc55f2da2af0a76a9ddc52d27948b227037':
Stagefright: push blank buffers when tearing down
71adab54edf9d0e2c89473d3be12edb6b9dc4549 26-Oct-2011 Jamie Gennis <jgennis@google.com> am b7b4eaaa: Merge "Stagefright: push blank buffers when tearing down" into ics-mr0

* commit 'b7b4eaaa05284634d50d581d924a250f1194f66d':
Stagefright: push blank buffers when tearing down
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
/frameworks/av/media/libstagefright/OMXCodec.cpp
1765d6e0c962d2b89897c0278f969084f632d181 25-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: push blank buffers when tearing down

This change makes OMXCodec push RGB 565 buffers filled with black to an
ANativeWindow when tearing down after decoding to protected gralloc
buffers. This allows the OMX tear down to zero out any protected
buffers that were used without the possibility that the buffer is still
being used by SurfaceFlinger or HWComposer.

Bug: 5483222
Change-Id: I8acedd81a7bb67dfdc2fd15733e3375b6ce8d560
/frameworks/av/media/libstagefright/OMXCodec.cpp
1d2acaffde56ad79e6e96f228d7857863462397c 20-Oct-2011 Dave Burke <daveburke@google.com> am 23d64420: Merge "Stagefright: idle OMX after ANW errors" into ics-mr0

* commit '23d644202a44383bf008ff86f6faa3ea7e447290':
Stagefright: idle OMX after ANW errors
55f4bc5c3d1acfaa735b8b19cf34b6b68f6cfcca 20-Oct-2011 Dave Burke <daveburke@google.com> Merge "Stagefright: idle OMX after ANW errors" into ics-mr0
b1d666f5cb555d135eb69e005e88a03330bbb54c 20-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: idle OMX after ANW errors

This change fixes an issue in Stagefright where the state of an OMXCodec
object can get out of sync with the state of the OMX component. In
particular, if one of the ANativeWindow functions failed and put the
OMXCodec into the ERROR state, this would cause Stagefright to skip
doing the Executing -> Idle transition. Without this transition the
freeBuffersOnPort call would never be made, and the MediaBuffers would
end up being leaked (which would also leak the Gralloc buffers they
reference).

Bug: 5333695
Change-Id: I85ea0cf92d18e7ef6d35c7d1e2a7b4e2c9745d34
/frameworks/av/media/libstagefright/OMXCodec.cpp
ca9f7f2d484ba0296db49406e3ef908bc7e119c1 19-Oct-2011 James Dong <jdong@google.com> am 5264f600: Merge "Bail out after kMaxColorFormatSupported calls to OMX_GetParameter(). Avoid infinite loop in querying omx component about the supported color format." into ics-mr0

* commit '5264f6003bbcb8ca70df034379154914260cc322':
Bail out after kMaxColorFormatSupported calls to OMX_GetParameter(). Avoid infinite loop in querying omx component about the supported color format.
5e69eb97b0e5e70919f61099bcc5bdbb1db0861c 19-Oct-2011 James Dong <jdong@google.com> Bail out after kMaxColorFormatSupported calls to OMX_GetParameter().
Avoid infinite loop in querying omx component about the supported color format.

Change-Id: I4997efd36462c792a6d8b5e04c79a80966a559fe
related-to-bug: 5466057
/frameworks/av/media/libstagefright/OMXCodec.cpp
f337772630b0a1b48d7828647d1079ebdc22919d 13-Oct-2011 Andreas Huber <andih@google.com> Merge "Support for an MPEG2 Program Stream extractor."
d20bf0676d6db8f12edcd2307f82409c076c7015 30-Sep-2011 Lakshman Gowda <lakshman79@ti.com> Set crop params to ANative Window during Initialization.

The native_window_set_crop() is called when port reconfig event callback comes from decoder's and
crop parameters are changed from default getconfig() OMX_IndexConfigCommonOutputCrop values.
Since the default crop params are same as port reconfig crop params, the native_window_set_crop()
is not called, hence resulting in displaying the whole frame(paddedWidth x paddedHeight).
By calling native_window_set_crop() during initilaization of output port of decoder ensures
in setting up ANative window to crop region.

Change-Id: I68926464a1f5c7e6053804615c8b9bd32ea85688
Signed-off-by: Lakshman Gowda <lakshman79@ti.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
2944eca607304a095ea43ba2b8f0b9de61249f9f 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
/frameworks/av/media/libstagefright/OMXCodec.cpp
d3523f89a867afa111bb332887bf006ec3ae93e6 16-Sep-2011 Gilles-Arnaud Bleu-Laine <gilles@ti.com> Gracefuly return on detecting wrong AAC format from corrupted files

Return BAD_VALUE error upon detection of wrongly formatted files.
The client should abort the initialization upon error detection.

The current CHECK() interrupts the configurecodec() preventing a graceful
exit.

Change-Id: Ic79313fa76a63284897df5d91635de87d06f3100
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
729de186450f78c099637e1fce743fe531862c52 28-Sep-2011 Andreas Huber <andih@google.com> Support AMR, G.711 and vorbis audio in ACodec and friends.

Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
/frameworks/av/media/libstagefright/OMXCodec.cpp
c32589a79f8120ac0060945fffc50279143989aa 28-Sep-2011 Andreas Huber <andih@google.com> Cut down on AwesomePlayer and OMXCodec's verbosity.

Change-Id: Ifd95717e8ea0fb0327099b16d72a6ed58c7c9924
related-to-bug: 5382014
/frameworks/av/media/libstagefright/OMXCodec.cpp
9a5e04438df742c297c5dbcdb60e6fd4d8f8321d 13-Sep-2011 James Dong <jdong@google.com> Change an assert failure due to unsupported level by HW AVC decoder and report the error to applications

Change-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb
related-to-bug: 5300618
/frameworks/av/media/libstagefright/OMXCodec.cpp
8edb8e82fa886564ee8e72178a1969e2437dd525 09-Sep-2011 James Dong <jdong@google.com> Don't check mFilledBuffers whether it is empty or not when the port reconfiguration is not meant for buffer reallocation

Change-Id: Iee9b18449bce9d7565ab5cc7f9e999484051196c
related-to-bug: 5233843
/frameworks/av/media/libstagefright/OMXCodec.cpp
97857479de48fda4c33bb415b2fbb15193f768e8 02-Sep-2011 James Dong <jdong@google.com> Don't overwrite pending port setting change if there are more than one port setting change event.

Change-Id: I3413f5235b191031252aa3785f5aaef00caef1ce
related-to-bug: 5122512
/frameworks/av/media/libstagefright/OMXCodec.cpp
e8eb2f4f0f8eff0313a27892ab8514223553d943 31-Aug-2011 James Dong <jdong@google.com> Fix a crash where the EOS was signalled but some output buffer were still pending.

Change-Id: Ide111264501441b51bb10629ae2021accf9e1fb5
related-to-bug: 5234126
/frameworks/av/media/libstagefright/OMXCodec.cpp
539a735a82fefb1944aa6135df73dfe9f541566c 25-Aug-2011 Chih-Chung Chang <chihchung@google.com> Merge "Port setting change should happen before receiving any filled frame."
0c5c7d2b119d2350c186ae9902919bcf28c3e277 19-Aug-2011 Pannag Sanketi <psanketi@google.com> Testing the GL/ CPU encoding w/ Gralloc buffers

This is the test for Gralloc buffers based encoding.
contains a combination of two main changes:

1. GL based encoding tests added to SurfaceMediaSource_test

2. SurfaceMediaSource ::read() colorformat

The SurfaceMediaSource::getformat() sets it to OMX_COLOR_FormatAndroidOpaque.
The omx encoder needs to interpret that colorformat and reads the format
from the Gralloc buffers directly

Change-Id: Iee2fe8901384109a4952e1d6c528c59eb01eb5b1
/frameworks/av/media/libstagefright/OMXCodec.cpp
84f74fbfeec81eb59e874660fd52ad42820ea8a2 22-Aug-2011 Chih-Chung Chang <chihchung@google.com> Port setting change should happen before receiving any filled frame.

Change-Id: I12a54b80e7ef958b6d451b7add110d38f05ec439
/frameworks/av/media/libstagefright/OMXCodec.cpp
64b944106c697933a453a1ffd8bcddb137fdbc4c 15-Aug-2011 James Dong <jdong@google.com> Don't time out prematurely for video encoding waiting for output buffers

o For timelapse video encoding, the timelapse between two neighoring
input frames could be very long

Change-Id: I2b6f9c392f2237deae71c894efc7fc3692431796
related-to-bug: 5160548
/frameworks/av/media/libstagefright/OMXCodec.cpp
c4847184f0d351ca2587ca66dc5ab8eab4dbe207 10-Aug-2011 Andreas Huber <andih@google.com> When using "secure input buffer mode" we instantiate a different OMX component

We form the new component name by appending the suffix ".secure".

Change-Id: I509848b50ae92edb179a941493ca611f923213ec
/frameworks/av/media/libstagefright/OMXCodec.cpp
17741baf43818ca66c2a88db6b6e252d7abfff49 10-Aug-2011 Andreas Huber <andih@google.com> Revert "Notify the OMX component that it's going to be used in "secure" mode."

This reverts commit 7616178271e95f009452a21ea45e7225997dc27a.
/frameworks/av/media/libstagefright/OMXCodec.cpp
a1f10e8959cd4656aedb2613e855342102e59555 09-Aug-2011 Andreas Huber <andih@google.com> Notify the OMX component that it's going to be used in "secure" mode.

Change-Id: Id87c4b295eb38f7d24045918e73df298d7b842f9
related-to-bug: 5137212
/frameworks/av/media/libstagefright/OMXCodec.cpp
c6354e9396b4d8929058a283cfc77327b47e9944 02-Aug-2011 Sarthak Aggarwal <sarthak@ti.com> Removing hack for framerate setting in Stagefright for encoders.

Ducati binary starting to support frame-rate on i/p port rather than o/p port,
stagefright can start giving frame-rate frame rate on i/p port and 0 on o/p
port.

Change-Id: I70830747e43e6bfcac73f0fb01de0ab0235a7b28
Signed-Off-By: Sarthak Aggarwal<sarthak@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
be1cc822304d3a29c106ad5b6f330aed3e8c5658 24-Jul-2011 James Dong <jdong@google.com> Merge "Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens"
d35924d9928f29dcee6f5666b5bbd084640c7b34 22-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> QueryCodecs() signature change

Restore QueryCodecs() signature exactly as used by third-party libs.
Add an alternative function to select HW only codecs.

Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
/frameworks/av/media/libstagefright/OMXCodec.cpp
9bc7af17974f448291a44912566ec7472a0d798b 19-Jul-2011 Mathias Agopian <mathias@google.com> use SurfaceTexture new scaling mode in SF

SF now obeys SurfaceTexture's scaling mode instead
of inferring it from the buffer's size

Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
/frameworks/av/media/libstagefright/OMXCodec.cpp
db4d3717b4677b3239546a248dc0a7d82db4ba50 18-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add option to query hardware decoders only"
df57a0d6d3b0609e69ff79afa63fe44dfa91f6f5 18-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Add option to query hardware decoders only

Add an option to OMXCodec::QueryCodecs() to filter out
software codecs.

Update stagefright command line tool to list the roles of codecs.

Change-Id: Icddb79118c30fe13cc3aea20f340174cc082c4e0
/frameworks/av/media/libstagefright/OMXCodec.cpp
a57a9a491272aa884494b2ec7854960827a73742 16-Jul-2011 James Dong <jdong@google.com> Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens

o Deal with vendor codec hang bug

Change-Id: Ic8449afd43045f09a9e0bd3d1be9a320e59ccabe
/frameworks/av/media/libstagefright/OMXCodec.cpp
dc3d6784c73882c888423f0cb9b4de1b14e1dc02 15-Jul-2011 James Dong <jdong@google.com> Merge "Revert "Add some logging to track down where ANR happens during MediaPlayer._release().""
a3f4d7f096e5c91dc6af085761b1459866c043d9 15-Jul-2011 James Dong <jdong@google.com> Revert "Add some logging to track down where ANR happens during MediaPlayer._release()."

This reverts commit a5293d1ca4459293f4993ea39c09ea703a022844.

Conflicts:

media/libstagefright/AwesomePlayer.cpp

Change-Id: I2a5960208a6780b9a44ab5cce0ffc0e2fb28f426
/frameworks/av/media/libstagefright/OMXCodec.cpp
87e031caf905145cb6e362a8c60f02736b87deef 13-Jul-2011 Andreas Huber <andih@google.com> Remove old-style software decoders.

Change-Id: Ie0729d6a65470ffdc38229791f25a75a22c724d8
/frameworks/av/media/libstagefright/OMXCodec.cpp
1374eddc4455b26d1dffdca10fc70534b3f08c1d 12-Jul-2011 Dandawate Saket <dsaket@ti.com> Add support for TI H264 encoder

Add support for TI H264 encoder and quirks for buffer allocation.
Temporary switching to baseline profile till ctts patch is defaulted
as per profile detection.

Change-Id: I1d56184b9c5d5f00d6c63aef7e058f3d56b84cef
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
d552b88515c6ccd18695e5db5e6032a6425d8c63 08-Jul-2011 James Dong <jdong@google.com> Use advertised h264 encoding parameters by default if the profile is not baseline

o Force to use AVC baseline profile for camcorder low quality videos

Change-Id: I3424c57dd0c55fc4991f5767b57695c8f3420ecb
/frameworks/av/media/libstagefright/OMXCodec.cpp
0bb6b4c5da2451ee0973372b0a3858b15c742689 30-Jun-2011 Andreas Huber <andih@google.com> Support a "secure input buffer" mode for use by Widevine DRM in OMXCodec.

Change-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad
/frameworks/av/media/libstagefright/OMXCodec.cpp
0055e9e1c67e4614135da2cc0866caf3e7bfa3d6 28-Jun-2011 Andreas Huber <andih@google.com> Fix a format string that triggered a compile-time warning in OMXCodec.cpp

Change-Id: Ib4b6cce1b4102034605da8edfb0dd8bc9a578168
/frameworks/av/media/libstagefright/OMXCodec.cpp
884946a23cfe804491ef6067bd9361371d7848fd 24-Jun-2011 Andreas Huber <andih@google.com> Log video dimensions and crop rectangle.

Change-Id: Ia56b09df4f6e9a14c4dcc499a6637fc39f8e3bb5
/frameworks/av/media/libstagefright/OMXCodec.cpp
cb62bc3fe54222cf05824e6f98fefafee552049a 22-Jun-2011 Anu Sundararajan <sanuradha@ti.com> Integrating TI OMAP4 Video Decoder

Added the video decoder component name to kDecoderInfo.
Set the quirks for the video decoder.
Add a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format.
Added a color conversion routine [ from NV12 to RGB ] for thumbnail generation.

Change-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
03168ed2f76e12e5dd41740697ea8206759924c1 20-Jun-2011 James Dong <jdong@google.com> When a recording session is stopped, no outstanding input video frames exist for the output buffers returned from OMX component to SF.

When this happens, default value of 0 will be used for the "decoding" time for these output buffers.
These buffers do not contain valid media data anyway.

related-to-bug: 4725803

Change-Id: I0eaf248bb2ac022ff072eaffd0ed3f21171f824e
/frameworks/av/media/libstagefright/OMXCodec.cpp
965e4239ca1cf6c824c1f8ce23116f9ba8cf6ebd 08-Jun-2011 James Dong <jdong@google.com> Add B frame support for MPEG4Writer

o requires the support of negative ctts duration values (ctts version 1)

Change-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf
/frameworks/av/media/libstagefright/OMXCodec.cpp
f6e1ff257eb3c4f98587170d0c6367bf58cfb115 08-Jun-2011 James Dong <jdong@google.com> Call storeMetaDataInVideoBuffers() before get/setParameters() on index OMX_IndexParamPortDefinition

This can potentially save lot of memory for video recording use case since the video encoder
can advertise a much smaller size of the input buffers which are allocated by SF by default.

Change-Id: I582a356cd02c7852e13f2713d90ad5f1eb43177d
/frameworks/av/media/libstagefright/OMXCodec.cpp
d5623ca906f64cc257cd695abd2a6b52b085f65f 04-Jun-2011 James Dong <jdong@google.com> Merge "Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h"
20214f3908a6f085ea531c65496347953e2d25b6 04-Jun-2011 James Dong <jdong@google.com> Merge "Initial-checkin for ON2 Software AVC/H264 decoder"
57ca262f8d1c0aabeea294ddb53e4db172fc6bec 03-Jun-2011 James Dong <jdong@google.com> Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h

Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
/frameworks/av/media/libstagefright/OMXCodec.cpp
2f0a8405f00a6e2e7e9f1cc47ac803ac01d5dfd5 02-Jun-2011 Andreas Huber <andih@google.com> Don't advertise the (old-style) software decoders unless they're actually present.

Change-Id: I3753a21e1a7de86432c9c087be9d52028e3a1e1b
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.cpp
386d609dc513e838c7e7c4c46c604493ccd560be 19-May-2011 Andreas Huber <andih@google.com> Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.

Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
/frameworks/av/media/libstagefright/OMXCodec.cpp
9eff287f4f59d6a0c9ca1d5dd8a7bb6e64acf5a4 24-May-2011 James Dong <jdong@google.com> resolved conflicts for merge of d5762583 to master

Change-Id: Icba2bcdbc9f967288a65c930b198405fd8566abd
37b2d62df28a1f8e9489ee8adad030a3d24213d7 20-May-2011 James Dong <jdong@google.com> Add some logging to track down where ANR happens during MediaPlayer._release().

o add a log message in AwesomePlayer::reset before acquiring the lock

Change-Id: I9f228f615f99c03c394e9d0dd78c855c0b9fcfbb
related-to-bug: 4409547
/frameworks/av/media/libstagefright/OMXCodec.cpp
b5746d9058c3e81a195f82f5345e1ffe0a26c0b2 18-May-2011 Andreas Huber <andih@google.com> Properly forward rotation information from input format to output format.

The software renderer would otherwise never rotate videos as it only has access to
the decoder's output format.

Change-Id: If893c0c23d0e85a3d9d4eb94390a114af5514b1c
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.cpp
8ce2364512f7c32c824f5ec5719688830ba72427 01-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: android_native_buffer_t -> ANativeWindowBuffer

Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
fa4e195a735ab99e02388ac5c5611e73a76c7c72 09-Apr-2011 Jamie Gennis <jgennis@google.com> am 0fb4e73f: am 3a9f5143: am 66380f76: Stagefright: authenticate ANativeWindow.

* commit '0fb4e73f5fd107b0ebd1c7a1a25dc40d99cf0705':
Stagefright: authenticate ANativeWindow.
d4d43b2ad0f715211feb48ce2f3e2158883583c0 08-Apr-2011 Jamie Gennis <jgennis@google.com> Stagefright: authenticate ANativeWindow.

This change adds a check to verify that the ANativeWindow to which
decoded video buffers are queued sends those buffers to SurfaceFlinger.
The check is done when the buffer content is flagged as protected. This
change also adds an error in the case where protected buffers are
needed, but an ANativeWindow is not being used as the video destination.

Change-Id: I107c9082d65ef0de4a13594e9535a2053ad5161b
Bug: 4269240
/frameworks/av/media/libstagefright/OMXCodec.cpp
5c43188653b82a8b40bd25ded8b3b8c48d67e132 31-Mar-2011 Andreas Huber <andih@google.com> am 66ec9068: am 8de5df43: am ebf6a72b: Merge "Surfaceflinger expects rectangles to be specified right/bottom edge exclusive." into honeycomb-mr1

* commit '66ec90687f3579fe73f6baa2a188f8a4583167a3':
Surfaceflinger expects rectangles to be specified right/bottom edge exclusive.
89c120e7adbe09c6283591789594c5e591aa5032 29-Mar-2011 Andreas Huber <andih@google.com> Surfaceflinger expects rectangles to be specified right/bottom edge exclusive.

Change-Id: Ib493572c614dbb74fa23b13c3e43899e3b31cf0e
related-to-bug: 4147205
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.cpp
9cbb1a6f99003a9cd8765e11b9d7380e67839f82 18-Mar-2011 James Dong <jdong@google.com> Handle display dimension scaling event due to SAR embedded in AVC videos

bug - 3379293

Change-Id: I03cb548e61d31bc0a2fb40916d207aaf840fafce
/frameworks/av/media/libstagefright/OMXCodec.cpp
2eb62955eb84b97695e8a7e56e14310cbb86412b 28-Jan-2011 Glenn Kasten <gkasten@google.com> Bug 3012968 DRM output control

Modifies Stagefright to verify that there is a hardware-protected path
to video sink for DRM content.

Change-Id: I18b8741390e803a05a88c7f180b860a24ba88a10
/frameworks/av/media/libstagefright/OMXCodec.cpp
9a5f9b7dbe9ecdebfbd9e8f96452c42213b08a31 03-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Stagefright: Use the ANW min undequeued bufs query."
59e7879a8482284a434268d51b4b438f0625d1be 01-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Stagefright: Query buffer usage from the component."
258d4e3aef7984574b0972a66871afc8a13d8e4e 28-Feb-2011 Jamie Gennis <jgennis@google.com> Stagefright: Use the ANW min undequeued bufs query.

This change modifies Stagefright's ANativeWindow initialization to use
the new MIN_UNDEQUEUED_BUFFERS query on the ANativeWindow.

Change-Id: I62565945e90ac40de326de77adcfa5577ed89975
Related-Bug: 3356050
/frameworks/av/media/libstagefright/OMXCodec.cpp
74006804065941841883c4b46ee785070164023f 23-Feb-2011 Jamie Gennis <jgennis@google.com> Fix error recovery in Stagefright init.

This change fixes the error path of
OMXCodec::allocateOutputBuffersFromNativeWindow so that it cancels the
correct number of buffers if a dequeueBuffer operation fails.

Change-Id: Ib7cdcdf24f1718bc070ad218a5980949c0e942eb
/frameworks/av/media/libstagefright/OMXCodec.cpp
3c14b9745c4afc88cec247d9dd0b003e087cbb52 24-Feb-2011 Jamie Gennis <jgennis@google.com> Stagefright: Query buffer usage from the component.

This change makes Stagefright query the gralloc buffer usage flags from
the OMX IL component and passing those flags on to the ANativeWindow.

Change-Id: Ic9af8a9e6df9ff4aadc7355890324d68841bc488
Related-Bug: 3479027
/frameworks/av/media/libstagefright/OMXCodec.cpp
43270a821f418f57140220b4c78c559d880850ef 16-Feb-2011 Andreas Huber <andih@google.com> Revert "Make AwesomePlayer's reset process more verbose to track down ANRs (yet again)"

This reverts commit e7c83d4a711241923854d6bbd5de0e24f9192f93.

Change-Id: I5151c7c72d79154528c55aa01bf006c8e38e7af7
/frameworks/av/media/libstagefright/OMXCodec.cpp
9c0096378820e5a61db26e52a7e6df50ba9c872d 08-Feb-2011 Andreas Huber <andih@google.com> Handle some edge cases when seeking while starting up OMXCodec

These were exposed by the new preview-seekframe while paused code.
In particular, the codec may have been in state RECONFIGURING when attempting
to seek, or we may have initiated flushing of the output port and this may not
have completed yet by the time we want to reconfigure the output port.

Change-Id: Id7640ade11dbc7205a22f648ea0b5e3e9b49cf4b
related-to-bug: 3392259
/frameworks/av/media/libstagefright/OMXCodec.cpp
553ab646159d94747dab5c3893ea51c8ec2463d9 04-Feb-2011 Andreas Huber <andih@google.com> Make AwesomePlayer's reset process more verbose to track down ANRs (yet again)

Change-Id: Ie1d853c31ad75ec5b12303c1131c9a74eb8cfc9f
/frameworks/av/media/libstagefright/OMXCodec.cpp
7757f5010a771fb8824b6fdf9788f588a1577e3f 26-Jan-2011 James Dong <jdong@google.com> Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.

This will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where
o n is the actual number of buffers advertised by the video encoder
o time_interval is the interval settings for timelapse video recording
specifying the time distance between neighboring input video frames

The fix includes two parts:
o OMXCodec will not submit all n buffers at one time, but instead submit one input
frame at one time if it become available.

o Timelapse camera source made available the first two input frames and do not skip
them so that the first compressed output frame data can be received regardless
the specified time_interval

bug - 3367659

Change-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b
/frameworks/av/media/libstagefright/OMXCodec.cpp
2494373e91399a97ad405f4e42dff6543cc296c7 26-Jan-2011 Andreas Huber <andih@google.com> Merge "More instrumentation to track down the hardware decoder not shutting down bug." into honeycomb
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
/frameworks/av/media/libstagefright/OMXCodec.cpp
6592195d76b12a9823f82d3352245d0a6d459647 26-Jan-2011 Andreas Huber <andih@google.com> Ignore errors returned from native_window_set_crop.

If the surface is already invalid, we'll know soon enough.

Change-Id: If360ffb8293817afb47df8c1a75722aea74bb335
related-to-bug: 3394601
/frameworks/av/media/libstagefright/OMXCodec.cpp
7fac331b39ca49ce49a67e425dcc031a3cb9e97f 21-Jan-2011 Andreas Huber <andih@google.com> Properly rotate video that's marked as such and decoded to a surface.

Change-Id: I1e9144db3447e58c99aac3f47702ad471678789c
related-to-bug: 3378148
/frameworks/av/media/libstagefright/OMXCodec.cpp
018761c5cc4aefd0495eaa4666f2372a59a7980a 19-Jan-2011 Andreas Huber <andih@google.com> Turn another assertion into a runtime error. Damn you surfaces.

Change-Id: Ib62957180949293a6fb84bb5a40af058798337ab
related-to-bug: 3335220
/frameworks/av/media/libstagefright/OMXCodec.cpp
8eb04084b96d59802615f0e0570359c35ca3df61 11-Jan-2011 James Dong <jdong@google.com> Merge "Fix uninitialized rect structure for retrieving rect cropping information from decoder" into honeycomb
14c858e80dfe2030c9f343dc0c6e2048e030731b 10-Jan-2011 James Dong <jdong@google.com> Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object

bug - 3336424

Change-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89
/frameworks/av/media/libstagefright/OMXCodec.cpp
c29dd6f4ccd7ea7e41921d48d03d26e159aeaae4 07-Jan-2011 James Dong <jdong@google.com> Fix uninitialized rect structure for retrieving rect cropping information from decoder

o This patch is from NV.

bug - 3333254

Change-Id: I02bc26af464ea0bc9ad9f2e111474e8398c67220
/frameworks/av/media/libstagefright/OMXCodec.cpp
4d785ae6b940c62610612baf9d24f1ee607a2714 06-Jan-2011 Andreas Huber <andih@google.com> If we failed to initialize the codec after transitioning to IDLE state, don't assert

during shutdown.

Change-Id: I40ac44260fb136c15d6dcb9f5ad62211640c66ec
related-to-bug: 3328222
/frameworks/av/media/libstagefright/OMXCodec.cpp
41152efd144ccf70c380d5c9a32105c02a039f43 21-Dec-2010 James Dong <jdong@google.com> Add more debugging code to track down hang during video recording

bug - 3276561

Change-Id: I1e02590b23031f29bcbfc4a1064f039ed80cb862
/frameworks/av/media/libstagefright/OMXCodec.cpp
60693ddde0e435def1617848f545c78cec452766 18-Dec-2010 Jamie Gennis <jgennis@google.com> Change a Stagefright assert to an error check.

During OMX codec initialization it is possible that buffer allocation
fails. This changes Stagefright to set an error state and abort
initialization rather than crashing with an assert failure when that
happens.

Change-Id: I2fc2fadfe75657cdbf649cc8cafd2e4c251a5f8b
Bug: 3282700
/frameworks/av/media/libstagefright/OMXCodec.cpp
763b772bb6bca6a4aaef85cec840fd7061630d61 14-Dec-2010 Andreas Huber <andih@google.com> Properly signal the condition if we run out of input data.

Change-Id: I7a5ada8c25c1d32ca603b3b2c75e1808e140c367
/frameworks/av/media/libstagefright/OMXCodec.cpp
985f838934510983d8a887461e98dca60a6e858f 07-Dec-2010 James Dong <jdong@google.com> Yield the omx threads so that file writer threads have a chance to retrieve the output buffers once they become ready

bug - 3252228

Change-Id: Iab7cf1c9a87cce7b814c63b42b21fcd6a7314b36
/frameworks/av/media/libstagefright/OMXCodec.cpp
79e23b41fad961008bfde6e26b3c6f86878ca69d 11-Dec-2010 James Dong <jdong@google.com> Revert "Allows the authoring engine to skip frame."

o Skipping frames could lead to a lot of issues such as I frames is lost etc.
It is not being used anyway.

This reverts commit 53d4e0d58e2d5c18f6e026c705af833b9bdd7aba.

Conflicts:

media/libstagefright/AudioSource.cpp
media/libstagefright/CameraSource.cpp

Change-Id: I3abba1647de48db25bdc369066eb2a7ae4dedec2
/frameworks/av/media/libstagefright/OMXCodec.cpp
92bf2f96c53d24adc1ace362439e82ca2cf6b856 07-Dec-2010 Andreas Huber <andih@google.com> Better buffer status management and verification in OMXCodec.

Change-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643
/frameworks/av/media/libstagefright/OMXCodec.cpp
495f154b602a0103b24b98226370349100a26adf 23-Nov-2010 James Dong <jdong@google.com> Do not getConfig on video encoder on output port

Change-Id: Id53e01dd8f3ec0c9ca94bb1d6dfccd7696254a2d
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.cpp
c726bd8b7b9929fd917b01e5551a66ad5fe2c04e 18-Nov-2010 Jamie Gennis <jgennis@google.com> Set the external display usage bit in Stagefright.

Change-Id: Ie18fa773fdb83508d96300dd7e4e4c7c3cdc4540
/frameworks/av/media/libstagefright/OMXCodec.cpp
07e946ce4908eea5eebb30ea89f088fc7c679b5a 18-Nov-2010 Andreas Huber <andih@google.com> Log H.264 profile/level in OMXCodec

Change-Id: I5bf98e1ace701b543234dd9dae1315037ff363c2
/frameworks/av/media/libstagefright/OMXCodec.cpp
bfd41f33c77c66ead48ee378e4ea4b7bfa5fca1f 15-Nov-2010 Andreas Huber <andih@google.com> Refactor h.264 profile/level support into avc_utils.

Change-Id: Idb33636dc723aa79ea0122dc3582109ada4b1358
related-to-bug: 2368598
/frameworks/av/media/libstagefright/OMXCodec.cpp
393410a441b6d06daf286ed496470e9d6b2b6ca8 11-Nov-2010 James Dong <jdong@google.com> Separate the key for audio sampling rate and video frame rate in MetaData.h

Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
/frameworks/av/media/libstagefright/OMXCodec.cpp
b50a8033f1c7c2b58913212825f9200f1a9e5652 11-Nov-2010 James Dong <jdong@google.com> Add color format query support to QueryCodecs()

Change-Id: Ic8589649cd09392a1b969a30082b4c9c4e6cc6a7
/frameworks/av/media/libstagefright/OMXCodec.cpp
f23c4f92c3b0202435cf87db2642156fabc46f02 11-Nov-2010 James Dong <jdong@google.com> Fix memory leak when 0-memcpy quirk is used

o minor change to the original patch by Andreas:
call restorePatchedDataPointer() method only if kAvoidMemcopyInputRecordingFrames is turned on

Change-Id: Idf3710e6f759d37d28e866613f98d39215722cb9
/frameworks/av/media/libstagefright/OMXCodec.cpp
8480835b4bc1350646376aa7f3ae33742a7adeb1 02-Nov-2010 James Dong <jdong@google.com> Use meta data in the media recording framework

o This patch allows us to do 720p video recording

Change-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333
/frameworks/av/media/libstagefright/OMXCodec.cpp
ed45fe0730a7e7fc9944741428f5a484350acc8a 02-Nov-2010 Jamie Gennis <jgennis@google.com> Fix a MediaBuffer leak in Stagefright.

Change-Id: I548e60b07cf1676476874b156cfbc4ffefdfa2b9
/frameworks/av/media/libstagefright/OMXCodec.cpp
09ddead9fcb391efd718738245455398a7ec6887 27-Oct-2010 Andreas Huber <andih@google.com> Experimentally reenable mpeg4 and h.263 hardware decoders.

Change-Id: I1be266bd4534004a08e8836b48cc6c09ca890ccc
/frameworks/av/media/libstagefright/OMXCodec.cpp
0821a824a718a28fa5144309bf09ea40411c8ae0 30-Oct-2010 Jamie Gennis <jgennis@google.com> Stop using OMX_COLOR_FormatAndroidPrivateStart.

This removes the use (and definition) of the Android-private range of
OMX color formats from Stagefright. Instead we will just be
interpreting the video color format of an OMX port as an Android pixel
format if the port is in native buffer mode.

Change-Id: I3ea50703336a88249e7563bc7022dfedbeac506e
/frameworks/av/media/libstagefright/OMXCodec.cpp
67f4cae120b49fad8b53a83499db1545bfa41e38 02-Nov-2010 Andreas Huber <andih@google.com> Notify surfaceflinger about (changes to) the crop rectangle output by the decoder.

Change-Id: I9c33618dd3351be1ecadcc7d0329654ea50bad3f
related-to-bug: 3153626
/frameworks/av/media/libstagefright/OMXCodec.cpp
d332a72e8f71caea0d3dc898db6a9d7a929fad32 23-Oct-2010 James Dong <jdong@google.com> Add two creation flags to OMXCodec::Create()

o This allows to force to use software codecs or hardware codecs
o If request cannot be fullfilled, Create() returns NULL.

Change-Id: I02b56a9229abb56d49703fe80ac18571d33f3748
/frameworks/av/media/libstagefright/OMXCodec.cpp
c810b75fd04eef8af509bb42aa8837566a374b32 23-Oct-2010 James Dong <jdong@google.com> Remove OMX.PV.* components from OMXCodec.cpp

Change-Id: Ie43c00a4d589e9cca6e9505a5dabd4e0d8af321a
/frameworks/av/media/libstagefright/OMXCodec.cpp
bf2ba2a97927c24d14c0e71158abe7b49c557c68 21-Oct-2010 Jamie Gennis <jgennis@google.com> Fix the non-ANW video decode path.

The BufferInfo::mOwnedByNativeWindow field was not being initialized in
the non-ANativeWindow video decode path.

Change-Id: If2f6249902a08690f6c62ef30791b9979050c0e5
/frameworks/av/media/libstagefright/OMXCodec.cpp
6a9da9fc558263548ebfbae2cbf177eb7454a41b 07-Oct-2010 Jamie Gennis <jgennis@google.com> Add decode-to-ANativeWindow support to Stagefright.

This change adds support to Stagefright for doing OMX video decoding directly
into buffers dequeued from an ANativeWindow. It does this by registering the
dequeued buffers with the OMX component using an Android-specific OMX
extension, and then exchanging buffers between the OMX component and the
ANativeWindow.

Change-Id: Ida66f836503255a68d378c6903d96dfe9747ce87
/frameworks/av/media/libstagefright/OMXCodec.cpp
2ad46bea6b7ef92b24e9bd98b0b459beb71b96ab 19-Oct-2010 Andreas Huber <andih@google.com> am 9b2f18df: am bc96c284: Merge "For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder." into gingerbread

Merge commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2'

* commit '9b2f18df2436b6c2d9735e65119b92f320bb57e2':
For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.
f3712f026aad1fc46b1df18d1dba718281e39726 18-Oct-2010 Andreas Huber <andih@google.com> For thumbnail extraction make sure we instantiate a decoder that allows access to the framebuffer. Implement the samsung workaround to support this by reconfiguring the decoder.

related-to-bug: 3106534
Change-Id: Ie28d72af2f9e93818d1840ac83aa7bc11fa57b3b
/frameworks/av/media/libstagefright/OMXCodec.cpp
11b72e19970f620adfb1aa458b45ff06cec77f10 13-Oct-2010 James Dong <jdong@google.com> Remove hard-coded color format for Nvidia's video encoder

o camera would query the color format if camera source is used
o if camera source is not used, a MetaData can be passed to do the same.

Change-Id: Iff1f802cc4974b286085473e5384bd88e04fa05d
/frameworks/av/media/libstagefright/OMXCodec.cpp
0e4d896cb9ab813131c45b3b1fcd4cc66d341468 10-Oct-2010 Andreas Huber <andih@google.com> am bb708373: am 949f7d90: Merge "Work to support switching transport streams mid-stream and signalling discontinuities to the decoder." into gingerbread

Merge commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43'

* commit 'bb70837397e3fb437b7b4443b37d7a83c11e6e43':
Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.
79e0ac144ca9bb771e2c6b1954c882da12a4bea8 10-Oct-2010 Andreas Huber <andih@google.com> am 45bd1159: am 02654f01: Merge "On this particular device the hardware video decoder spits out buffers that don\'t actually contain our video data, so we cannot use them to restore the video frame after suspend/resume." into gingerbread

Merge commit '45bd1159fa34b51ba077e0cde760d171ca092552'

* commit '45bd1159fa34b51ba077e0cde760d171ca092552':
On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.
a240812f10335fe4c8677da824293b7e04aad7e9 07-Oct-2010 Andreas Huber <andih@google.com> Some instrumentation of OMXCodec for future investigation and a possibly temporary fix for the green tinge on video playback.

Change-Id: Iee9cd7b0c326bac96382007b4ea077d4368d7d01
related-to-bug: 3051572
/frameworks/av/media/libstagefright/OMXCodec.cpp
2a4d22d79e927f2245537921e10fc5fda1c47a29 08-Sep-2010 Andreas Huber <andih@google.com> Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.

Change-Id: I7150e5e7342e1117c524856b204aadcb763e06ed
related-to-bug: 2368598
/frameworks/av/media/libstagefright/OMXCodec.cpp
2b82e9652ba049e754c2cc74e381282f231d5fbf 07-Oct-2010 Andreas Huber <andih@google.com> On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.

Change-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c
related-to-bug: 3070094
/frameworks/av/media/libstagefright/OMXCodec.cpp
6d59aa4bb8e9734a9197290a027356e88552f59a 24-Sep-2010 James Dong <jdong@google.com> Added two more video encoders

Change-Id: Ia426da5bfc255974d7bbf3915a473543e0841dc9
/frameworks/av/media/libstagefright/OMXCodec.cpp
45adaf601ea69f8bd060c8a219e1ccf7045bbfa4 23-Sep-2010 James Dong <jdong@google.com> am 693a430c: am 903fc221: Ignore errors from correction parameter query and config for M4v and H263 encoders

Merge commit '693a430cff3c9fac503b5005e9fd5419611eddde'

* commit '693a430cff3c9fac503b5005e9fd5419611eddde':
Ignore errors from correction parameter query and config for M4v and H263 encoders
8872633927679cfeb77948ba7b562e07e899ef91 23-Sep-2010 James Dong <jdong@google.com> am 30c7e132: am 697bd76e: Merge "Use the advertised profile and level from M4V and H263 video encoders" into gingerbread

Merge commit '30c7e132171edf41a787d6e29d169ac467f6f1ae'

* commit '30c7e132171edf41a787d6e29d169ac467f6f1ae':
Use the advertised profile and level from M4V and H263 video encoders
59f63db5d1cdc91336a2b82e195e0000091cd6e3 23-Sep-2010 James Dong <jdong@google.com> Ignore errors from correction parameter query and config for M4v and H263 encoders

This feature is not essential for camcorder application

Change-Id: Id560632207dcf24fe361280ebe8178ea7332f22d
/frameworks/av/media/libstagefright/OMXCodec.cpp
97e0fcc0cb69692a6c518e2bfaf9892a164e7f58 23-Sep-2010 James Dong <jdong@google.com> Use the advertised profile and level from M4V and H263 video encoders

This is already the case for AVC video encoder

Change-Id: I9cc97a03ab457b4bd0b21832c09f6d0aa7f5fc39
/frameworks/av/media/libstagefright/OMXCodec.cpp
a60165dbfcc44c6114ce63dba38bb3f08f614081 22-Sep-2010 Andreas Huber <andih@google.com> am 0b2affe8: am 87d208f7: Merge "This log message is codec specific." into gingerbread

Merge commit '0b2affe8f05f887fcb6ae6314e2a0e586dabe9e1'

* commit '0b2affe8f05f887fcb6ae6314e2a0e586dabe9e1':
This log message is codec specific.
955194dc6a9f74dc4aeb4559f71f0323dc2f8166 22-Sep-2010 Andreas Huber <andih@google.com> This log message is codec specific.

Change-Id: I603ae7bd13b186a6df0a26ea9abe073e89276caf
/frameworks/av/media/libstagefright/OMXCodec.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.
6d2969a09ffe48c1600fd48caeb6293a92e204c2 18-Sep-2010 Andreas Huber <andih@google.com> resolved conflicts for merge of 1fc97385 to master

Change-Id: I9b1fb673844eb822313067d3be16b6c1ce1f2ccb
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
/frameworks/av/media/libstagefright/OMXCodec.cpp
095916d92ea2378aea6fc35e80e368172c02021b 16-Sep-2010 Andreas Huber <andih@google.com> Register the new OMX components.

Change-Id: I795287c63073ca86ad0f97d6afcfc85c401dc984
/frameworks/av/media/libstagefright/OMXCodec.cpp
38a7476749eb4b4fd117b6e64027870077eb22d8 16-Sep-2010 James Dong <jdong@google.com> am e30d039f: am a7f5e476: Merge "Fixed a bug in the query to the supported profiles and levels" into gingerbread

Merge commit 'e30d039f0ef797c35dd9f75e590f0b819c1c6194'

* commit 'e30d039f0ef797c35dd9f75e590f0b819c1c6194':
Fixed a bug in the query to the supported profiles and levels
f01691f44dcbe38a0ab3914e7c709ddc009d95dc 16-Sep-2010 James Dong <jdong@google.com> Fixed a bug in the query to the supported profiles and levels

According to OMX spec, the levels returned is the max level settings.
In fact, we could not enum all the levels.

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

Merge commit '7a848c0d7cb1978155ab7743aadb2e07bc4bdcc6'

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

Change-Id: I57a798b00adeb2c8056e85aab29a2b57aef00b63
/frameworks/av/media/libstagefright/OMXCodec.cpp
0a1b9dcf0106731e1b8113fb77e933ffaf70bd0b 16-Sep-2010 James Dong <jdong@google.com> am 0cd2472b: am 82a39f4a: Merge "Add some explicit error log messages" into gingerbread

Merge commit '0cd2472bf8a0062b56b9cd4613c44791b32fe42f'

* commit '0cd2472bf8a0062b56b9cd4613c44791b32fe42f':
Add some explicit error log messages
a1abc1a76741914c7bc43f1df9e32744f023ab75 14-Sep-2010 James Dong <jdong@google.com> Add some explicit error log messages

Change-Id: I8a69157b75a67f0d3c19f05775a8cb0629232299
/frameworks/av/media/libstagefright/OMXCodec.cpp
5e9d8a22e974627e1b3273cc3ca3277998d93ed4 31-Aug-2010 Andreas Huber <andih@google.com> Make sure we only reallocate buffers on a genuine port definition change.

Change-Id: I434be98700e5d9333f75a3a9a8c78f1acc7e7247
related-to-bug: 2953523
/frameworks/av/media/libstagefright/OMXCodec.cpp
9bdccaca6a7a09457670138bf6cdd9b3ba5e7087 28-Aug-2010 James Dong <jdong@google.com> am a5fe77d0: am df8356ff: Merge "Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder is occasionally too small." into gingerbread

Merge commit 'a5fe77d004091bd9521d087c2572f587191afbfc'

* commit 'a5fe77d004091bd9521d087c2572f587191afbfc':
Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
824c9ff4a55e86faae4f8f158977329909cbfaf6 27-Aug-2010 James Dong <jdong@google.com> Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
is occasionally too small.

bug - 2882917

Change-Id: Id59d8529084c5689a26f272e0cd3b1e955fd8a30
/frameworks/av/media/libstagefright/OMXCodec.cpp
27fdb181daebec3dbe477080adad94f81ed667ad 26-Aug-2010 Andreas Huber <andih@google.com> Disable all the hardware decoders except for h.264 video decode, since the software decoders are faster.

Change-Id: Ia41194752ef72feb4ed1d5199e97b1649075b646
/frameworks/av/media/libstagefright/OMXCodec.cpp
8d9dda1ba28bbcd7730a9bec10ce70db4912688e 23-Aug-2010 Dima Zavin <dima@android.com> libstagefright: enable tegra hw audio decoders

Change-Id: Ic94c18a6a6df8e0370dc28634f95561056ed2d02
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/media/libstagefright/OMXCodec.cpp
ea659e51af658d77bef7b88a2fb542ec2d69e032 27-Jul-2010 pgudadhe <pgudadhe@nvidia.com> libstagefright: Enable tegra hw video decoders

Change-Id: Iff770de1369e57e7833a8cfa9a30955030d9974c
/frameworks/av/media/libstagefright/OMXCodec.cpp
4937be23b485ce8edf180ff5e71ebf0884178f17 26-Jul-2010 pgudadhe <pgudadhe@nvidia.com> libstagefright: Enable tegra hw encoder

Change-Id: Ifed6b4dc4877e3fcab86ee81c9117a92b1d1ce8f
/frameworks/av/media/libstagefright/OMXCodec.cpp
f8ca90452ff3e252f20de38f1c3eee524c808c3e 10-Aug-2010 Andreas Huber <andih@google.com> We're now going to ignore timestamps completely in gtalk video conferencing, playing video as soon as it comes in. We also make up fake timestamps in the rtp code, ignoring rtcp SR information to enable early startup.

Change-Id: Idc3df74b42000f7a6aa3eae090718dc9d9c4186f
/frameworks/av/media/libstagefright/OMXCodec.cpp
42d66f25af9cb8089a93c6796876a6bc16e36cea 09-Aug-2010 Andreas Huber <andih@google.com> Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.

Change-Id: I92685d09456c220b8c09842defb721bd55b0b9f6
related-to-bug: 2900021
/frameworks/av/media/libstagefright/OMXCodec.cpp
299766cdbf93fba14634e364b177b7f4d5811453 04-Aug-2010 James Dong <jdong@google.com> Use the target color format from the camera source if possible

- If the target color format is unavailable, the default
platform-dependent color format will be used.

- Also add some logic to prevent looping forever if the
omx component is buggy supporting color format enumeration.

Change-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3
/frameworks/av/media/libstagefright/OMXCodec.cpp
39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8 04-Aug-2010 Andreas Huber <andih@google.com> Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.

Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
/frameworks/av/media/libstagefright/OMXCodec.cpp
542db5d438988360d491a5add1040a2df9aa90c9 21-Jul-2010 James Dong <jdong@google.com> Allows the authoring engine to skip frame.

This is 1st part of the work to allow audio and video resync if
we found out that audio and video are out of sync during authoring

- also fixed a problem in AACEncoder::read() where the buffer acquired
from the buffer group does not release when error out at
reading from source.

Change-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118
/frameworks/av/media/libstagefright/OMXCodec.cpp
abd1f4f870925d6776dbe4b930b759a1ab6595ca 21-Jul-2010 Andreas Huber <andih@google.com> Support finer seek control on MediaSources.

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
/frameworks/av/media/libstagefright/OMXCodec.cpp
59f566c4ec3dfc097ad8163523e522280b27e5c3 13-Jul-2010 James Dong <jdong@google.com> Initial check-in for software m4v_h263 encoder

Change-Id: I4b49fa5c3a5e6e21cfd2419441d98dd784046367
/frameworks/av/media/libstagefright/OMXCodec.cpp
8f5f2fcee5c12d08df71d17017410c50951fc2e3 02-Jul-2010 James Dong <jdong@google.com> Support user-supplied timescales for authoring

- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
/frameworks/av/media/libstagefright/OMXCodec.cpp
29a84457aed4c45bc900998b5e11c03023264208 03-Jul-2010 James Dong <jdong@google.com> Initial checkin for software AVC encoder

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

Change-Id: If8640c9e5a4f73d385ae9bb2022e57f7f62b91b9
/frameworks/av/media/libstagefright/OMXCodec.cpp
b914122eb9cb54bbeae4ec03bfebb194aecdccbd 08-Jul-2010 James Dong <jdong@google.com> Add runtime dumpsys support for media recorder client

Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
/frameworks/av/media/libstagefright/OMXCodec.cpp
145bfe5eb3e08c9689c28f6bf3287a979438b04b 02-Jul-2010 James Dong <jdong@google.com> Allow application to set two more encoding paramters: video profile and level

Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
/frameworks/av/media/libstagefright/OMXCodec.cpp
d329e21495eda9dbc531fdd0c26c77f1593ac3f4 30-Jun-2010 James Dong <jdong@google.com> Added encoding parameters set up for H263 video encoder

Also:
- Allowed start() call when encoder already starts and stop() call when encoder has not started yet
- Handled default value for audio/video sources/encoders and file output format

Change-Id: I03b2f7d3cf570baa0fd011a8c0ad200f2f2a5da1
/frameworks/av/media/libstagefright/OMXCodec.cpp
ae1f0036bd9cc52353fb3a8ad4556792e1e8047a 29-Jun-2010 Andreas Huber <andih@google.com> Add qcom's new OMX components to the list.

Change-Id: Ic8d261aaa5b15c1be7e6d57aee6be51cecb10bb1
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.cpp
f60cafe0e6aad8f9ce54660fa88b651ae4e749e6 19-Jun-2010 James Dong <jdong@google.com> Audio/video sync during recording (second part)

Change-Id: Iba0b35f57fdeac7ee1da16899406bf4b957a2c8c
/frameworks/av/media/libstagefright/OMXCodec.cpp
8aa8fe5ea704b05d8f0ab3d7bf18de18151f1b50 14-Jun-2010 James Dong <jdong@google.com> Fixed a typo - maybe we should do comparison ignoring the case?

Change-Id: I498f8242e6ba3e3e8b8c7b714ed49bff51a3010b
/frameworks/av/media/libstagefright/OMXCodec.cpp
d35bd5fb4e09c2cd8608497c279cbb2ef9c3a029 10-Jun-2010 Andreas Huber <andih@google.com> Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek.

Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
/frameworks/av/media/libstagefright/OMXCodec.cpp
98c7c319907f4ed3915461ca62b1027590d351e5 10-Jun-2010 Andreas Huber <andih@google.com> Apparently the TI video decoder only supports H.264 up to baseline profile/level 3, not level 3.x as previously assumed.

Change-Id: I4a9aa80f392dbef72f81e25c67e5bd0654848b2c
/frameworks/av/media/libstagefright/OMXCodec.cpp
ddcc4a66d848deef6fb4689e64e30cd9bd2684fe 08-Jun-2010 James Dong <jdong@google.com> Remove some hard-coded encoding parameters

Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
/frameworks/av/media/libstagefright/OMXCodec.cpp
d07139e2e817a9b3ae9c87ba4e1e8d65d3e549da 07-Jun-2010 James Dong <jdong@google.com> Second part of speeding up video recording frame rate

1. Avoid copying the input recording frames to the encoder via OMX interface
for TI video encoder
This is a missing change for part one which help reduces the CPU load.

2. Release output buffers as early as possible. This is a little bit helpful, but not critical.

TODO:
We should save the underlying pointers allocated by the OMX component before we replace them
and restore them before we call OMX_FreeBuffer()!

Change-Id: Ib3a88978f4c3b1153808872eaa7ac4c265a811ff
/frameworks/av/media/libstagefright/OMXCodec.cpp
4d1265cd007b9754d0645bc4fb95701140a45648 24-May-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

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

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

Change-Id: I5ec57decf1200cf9137fe13ff77d06f47950c3d7

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

Support for VPX/VP8 decoding in stagefright

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

Change-Id: Ibc124f6af540c2715cb2325151eecdd6edf085ec
/frameworks/av/media/libstagefright/OMXCodec.cpp
7405500bb3b5f8e8e739e344bc9d036c2736fcdf 20-May-2010 James Dong <jdong@google.com> Workaround for preview frame rate setting and encoder profile and level settings on passion
1. QCOM camera HAL does not honor the preview frame rate set request. see bug - 2701282
2. QCOM video encoder has lots of 0-length output buffers if the default level setting is changed. see bug - 2660974

Change-Id: Id01d94bb77dc242c4712d56a91b0d69a96ba6c2f
/frameworks/av/media/libstagefright/OMXCodec.cpp
956c553ab0ce72f8074ad0fda2ffd66a0305700c 15-May-2010 James Dong <jdong@google.com> Initial software encoder checkins

Change-Id: I27f387db23594e46384c4eb3a0093ce220bb6b60
/frameworks/av/media/libstagefright/OMXCodec.cpp
b1ccb623d9db42c451aa9dd4e8cf0e76b164aa50 10-May-2010 Andreas Huber <andih@google.com> am 17078510: am d13efb20: Merge "A new OggExtractor/VorbisDecoder combo to support approximate seeking." into froyo

Merge commit '1707851090e6512a77247b0c260dd673ef687589' into kraken

* commit '1707851090e6512a77247b0c260dd673ef687589':
A new OggExtractor/VorbisDecoder combo to support approximate seeking.
ee7ff20e69498ebd53dd9717a0f984188341a75e 07-May-2010 Andreas Huber <andih@google.com> A new OggExtractor/VorbisDecoder combo to support approximate seeking.

Change-Id: Id5d0c1c8b1adc62896bb5ed951f7b5cfda811e95
related-to-bug: 2654400
/frameworks/av/media/libstagefright/OMXCodec.cpp
050b28a593350047845a45a14cc5026221ac1620 23-Apr-2010 James Dong <jdong@google.com> Support AAC recording

- Extend the audio recording to AAC format
- Add support for setting some recording parameters
- Add stss box to the meta data in the recorded file

Change-Id: I41167bfd9d70ef9cd33906f8437b39c232b6d3b7
/frameworks/av/media/libstagefright/OMXCodec.cpp
c32cd79d9ad4aba7d959b5b3be7361b4715e6f18 27-Apr-2010 James Dong <jdong@google.com> Use timestamp from camera driver for CameraSource

Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
/frameworks/av/media/libstagefright/OMXCodec.cpp
261741e728f2137f12b28df25c25e96acd942de9 26-Apr-2010 James Dong <jdong@google.com> am 31431b34: am 374aee68: Switch to use software MP3 decoder Hardware MP3 decoder could lead to hang in the Music application, although the chance is very low.

Merge commit '31431b34f895862ae13efba30bb5771085572687' into kraken

* commit '31431b34f895862ae13efba30bb5771085572687':
Switch to use software MP3 decoder
0b5ba9eeed56a80fed3735f5cd4951477fda79f0 26-Apr-2010 James Dong <jdong@google.com> Switch to use software MP3 decoder
Hardware MP3 decoder could lead to hang in the Music application, although the chance is very low.

bug - 2608400

Change-Id: Ia0b5b6521015fc8d3e086117fa914dcc20ace5bd
/frameworks/av/media/libstagefright/OMXCodec.cpp
fdce1ccd7e468f3229de8f4f1616d017465470cb 20-Apr-2010 Andreas Huber <andih@google.com> am 1e1edb2c: am 25dc5f30: Merge "Don\'t coalesce more than 250ms worth of encoded data into a single codec input buffer. This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place." into froyo

Merge commit '1e1edb2c7376dbd9ca24bbeefbddbe4221f397a0' into kraken

* commit '1e1edb2c7376dbd9ca24bbeefbddbe4221f397a0':
Don't coalesce more than 250ms worth of encoded data into a single codec input buffer.
d2c6894b56a538aa807e20d3ef421807cd55c009 20-Apr-2010 Andreas Huber <andih@google.com> Don't coalesce more than 250ms worth of encoded data into a single codec input buffer.
This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.

In certain edge cases (encoded audio track contains silence), each buffer would turn out to be an amazing 6(!!!) bytes, we'd spend lots and lots of time streaming network data to fill the codec's buffers of size 6144 bytes with .. silence.

Change-Id: I9f449f310fc64ca384bd02e4a783e33cf5b46fcc
related-to-bug: 2609049
QA-Impact: streamed (http) playback of aac audio content on Droid.
/frameworks/av/media/libstagefright/OMXCodec.cpp
ea623087e93c6e27ce6284946f94c1d4aff7f91b 13-Apr-2010 James Dong <jdong@google.com> am 9bb8e65a: am c15f48d7: Merge "Don\'t set encoder component role while we query decoders" into froyo

Merge commit '9bb8e65a7d7dc57fdd7383d64d53414b1aa5cbbc' into kraken

* commit '9bb8e65a7d7dc57fdd7383d64d53414b1aa5cbbc':
Don't set encoder component role while we query decoders
5e3cf6cf36feb3b73b8f8c0a8134c46f5bc85094 13-Apr-2010 James Dong <jdong@google.com> Don't set encoder component role while we query decoders

bug - 2558515

Change-Id: I29683507d234d963994c782c07508034ea807739
/frameworks/av/media/libstagefright/OMXCodec.cpp
a3387afbc6dc5db0fd534ab5e3200f46b5a36acd 12-Apr-2010 Andreas Huber <andih@google.com> am f0a49f68: am 1d7a8b44: Merge "Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request." into froyo

Merge commit 'f0a49f68f0edc98fefbe14e3ddcf0d6853519293' into kraken

* commit 'f0a49f68f0edc98fefbe14e3ddcf0d6853519293':
Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request.
7110385b31c7bc65c8a923a09689ebb0c4a1e07a 12-Apr-2010 Andreas Huber <andih@google.com> Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request.

Change-Id: I4cabd18709c29db0a2763a01cc86525ba0b0aeb7
related-to-bug: 2575976
/frameworks/av/media/libstagefright/OMXCodec.cpp
03b268eac37ca2589bfff0bf58daf79d29cc14f4 19-Mar-2010 Andreas Huber <andih@google.com> Various fixes to enable recording on passion and nexus1.

Change-Id: I75a461c9882e2449082ad754ee7b231c1ceec039
/frameworks/av/media/libstagefright/OMXCodec.cpp
80eb61776f136c316f45ce4187a8bafedf9b3e88 06-Apr-2010 Andreas Huber <andih@google.com> Partial revert of previous change to improve hardware AAC decoder performance, increasing the input buffer size so dramatically accidentally broke streaming performance.

Change-Id: I14e9fbc1fdff61bcf89218d83cb1d2e3d6eb8438
related-to-bug: 2574491
/frameworks/av/media/libstagefright/OMXCodec.cpp
7f498b90a4300ef9badf14d202b0a67c26e20931 02-Apr-2010 Andreas Huber <andih@google.com> Coalesce multiple encoded AAC frames into a single input buffer on this particular OMX codec to increase throughput significantly.

Change-Id: I90c7db6656a53339c5d454336548c4f00d0d9064
related-to-bug: 2548426
/frameworks/av/media/libstagefright/OMXCodec.cpp
08a88e195d2b3697f2f967e9216491e8c5bd3c9e 24-Mar-2010 Andreas Huber <andih@google.com> QueryCodecs now returns the names of the software codecs (non-OpenMax) as well.

Change-Id: Ic4cd61f4dd722fb0dda544ffaa5615e87e3a4d40
related-to-bug: 2541647
/frameworks/av/media/libstagefright/OMXCodec.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
/frameworks/av/media/libstagefright/OMXCodec.cpp
5295c0c55d41a2906ea7f65a3f22e6278cb17d4b 23-Feb-2010 Andreas Huber <andih@google.com> Propagate errors all the way through the MediaSources and send either MEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR depending on the final reason for running out of buffers to play back.

related-to-bug: 2463749
/frameworks/av/media/libstagefright/OMXCodec.cpp
86559de0275b46a9bdba06b749fbd549ad2022d1 22-Feb-2010 Andreas Huber <andih@google.com> This hardware video decoder lies about its required input buffer sizes allocating 2.7 MB of memory instead of the required 176 KB... Added another quirk.

related-to-bug: 2281327
/frameworks/av/media/libstagefright/OMXCodec.cpp
c2158a2f0fb68fe96d24b9bd85c32f15753d8ccb 18-Feb-2010 Andreas Huber <andih@google.com> Disable the TI AMR hardware decoder for audio decoding until its issues are resolved.

related-to-bug: 2450938
/frameworks/av/media/libstagefright/OMXCodec.cpp
758cc74ff08487ded45f7ff4476c200fe727b366 10-Feb-2010 Andreas Huber <andih@google.com> TI does not want the hardware H.263 decoder to be enabled.
/frameworks/av/media/libstagefright/OMXCodec.cpp
c017cfcc24dd63c7efde5747a6ed2d4053788abc 09-Feb-2010 Andreas Huber <andih@google.com> If the codec's input buffer size is too small to accomodate the buffer read from the source, report and error instead of asserting.
/frameworks/av/media/libstagefright/OMXCodec.cpp
ec9dd59902c8beea4ba6a842f3a843d46150d949 09-Feb-2010 Andreas Huber <andih@google.com> A little less verbosity in stagefright and special treatment for the error state while shutting down.
/frameworks/av/media/libstagefright/OMXCodec.cpp
b25e2a948c8b5a96e284069a908c2fddb49efc48 04-Feb-2010 Andreas Huber <andih@google.com> Stop using the PV software decoders and use ours (based on PV code) instead even in non-FULL_STAGEFRIGHT builds.
/frameworks/av/media/libstagefright/OMXCodec.cpp
78d529eb330ab6c04b5c694403f5a7e7de4b702f 01-Feb-2010 Andreas Huber <andih@google.com> The TI MP3 decoder lies about the number of channels it outputs, add a quirk for that.
/frameworks/av/media/libstagefright/OMXCodec.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.
/frameworks/av/media/libstagefright/OMXCodec.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.
/frameworks/av/media/libstagefright/OMXCodec.cpp
570a3cb7582daa030cb38eedc5eb6a06f86ecc7f 21-Jan-2010 Andreas Huber <andih@google.com> Fix no-copy-overhead OMXCodec implementation to actually work.
/frameworks/av/media/libstagefright/OMXCodec.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.
/frameworks/av/media/libstagefright/OMXCodec.cpp
b03fd8c97695d381e202f6a64989b51c7024c04a 14-Jan-2010 Andreas Huber <andih@google.com> Workaround for some hardware decoders not properly signaling end-of-output-stream properly.
/frameworks/av/media/libstagefright/OMXCodec.cpp
fd1fe13b4584628d73df31717794e8e886d6bc39 19-Dec-2009 James Dong <jdong@google.com> Fix a memory corruption problem in software M4v/H263 decoder due to out-of-scope local variable
/frameworks/av/media/libstagefright/OMXCodec.cpp
3306cfee3bf38ab207a0504e49c2d492bb73ffbf 16-Dec-2009 James Dong <jdong@google.com> Initial checkins of the mpeg4 and h263 software decoders based on PV
/frameworks/av/media/libstagefright/OMXCodec.cpp
134ee6a324c35f39e3576172e4eae4c6de6eb9dc 16-Dec-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 144b1c40e9cf08a584c50e1bef7ba3f287e81a4f
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:28:23 2009 -0800

This H264 file shows a certain problem even better.

commit 3245f1f3b7471975aeeb824a756c987abd610f55
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:20:08 2009 -0800

Using only the QA testfiles now.

commit 074817eb3816c5dd70858a3594e3b92d799d873b
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 16:17:39 2009 -0800

Yay, roles are back again now that the API is in place.

commit 6d847e4932cc38301ae27cb7283b7f1553a95457
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 13:01:20 2009 -0800

Added commandline option for specifying the random seed for reproducable tests.

commit 62ab37b26336eaa67e49791c41c996acb6acee3f
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 14 10:53:27 2009 -0800

When issuing a seek it is important that only the first MediaSource::read call has the seek option.

commit e77c46644b2fb6862bafa3569f7d304252074f1e
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 7 16:39:07 2009 -0800

Make sure the tests are actually built, sp<OMXCodec> becomes sp<MediaSource>

commit 6df56915bd55a9445b3c6f953d3cc251d81579b8
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 3 14:25:36 2009 -0800

Temporarily disable support for querying the roles of OMX components.

commit 31bb26930df9e3658dea684cedb4b0f1a06a4a88
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 13:36:52 2009 -0800

Disregard EOS events, slightly change the way the EOS flag on output buffers is handled.

commit 4c382fbc9aebee8197d5988d04378062809e7c48
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 09:37:24 2009 -0800

New random seek test for the codec tests. Fixed "sticky" end-of-output-buffers flag behaviour in OMXCodec.

commit c762eac3e44309592b61a168d66e091cf609fa03
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 14:13:43 2009 -0800

Fix a typo.

commit 50540a59b65c7d476b0193c7494cd75895e6ca6d
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 09:48:35 2009 -0800

Some more fine tuning of the unit tests, make MPEG4Extractor less verbose.

commit 1157a7e52a0636706caa235abe16d2ff8a0b8140
Author: Andreas Huber <andih@google.com>
Date: Wed Oct 28 12:01:01 2009 -0700

Changes to the IOMX::listNodes API, this now returns the component's roles as well, unit tests now test all components in all supported roles by default.

commit 30fbf2d8c6cb927689f7ba75eb550a81e9df488a
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 09:45:26 2009 -0700

Initial check-in of unit tests for OMX components.
/frameworks/av/media/libstagefright/OMXCodec.cpp
1af80bc3fefb999756ef4847e72b2dcfd0b88a4a 15-Dec-2009 Andreas Huber <andih@google.com> Properly integrate the software codecs into the OMXCodec::Create hierarchy of available components.
/frameworks/av/media/libstagefright/OMXCodec.cpp
b841f14f8e51f2365945281fbfa54ef6a1b1b5a6 12-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AMR NB encoder based on PV source code.
/frameworks/av/media/libstagefright/OMXCodec.cpp
6b91407a918d755454ed396068ff7f67b7088f34 11-Dec-2009 Andreas Huber <andih@google.com> Propagate duration from input to output only if available, support multiple full frames of audio per input buffer in AMR/AAC decoders.
/frameworks/av/media/libstagefright/OMXCodec.cpp
609f1a00c96cf5605f4614e7bb6d0487c98969c5 10-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AVC video decoder based on PV source code.
/frameworks/av/media/libstagefright/OMXCodec.cpp
4f1efc098cb5791c3e9f483f2af84aef70d2d0a0 09-Dec-2009 Andreas Huber <andih@google.com> Initial check in of AMR (NB and WB) decoders based on PV source code.
/frameworks/av/media/libstagefright/OMXCodec.cpp
d9618f23226f46c752e56f712bc4b505117d8b4b 07-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of stagefright MP3 audio decoder based on PV source code.
/frameworks/av/media/libstagefright/OMXCodec.cpp
92616b5655b7aef260480f60f2aabf98e821c8f3 07-Dec-2009 Andreas Huber <andih@google.com> Fixing the build, only instantiate the software aac decoder in full stagefright builds.
/frameworks/av/media/libstagefright/OMXCodec.cpp
f44de515d3b6098a0b585865c1a0c7b20d3075a6 07-Dec-2009 Andreas Huber <andih@google.com> Initial check in of stagefright software AAC decoder based on PV source code.
/frameworks/av/media/libstagefright/OMXCodec.cpp
bf697e37550d9e8376089b0b5e498613bede798c 07-Dec-2009 Andreas Huber <andih@google.com> Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.
/frameworks/av/media/libstagefright/OMXCodec.cpp
c297fccffc4ab1cb3b9f5c6a5b0802be057f3e0f 02-Dec-2009 Andreas Huber <andih@google.com> A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).
/frameworks/av/media/libstagefright/OMXCodec.cpp
e5d6df402da9b6c5577470abb81a5e6801bd7752 23-Nov-2009 Andreas Huber <andih@google.com> Some playable/decodable streams have been found in the wild that violate this assertion, let's be lenient for now.
/frameworks/av/media/libstagefright/OMXCodec.cpp
738c4315859395bfeeaae3d4c9d6fb9f414778f1 23-Nov-2009 Andreas Huber <andih@google.com> Make sure the decoder's input buffers are large enough to hold the largest input data. Verify that the setting actually sticks.
/frameworks/av/media/libstagefright/OMXCodec.cpp
bfa6b2d7a1be1832ac40ed90aece1834f720b5c6 20-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 1efc38dc3c33fef57b759002db3965ed07a28cb0
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 19 14:36:14 2009 -0800

Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.

Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.

commit 51973062eb5ee63fd64b845d72bac517cc3369cf
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 14:01:43 2009 -0800

Fix one more unit test, properly send seek-complete notification only after seek actually completed.

commit cb22250b34b1fcfe1bf459723a761fd003950229
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:31:36 2009 -0800

Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.

commit 25eb9241138ddf7bb27ce90657116c5f8a94d880
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:30:40 2009 -0800

Support seeking and duration in AMRExtractor, assuming all frames are the same size.

commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 10:21:44 2009 -0800

MediaPlayerImpl is dead, long live AwesomePlayer.

commit c5b52d3c0674f5dc94db506afbce52401cceddac
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 09:42:23 2009 -0800

New implementation of the stagefright mediaplayer.
/frameworks/av/media/libstagefright/OMXCodec.cpp
30ab66297501757d745b9ae10da61adcd891f497 17-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 333057b355f8c260c549553b9a0634755c838b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 13 15:35:48 2009 -0800

Some more tweaks to AVC encoding on sholes.

commit 9981d0ee52ec5b8b0182aae733d1571e3ebb8390
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 12 16:36:57 2009 -0800

Support for avc encoding, including sholes specific tweaks to pick the right colorspace for the camera to not require transcoding.

commit 5ba0ebbbd4efca51f3ae1f60e2ca31e7d2cf136d
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 11 09:50:03 2009 -0800

Enable actual (camera) video-only recording using h.263 or mpeg4 encoding.

commit 3fd59c3526a37fe7c696f4a978925d1831c09313
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 10 14:57:48 2009 -0800

Allow switching between the PV recorder implementation and one supported by stagefright.

This is controlled through the property "media.stagefright.enable-record".
/frameworks/av/media/libstagefright/OMXCodec.cpp
022ad466c95001eaf043b1f0aff89cde92e3387f 05-Nov-2009 Andreas Huber <andih@google.com> am 818a9cf8: Merge change Ia4eedace into eclair

Merge commit '818a9cf827f282addbf7c8ee23534e08a3aaa358' into eclair-mr2

* commit '818a9cf827f282addbf7c8ee23534e08a3aaa358':
Now that UseBuffer on this component is fixed, let's use it.
d899d73308f987c932a4366977e67a3d8aa8bc8b 05-Nov-2009 Andreas Huber <andih@google.com> Now that UseBuffer on this component is fixed, let's use it.
/frameworks/av/media/libstagefright/OMXCodec.cpp
888f72a4628eed3c136ff2e346a15d129da0d520 29-Oct-2009 Andreas Huber <andih@google.com> Revive support for video encoding in OMXCodec.
/frameworks/av/media/libstagefright/OMXCodec.cpp
548403bfc52434b875d620a05cc88985e5cc879c 28-Oct-2009 Andreas Huber <andih@google.com> am 54620b1a: Merge change I6e50a8c6 into eclair

Merge commit '54620b1a77e51b3fa531dbd099bd69c39d7d0029' into eclair-mr2

* commit '54620b1a77e51b3fa531dbd099bd69c39d7d0029':
Revert "Now that the underlying bug is fixed we can continue using OMX_UseBuffer for this decoder's input buffers."
17d58a83356ba568861b3aa391c5df915d33c0f1 26-Oct-2009 Andreas Huber <andih@google.com> Revert "Now that the underlying bug is fixed we can continue using OMX_UseBuffer for this decoder's input buffers."

This reverts commit 7a03b074a554ba3fd08dbc20cfd4b2f37c5f3aaa.
/frameworks/av/media/libstagefright/OMXCodec.cpp
ba229b3faa98b3bb6567cf95040062be2d9c2b3f 22-Oct-2009 Andreas Huber <andih@google.com> Prefer software decoders over hardware for thumbnail extraction.

While our hardware decoders clearly outperform the software decoders in terms
of raw throughput, their startup latency makes them less suitable for thumbnail
extraction.
/frameworks/av/media/libstagefright/OMXCodec.cpp
7e04dcf8d6784dd56f53aa90bf34431ab4f0710c 22-Oct-2009 Andreas Huber <andih@google.com> Extract video thumbnails from the largest sync sample among the first 20.

Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
/frameworks/av/media/libstagefright/OMXCodec.cpp
521bad496a8b80008abe573a6712a8051c9eb322 22-Oct-2009 Andreas Huber <andih@google.com> am b0e6a9a0: Merge change I7a03b074 into eclair

Merge commit 'b0e6a9a0e6e82327f52fd25f3a9e2463ff591905' into eclair-mr2

* commit 'b0e6a9a0e6e82327f52fd25f3a9e2463ff591905':
Now that the underlying bug is fixed we can continue using OMX_UseBuffer for this decoder's input buffers.
4926a47afc079c8d9259f18a26accbfba2f976eb 22-Oct-2009 Andreas Huber <andih@google.com> Now that the underlying bug is fixed we can continue using OMX_UseBuffer for this decoder's input buffers.
/frameworks/av/media/libstagefright/OMXCodec.cpp
c6323f9d72e0f08dd1e813550a56c8d2f0fd76a2 21-Oct-2009 Andreas Huber <andih@google.com> Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
/frameworks/av/media/libstagefright/OMXCodec.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.
/frameworks/av/media/libstagefright/OMXCodec.cpp
12658b720b176b7d934444256d07ba3c595d9b44 19-Oct-2009 Andreas Huber <andih@google.com> Avoid signaling a format change to the client if its insubstantial.

For example, the original port settings change may just indicate a change
in the number of buffers to allocate, which won't be visible to the client
in any case.
/frameworks/av/media/libstagefright/OMXCodec.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.
/frameworks/av/media/libstagefright/OMXCodec.cpp
89e69da4d86348409994c9dafbbb2634ccd7c196 13-Oct-2009 Andreas Huber <andih@google.com> Separated private from public header files.
/frameworks/av/media/libstagefright/OMXCodec.cpp
7f281f87670c63775ea1ae8b24af31822d5ad416 09-Oct-2009 Andreas Huber <andih@google.com> OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
/frameworks/av/media/libstagefright/OMXCodec.cpp
48c948b1137e7bbdb161b51908657ab72ac5e2da 08-Oct-2009 Andreas Huber <andih@google.com> Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
/frameworks/av/media/libstagefright/OMXCodec.cpp
2a4a7d5af053a17586a262a1267ba993e31790f1 07-Oct-2009 Andreas Huber <andih@google.com> Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
/frameworks/av/media/libstagefright/OMXCodec.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.
/frameworks/av/media/libstagefright/OMXCodec.cpp
9749025189acc6c737be22007e90ed8bbbcdbc21 08-Oct-2009 Andreas Huber <andih@google.com> The vendor is about to check in a fix for this issue, the workaround is no longer needed
/frameworks/av/media/libstagefright/OMXCodec.cpp
ec430b158df17b2c766f7750a96c35d3902f5f49 07-Oct-2009 Andreas Huber <andih@google.com> Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height.
/frameworks/av/media/libstagefright/OMXCodec.cpp
5228dd1b7468bfc86a807a299f515d33048f96ac 17-Sep-2009 Andreas Huber <andih@google.com> Another stagefright test-case and ignore end-of-stream notifications while we're flushing.
/frameworks/av/media/libstagefright/OMXCodec.cpp
269091da58951736dc2f4c8b74886b6a9aa12be1 16-Sep-2009 Andreas Huber <andih@google.com> The 8k chipset qcom decoders require that the input buffers be allocated using OMX_AllocateBuffer rather than OMX_UseBuffer for now.

If they aren't, a later call to OMX_FreeBuffer crashes...
/frameworks/av/media/libstagefright/OMXCodec.cpp
95301196d59fb88ef96342fd307a2be374b5079b 15-Sep-2009 Andreas Huber <andih@google.com> Added a little more logging in OMXCodec.cpp for vendors to be able to reproduce issues...
/frameworks/av/media/libstagefright/OMXCodec.cpp
df4de7d7bd0060a84b064ce074d3f86d3a7aa0ae 11-Sep-2009 Andreas Huber <andih@google.com> Apparently I must not use OMX_UseBuffer on either input or output ports on any of the TI components... or else.
/frameworks/av/media/libstagefright/OMXCodec.cpp
18291bc20e55e8f3fd5feb786771a8ed32c19c59 10-Sep-2009 Andreas Huber <andih@google.com> Media MIME types now have corresponding constants in MediaDefs.h, new codec enumeration API.
/frameworks/av/media/libstagefright/OMXCodec.cpp
8cd11d23197209e2c2bdb7980bc17e3f1257a118 10-Sep-2009 Andreas Huber <andih@google.com> Add component name to informational logging in OMXCodec.cpp
/frameworks/av/media/libstagefright/OMXCodec.cpp
2f7daa1d7e01bfc2cd7546edeeaea0c3c2ee728c 10-Sep-2009 Andreas Huber <andih@google.com> Added some more verbose output for AMR formats. Properly fill out the output format.
/frameworks/av/media/libstagefright/OMXCodec.cpp
195ea1e0d4484f1deb2309e239f6a5cc9a7e5ba7 08-Sep-2009 Andreas Huber <andih@google.com> Calculate proper output buffer size for some more 16-bit RGB color spaces.
/frameworks/av/media/libstagefright/OMXCodec.cpp
f75978f63a25e79c683e96611f95cb5cd49efd3d 09-Sep-2009 Andreas Huber <andih@google.com> Added a .amr file extractor (for AMR-NB and AMR-WB content).
/frameworks/av/media/libstagefright/OMXCodec.cpp
456db75516efc889e1ee4e5e16021e77c03b0941 08-Sep-2009 Andreas Huber <andih@google.com> Support encoding amr-wb content in stagefright.
/frameworks/av/media/libstagefright/OMXCodec.cpp
b7802d9ee9c9dbb471ae4f010bd67ba1aaa9f264 04-Sep-2009 Andreas Huber <andih@google.com> The qcom decoder requires that the output buffers be allocated by the component for hardware accelerated display to work.
/frameworks/av/media/libstagefright/OMXCodec.cpp
7a6b9e2eca7d20457ace3538c689640e5bfda4f3 03-Sep-2009 Andreas Huber <andih@google.com> Setting the component role appears to be mandatory now for all mime types.

Also using CODEC_LOGV instead of vanilla LOGV to include the component name the message related to.
/frameworks/av/media/libstagefright/OMXCodec.cpp
e5adbeee3401915ff8e1a983396ce3554436b11c 02-Sep-2009 Andreas Huber <andih@google.com> Some work to make audio encoding work.
/frameworks/av/media/libstagefright/OMXCodec.cpp
37940eefcba982836b579fe1ffec6cada72b0974 02-Sep-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c45bfbb97ccd05982008df47181f9c73abaf0497
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:58:12 2009 -0700

This quirk should not be enabled by default in order to make the bug reproducible by the vendor.

commit 21d72e80e795fcae53d9c3bcc8ba6312b081e420
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:55:45 2009 -0700

Undoing the hack to temporarily give up the lock to facilitate reading from the buffer source.

This simply causes too many issues, there need to be independent threads providing input buffers and dequeuing output buffers.

commit 84d507def8999c146ce124cc8edfe106c9ca70c2
Author: Andreas Huber <andih@google.com>
Date: Tue Sep 1 15:16:23 2009 -0700

The AAC components appear to output stereo data even if the input data is mono...
/frameworks/av/media/libstagefright/OMXCodec.cpp
53f2b2ae6417e8a32961e05cf21920c540d8b823 01-Sep-2009 Andreas Huber <andih@google.com> Temporarily unlock our mutex while fetching a buffer from the upstream source.
/frameworks/av/media/libstagefright/OMXCodec.cpp
450bf4b0d25c933431b790d911a5fcae750fe38d 28-Aug-2009 Andreas Huber <andih@google.com> Fixes a race condition between entering ERROR state and initial buffer submit.
/frameworks/av/media/libstagefright/OMXCodec.cpp
7d719af770ddefc3739fd0597634dea553c5569a 28-Aug-2009 Andreas Huber <andih@google.com> Apparently setting the preferred role of the OMX component is now required on this platform.
/frameworks/av/media/libstagefright/OMXCodec.cpp
284f513a4ce2c5aa0e250c07c873731aedb0be26 27-Aug-2009 Andreas Huber <andih@google.com> An attempt to fix a deadlock between OMXCodec::start and upstream ::read
/frameworks/av/media/libstagefright/OMXCodec.cpp
8297cedd12f689167d74de5ddacb514e9f6896ea 27-Aug-2009 Andreas Huber <andih@google.com> Another quirk, some OMX components fail to properly flush before shutdown and we must do it for them...
/frameworks/av/media/libstagefright/OMXCodec.cpp
0c89199745bc1bf05b997fc7c342017807676b6f 26-Aug-2009 Andreas Huber <andih@google.com> assert => CHECK in stagefright.
/frameworks/av/media/libstagefright/OMXCodec.cpp
355edcea2f15c0f619c1e1d0f4fa433b0d38098f 26-Aug-2009 Andreas Huber <andih@google.com> Disregard the EOS buffer flag while flushing or shutting down the decoder.
/frameworks/av/media/libstagefright/OMXCodec.cpp
ea7d15629752256f6ea1d5c6ea796e59aefd030f 26-Aug-2009 Andreas Huber <andih@google.com> Keep up with latest changes to overlay handling on that unnamable platform.
/frameworks/av/media/libstagefright/OMXCodec.cpp
1beb760d920561679862ded945a04e370368c7f7 25-Aug-2009 Andreas Huber <andih@google.com> Make sure not to ask for more buffers when we know that there won't be any, added a quirk for the aac decoder.
/frameworks/av/media/libstagefright/OMXCodec.cpp
7530e9c708275c273c134c36c68179f511c1940e 20-Aug-2009 Andreas Huber <andih@google.com> Dynamically allocate a pair of MemoryHeaps according buffer count/sizes required by the OMX component, respect JPEG compressed size.
/frameworks/av/media/libstagefright/OMXCodec.cpp
bde3caae211e215e4bbfef1a267f8d680efa4764 19-Aug-2009 Andreas Huber <andih@google.com> Better (proper) parsing of the AVCDecoderConfigurationRecord, respect hardware decoder profile/level limits.
/frameworks/av/media/libstagefright/OMXCodec.cpp
dbc03445db2bbf83b64f0c0a5dc62e61408864d7 19-Aug-2009 Andreas Huber <andih@google.com> The PV AVC software decoder expects each fragment of a NAL unit to be handed to the decoder unframed.
/frameworks/av/media/libstagefright/OMXCodec.cpp
693d271e62a3726689ff68f4505ba49228eb94b2 14-Aug-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

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

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

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

Callbacks are now dispatched from a separate thread in OMX.

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

Massive API changes throughout stagefright, smart pointers everywhere.

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

OMXCodecs now properly shutdown.

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

More work on JPEG decoding using the hardware OMX component.

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

An attempt to drive the JPEG decoder OMX node.

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

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

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

Statemachine is now a full-fledged MediaSource.

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

Properly setup the input format when exporting to AMR audio.

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

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

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

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

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

A new harness to test OMX node compliance (and quirks).
/frameworks/av/media/libstagefright/OMXCodec.cpp