summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Update ANativeWindow client code for syncJamie Gennis2012-06-211-30/+8
|/ | | | | | | 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
* stagefright: set scaling mode for blank framesJamie Gennis2012-06-141-0/+8
| | | | | | | | This change sets the ANativeWindow scaling mode before pushing the blank frames during decoder tear down. Bug: 6603254 Change-Id: Ic64011645e2d3671b4a8d302ac7f39e6fd3affcd
* Revert "Added some informational log messages to track down ANR related issues"James Dong2012-06-111-3/+2
| | | | | | This reverts commit c558fa89016ba9583049b84dc57e66a913cabde8. related-to-bug: 6565826
* Added some informational log messages to track down ANR related issuesJames Dong2012-05-291-2/+3
| | | | | Change-Id: Ie991c86e75d58f7eb4c9f524815c4de054d5f262 related-to-bug: 6565826
* Force shutdown of the omx decoder even if it's in a wedged state...Andreas Huber2012-05-291-7/+31
| | | | | Change-Id: I5899928a3df4bcf7715769992955a0b834db1e2f related-to-bug: 6571060
* Fix a mediaserver crash caused by dereferencing a NULL pointer.James Dong2012-05-211-5/+5
| | | | | | | | | 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
* Log which OMX component is not returning all buffers to us on executing->idle.Andreas Huber2012-05-151-6/+16
| | | | | Change-Id: I8cd102cc5b1f3c9c36e3c5832ae4bee75c471efd related-to-bug: 6498711
* OMX IL wrapper for FLAC encoderJean-Michel Trivi2012-05-091-0/+2
| | | | | | | | | | Add wrapper around libFLAC for FLAC encoding in OpenMAX IL. Declare FLAC encoder in OMX component roles. Bug 5525503 Change-Id: I19bbce41c216870669d09365693f4ea89f8bc0f7
* Get rid of vendor specific video encoder component names from ACodec and ↵James Dong2012-05-071-7/+4
| | | | | | | | OMXCodec o related-to-bug: 6446245 Change-Id: I1fa07ad8a39337e3b19ac51c10533a2de8c11bb5
* Impl for supporting two video scaling modesJames Dong2012-05-011-15/+0
| | | | | | | | | 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
* Removed software video encoders that are not OMX-based.James Dong2012-04-301-6/+0
| | | | | | o related-to-bug: 5933287 Change-Id: I63635375e2bef00733b61adc3fa12c29df7e2155
* Fix mono gapless playback for decoders that output stereoMarco Nelissen2012-04-301-8/+4
| | | | | | | | | | | | | 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
* Add Fraunhofer AAC encoder with AAC-ELD support.Dave Burke2012-04-251-4/+8
| | | | Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
* Make sure OMXCodec and ACodec both accept more than 2 channels of audioAndreas Huber2012-04-241-8/+65
| | | | | | and fill in the OMX channel mask properly. Change-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305
* Add a few more APIs to MediaCodecList.Andreas Huber2012-04-021-43/+57
| | | | Change-Id: I5ac193cd40c82bbcd87c1e55003b78102e8d4674
* Implementation of a raw audio "decoder".Andreas Huber2012-03-291-0/+10
| | | | Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
* Add ABuffer support to SkipCutBufferMarco Nelissen2012-03-291-2/+1
| | | | | | | | 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
* Provisional support for secure decryption of media streams.Andreas Huber2012-03-261-6/+25
| | | | Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
* Support gapless playback for mp3 and m4aMarco Nelissen2012-03-221-0/+40
| | | | | | | | | 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
* ACodec is a little more aggressive in its error checking now.Andreas Huber2012-03-161-2/+4
| | | | | | Update components to do the right thing. Change-Id: Ibfbad3f53effc16368cca4a0e978d01d54d08a1d
* Switched to use the header files in /frameworks/nativeJames Dong2012-03-121-1/+1
| | | | | | | | and deleted the duplicate header files in /frameworks/base o related-to-bug: 6044887 Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
* Remove hacks that worked around issues in OMX components several releases back.Andreas Huber2012-03-011-66/+0
| | | | Change-Id: I89bb3d0be4d2c1824de382aedfdd4f9bd2547dbc
* Instead of hardcoding OMX component names in our code, supportAndreas Huber2012-03-011-202/+68
| | | | | | a config file instead. Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
* Implementation of a java media codec interface and associated tools.Andreas Huber2012-02-221-0/+3
| | | | Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
* Enable B frame support in MPEG4WriterJames Dong2012-02-071-8/+3
| | | | | | | | | | | | | | | | 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
* Keep AACEncoder around for a bit longer to have more time fix issues related ↵James Dong2012-02-031-0/+4
| | | | | | | | | to video editor engine o this should be reverted after the problem is fixed. o related-to-bug: 5947347 Change-Id: Iaec4b59d2c99c975e83f0588a813e9a4bfcb7ee2
* The AMR WB software encoder is now an OMX component.Andreas Huber2012-02-011-4/+1
| | | | Change-Id: Iebfb2696783a0163369ba4e8ef72e19ee76ad893
* The software AMR NB encoder is now an OMX component.Andreas Huber2012-02-011-4/+1
| | | | Change-Id: I890eab052a7c36409b8b694c964884e28dd8d8fc
* Slighly improve the API to discover if the OMX stack is running in the localAndreas Huber2012-01-311-1/+1
| | | | | | process. Change-Id: Idd3c2f0d4a9542af01a3fdfd3b0bfab90e083505
* The software AAC encoder is now an OMX component.Andreas Huber2012-01-261-7/+5
| | | | | | Yay. Change-Id: I74938a20b4e0a622836ea5184d3761180eb0f5de
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-29/+29
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-061-9/+9
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-041-1/+1
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* am 31626b30: am cb6fbc89: Merge "Report a runtime error instead of asserting ↵Andreas Huber2011-11-221-57/+87
|\ | | | | | | | | | | | | on malformed avc configuration data." into ics-mr1 * commit '31626b3075335f4cf579342e99436bb45870cf55': Report a runtime error instead of asserting on malformed avc configuration data.
| * Report a runtime error instead of asserting on malformed avc configuration data.Andreas Huber2011-11-181-57/+87
| | | | | | | | | | Change-Id: Ibcd9c3fb5b6532eba843ed80ecdcdacaf50d8845 related-to-bug: 5641069
* | am 5ded5fc5: am b7b4eaaa: Merge "Stagefright: push blank buffers when ↵Jamie Gennis2011-10-261-0/+160
|\ \ | |/ | | | | | | | | | | tearing down" into ics-mr0 * commit '5ded5fc55f2da2af0a76a9ddc52d27948b227037': Stagefright: push blank buffers when tearing down
| * am b7b4eaaa: Merge "Stagefright: push blank buffers when tearing down" into ↵Jamie Gennis2011-10-261-0/+160
| |\ | | | | | | | | | | | | | | | | | | ics-mr0 * commit 'b7b4eaaa05284634d50d581d924a250f1194f66d': Stagefright: push blank buffers when tearing down
| | * Stagefright: push blank buffers when tearing downJamie Gennis2011-10-251-0/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-13/+13
|/ / | | | | | | | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* | am 23d64420: Merge "Stagefright: idle OMX after ANW errors" into ics-mr0Dave Burke2011-10-191-1/+20
|\ \ | |/ | | | | | | * commit '23d644202a44383bf008ff86f6faa3ea7e447290': Stagefright: idle OMX after ANW errors
| * Merge "Stagefright: idle OMX after ANW errors" into ics-mr0Dave Burke2011-10-191-1/+20
| |\
| | * Stagefright: idle OMX after ANW errorsJamie Gennis2011-10-191-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | am 5264f600: Merge "Bail out after kMaxColorFormatSupported calls to ↵James Dong2011-10-181-7/+16
|\ \ \ | |/ / | | | | | | | | | | | | | | | 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.
| * | Bail out after kMaxColorFormatSupported calls to OMX_GetParameter().James Dong2011-10-181-7/+16
| |/ | | | | | | | | | | | | Avoid infinite loop in querying omx component about the supported color format. Change-Id: I4997efd36462c792a6d8b5e04c79a80966a559fe related-to-bug: 5466057
* | Merge "Support for an MPEG2 Program Stream extractor."Andreas Huber2011-10-131-1/+10
|\ \ | |/ |/|
| * Support for an MPEG2 Program Stream extractor.Andreas Huber2011-09-301-1/+10
| | | | | | | | Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
* | Set crop params to ANative Window during Initialization.Lakshman Gowda2011-10-051-16/+22
|/ | | | | | | | | | | | 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>
* Gracefuly return on detecting wrong AAC format from corrupted filesGilles-Arnaud Bleu-Laine2011-09-301-6/+22
| | | | | | | | | | | 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>
* Support AMR, G.711 and vorbis audio in ACodec and friends.Andreas Huber2011-09-281-0/+2
| | | | Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
* Cut down on AwesomePlayer and OMXCodec's verbosity.Andreas Huber2011-09-271-5/+5
| | | | | Change-Id: Ifd95717e8ea0fb0327099b16d72a6ed58c7c9924 related-to-bug: 5382014