summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaCodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update OMX messages for 64 bitAndy Hung2014-06-121-2/+2
| | | | | | | | | Change node_id and buffer_id to uint32_t. Ensure IOMX messages are fixed size. Remove 64 bit compile warnings in associated files. Change-Id: Icdbef00aca575e5dc502ebb52e3ce7d0d7883203 Signed-off-by: Andy Hung <hunga@google.com>
* warnings be gone.Andreas Huber2014-04-111-1/+1
| | | | | | | | (cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36) Modified by Mark Salyzyn <salyzyn@google.com> to keep merge conflicts or errors downstream to a minimum. Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
* correct one logic error in decide whether should render or notJianzheng Zhou2014-02-031-1/+1
| | | | | Change-Id: Ie41663f6fd5a7d983279f14a2228cb57231771bf Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
* am 065789f2: Merge "Restore NuPlayer error and EOS handling" into klp-devLajos Molnar2013-11-041-1/+2
|\ | | | | | | | | * commit '065789f24890b0a9f3614dc175e6f7664af1f2ce': Restore NuPlayer error and EOS handling
| * Restore NuPlayer error and EOS handlingLajos Molnar2013-10-301-1/+2
| | | | | | | | | | | | | | | | This was erroneously removed by commit a73c954 Change-Id: I4742339139e770f0181c99d427875897fd60b68e Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11413439
* | am 6c63fe0f: am ab70649e: Merge "MediaCodec: Pass the crop rect to ↵Lajos Molnar2013-09-251-0/+6
|\ \ | |/ |/| | | | | | | | | SoftwareRenderer" * commit '6c63fe0fdb33e5e7eb8c89f2420262b072cdd83f': MediaCodec: Pass the crop rect to SoftwareRenderer
| * MediaCodec: Pass the crop rect to SoftwareRendererMartin Storsjo2013-09-251-0/+6
| | | | | | | | Change-Id: I434411516eb5fafe9d7aeac9882bbc7f1a8415d8
| * Don't render buffers that have size 0Marco Nelissen2013-05-101-1/+1
| | | | | | | | | | | | b/8857451 Change-Id: I12a31a2f85af76602db9e6f0ec80632954b3f7ed
| * Support MediaCodec::getOutputFormat for encodersAndreas Huber2013-04-301-2/+76
| | | | | | | | | | | | | | codec specific data is provided as part of the MediaFormat if available. Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e related-to-bug: 8616651
| * 3rd time's the charm, right? Fix another instance where MediaCodec wouldAndreas Huber2013-04-191-26/+28
| | | | | | | | | | | | | | | | not return from a stop() or release() call if mediaserver dies at just the right moment. Change-Id: I7728f8df82d62602d4d272f8023aa88678dd7d95 related-to-bug: 8397711
| * Make sure MediaCodec::stop() and MediaCodec::release() still returnAndreas Huber2013-04-181-1/+23
| | | | | | | | | | | | | | | | instead of blocking indefinitely if the mediaserver died while the call is pending. Change-Id: If2789b7fe99634d947ce4a3bb69c04baff5f8b10 related-to-bug: 8397711
| * Correct MediaCodec + Surface behaviorAndy McFadden2013-03-051-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assorted tweaks: - Allow signalEndOfInputStream() before ACodec is in Executing state (added message to two more states). - Return an error if signalEndOfInputStream() is called a second time on the same stream. - Require AndroidOpaque color format in createInputSurface(). - Disallow dequeueInputBuffer() after an input surface has been created (boolean flag in MediaCodec tracks it). - Discard input surface when encoder is re-configure()ed (drop OMXNodeInstance's ref when we go back to Loaded). Bug 7991062 Change-Id: Iff30f3036e14eb5a2f6536910dcf11aba33031ee
| * Implement Surface input to MediaCodec.Andy McFadden2013-03-041-0/+101
| | | | | | | | | | | | | | | | | | Also, renamed a CHECK_INTERFACE macro that was clashing with the Binder version. Bug 7991062 Change-Id: If5e6ed0a06d9f67975497676e4b05abe3aa3d6c0
| * Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-151-3/+3
| | | | | | | | Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
| * Allow for dynamic reconfiguration of the video bitrate usedAndreas Huber2013-02-071-0/+31
| | | | | | | | | | | | to encode video while running as a wfd source. Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
| * MediaCodec: Add a method for getting the component nameMartin Storsjo2012-11-191-4/+40
| | | | | | | | | | | | | | | | | | If the codec was chosen based on mime type, the caller does not know what component actually was chosen. This allows getting essential information (such as supported color formats, for a video encoder) for this component. Change-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b
| * Better power savings with wifi display code.Andreas Huber2012-10-031-0/+43
| | | | | | | | | | | | | | | | No more polling the encoder for work to do, the encoder instead notifies if there's activity. Change-Id: Ia707211b4f5c5a6e6b70d750233d204a2d6bb778 related-to-bug: 7248248
| * Support IDR requests in wifi display, MediaCodec and ACodec.Andreas Huber2012-09-131-0/+12
| | | | | | | | Change-Id: I596cf8dd61b63465437f78413186fad2be287244
* | Better workaround for slow decoders.Marco Nelissen2013-09-041-4/+19
| | | | | | | | | | | | | | | | | | | | This is more in the spirit of the original code. Now it checks whether a codec instantiated by name is a video codec, and enables the extra looper if so. b/10528409 Change-Id: Ia253c04c1283d4ecf66f213ef4bf523279ad7cca
* | Work around decoder slownessMarco Nelissen2013-09-031-0/+2
| | | | | | | | | | | | b/10528409 Change-Id: Ifcaf0488d63e87676b1e9382437943138deb76a6
* | Don't render buffers that have size 0Marco Nelissen2013-05-101-1/+1
| | | | | | | | | | | | b/8857451 Change-Id: I12a31a2f85af76602db9e6f0ec80632954b3f7ed
* | Support MediaCodec::getOutputFormat for encodersAndreas Huber2013-04-301-2/+76
| | | | | | | | | | | | | | codec specific data is provided as part of the MediaFormat if available. Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e related-to-bug: 8616651
* | 3rd time's the charm, right? Fix another instance where MediaCodec wouldAndreas Huber2013-04-191-26/+28
| | | | | | | | | | | | | | | | not return from a stop() or release() call if mediaserver dies at just the right moment. Change-Id: I7728f8df82d62602d4d272f8023aa88678dd7d95 related-to-bug: 8397711
* | Make sure MediaCodec::stop() and MediaCodec::release() still returnAndreas Huber2013-04-181-1/+23
| | | | | | | | | | | | | | | | instead of blocking indefinitely if the mediaserver died while the call is pending. Change-Id: If2789b7fe99634d947ce4a3bb69c04baff5f8b10 related-to-bug: 8397711
* | Correct MediaCodec + Surface behaviorAndy McFadden2013-03-051-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assorted tweaks: - Allow signalEndOfInputStream() before ACodec is in Executing state (added message to two more states). - Return an error if signalEndOfInputStream() is called a second time on the same stream. - Require AndroidOpaque color format in createInputSurface(). - Disallow dequeueInputBuffer() after an input surface has been created (boolean flag in MediaCodec tracks it). - Discard input surface when encoder is re-configure()ed (drop OMXNodeInstance's ref when we go back to Loaded). Bug 7991062 Change-Id: Iff30f3036e14eb5a2f6536910dcf11aba33031ee
* | Implement Surface input to MediaCodec.Andy McFadden2013-03-041-0/+101
| | | | | | | | | | | | | | | | | | Also, renamed a CHECK_INTERFACE macro that was clashing with the Binder version. Bug 7991062 Change-Id: If5e6ed0a06d9f67975497676e4b05abe3aa3d6c0
* | Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-151-3/+3
| | | | | | | | Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
* | Allow for dynamic reconfiguration of the video bitrate usedAndreas Huber2013-02-071-0/+31
| | | | | | | | | | | | to encode video while running as a wfd source. Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
* | MediaCodec: Add a method for getting the component nameMartin Storsjo2012-11-191-4/+40
| | | | | | | | | | | | | | | | | | If the codec was chosen based on mime type, the caller does not know what component actually was chosen. This allows getting essential information (such as supported color formats, for a video encoder) for this component. Change-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b
* | Better power savings with wifi display code.Andreas Huber2012-10-031-0/+43
| | | | | | | | | | | | | | | | No more polling the encoder for work to do, the encoder instead notifies if there's activity. Change-Id: Ia707211b4f5c5a6e6b70d750233d204a2d6bb778 related-to-bug: 7248248
* | Support IDR requests in wifi display, MediaCodec and ACodec.Andreas Huber2012-09-131-0/+12
|/ | | | Change-Id: I596cf8dd61b63465437f78413186fad2be287244
* mediacodec: Return an error on getOutputFormat if there is no output format yetMartin Storsjo2012-08-071-1/+2
| | | | | | | | This avoids crashing if calling the public java method MediaCodec.getOutputFormat immediately after MediaCodec.start (as the documentation example shows that one should do!). Change-Id: Icd3dd7ab9ae9e8f2a67cef171ff176735de95f58
* Fixed sample video corrupted in MediaCodec mode.Edwin Wong2012-07-131-4/+4
| | | | | Change-Id: I50c5660072d40f6e297e58fd026ea04c89d6a70a related-to-bug: 6732061
* Increase AAC software decoder's buffer count. Refactor how clientsAndreas Huber2012-05-111-9/+9
| | | | | | | of ACodec get notified about codec buffers and buffer ids. Change-Id: I962f873262dae7aa7b43f5f68a6d60268282f91e related-to-bug: 6478823
* Properly connect/disconnect to/from the native window in MediaCodec.Andreas Huber2012-05-101-10/+49
| | | | | Change-Id: Ib5bf90a3b81fca8ff2346235bc28a2bd0bc7bfb1 related-to-bug: 6472161
* Submit codec specific data automaticallyAndreas Huber2012-05-081-0/+72
| | | | | | | if it is contained in the format passed to MediaCodec::configure. Change-Id: I8ef6755e8389ec47b44a9c70904ea6c03a00f4f2 related-to-bug: 6364139
* Allow propagation of error information and description from the CryptoPlugin toAndreas Huber2012-04-191-7/+26
| | | | | | | the higher layers. Change-Id: I9f434ad55cdf575803c208bedf47b607baff2330 related-to-bug: 6365261
* New API to support submitting encrypted buffers to the decoder.Andreas Huber2012-04-061-20/+69
| | | | | Change-Id: I69dd60e43078c4211c6123cf6e0ce90e676bf873 related-to-bug: 6275919
* New Crypto services talking to the new crypto "HAL".Andreas Huber2012-04-031-98/+61
| | | | | Change-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566 related-to-bug: 6275919
* Provisional support for secure decryption of media streams.Andreas Huber2012-03-261-2/+110
| | | | Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
* Separate the notion of "stop" from that of "release", i.e.Andreas Huber2012-02-281-4/+42
| | | | | | | | | stop - means transition back to LOADED state and keeping the component instance allocated. release - means we get rid of the component completely. Change-Id: I40ad01ce70821faaad43f57999249904f9144924
* Merge "Make sure we return input/output buffers to the codec not just while"Andreas Huber2012-02-241-2/+2
|\
| * Make sure we return input/output buffers to the codec not just whileAndreas Huber2012-02-241-2/+2
| | | | | | | | | | | | flushing but also while stopping. Change-Id: I23534008b93654c9b9c022c0b1d204c2b546d566
* | Small fix to MediaCodecAndreas Huber2012-02-241-3/+2
|/ | | | Change-Id: I6bcbfd35fdf5a2b0260b8f07a630a5b380e139a0
* Add new APIs AMessage::(set|find)Buffer to make it safer to passAndreas Huber2012-02-221-9/+4
| | | | | | ABuffer objects through messages. Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
* Implementation of a java media codec interface and associated tools.Andreas Huber2012-02-221-0/+1185
Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b