summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaCodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* stagefright: don't use ALooperRoster mutex for reply handlingLajos Molnar2015-03-101-19/+19
| | | | | | | | Change replyID-s from uint32_t to an object Move reply handling into the loopers (to reuse a common mutex) Bug: 19607784 Change-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be
* media: switch to new AMessage handlingLajos Molnar2015-03-051-28/+28
| | | | | Bug: 19607784 Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
* am e5760862: am bcd22f0f: am 0662f5b0: Merge "stagefright: add fallback for ↵Lajos Molnar2015-02-061-3/+8
|\ | | | | | | | | | | | | native flex-YUV support" into lmp-mr1-dev * commit 'e576086224f6e630159eaeec59ab5146c8533dc7': stagefright: add fallback for native flex-YUV support
| * am bcd22f0f: am 0662f5b0: Merge "stagefright: add fallback for native ↵Lajos Molnar2015-02-061-3/+8
| |\ | | | | | | | | | | | | | | | | | | flex-YUV support" into lmp-mr1-dev * commit 'bcd22f0f3a4cd5f78e03af23aafadb2d1aec6794': stagefright: add fallback for native flex-YUV support
| | * stagefright: add fallback for native flex-YUV supportLajos Molnar2015-02-041-3/+8
| | | | | | | | | | | | | | | | | | | | | Use software renderer if codec cannot support flex-YUV on a surface Bug: 17906609 Change-Id: I3d0e3ff5fee7d7b3e2416892968fa18f6139598a
* | | am e91c3dd0: am 6a025acb: am ec0472ba: Merge "Move AString\'s StringPrintf ↵Elliott Hughes2015-02-041-2/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | out of the way." * commit 'e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7': Move AString's StringPrintf out of the way.
| * | am 6a025acb: am ec0472ba: Merge "Move AString\'s StringPrintf out of the way."Elliott Hughes2015-02-041-2/+2
| |\ \ | | |/ | |/| | | | | | | * commit '6a025acb630a3ac4a84715d188aeb48f1946bc3f': Move AString's StringPrintf out of the way.
| | * Move AString's StringPrintf out of the way.Elliott Hughes2015-02-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | We should come back and replace AString with std::string and switch to the "real" StringPrintf family, but this fixes the ODR violation that was preventing us from booting. Bug: 19265750 Change-Id: I798eb9ca5dd634e44625af5e583439ef9f0cdc35
* | | am 644afb88: am 9fc2f470: am 8140a2b7: stagefright: report crop rectangle as ↵Lajos Molnar2015-01-071-5/+7
|\ \ \ | |/ / | | | | | | | | | | | | | | | codec resolution if exists * commit '644afb88421ac0e71d526f9b6726404a90c7cccd': stagefright: report crop rectangle as codec resolution if exists
| * | stagefright: report crop rectangle as codec resolution if existsLajos Molnar2015-01-061-5/+7
| | | | | | | | | | | | | | | Bug: 18789054 Change-Id: I08b82a400541b5e09580801473c34ce56bfef5db
* | | am b438123f: am 9574c274: am 5d2c5fcb: Merge "MediaCodec: resume codec if ↵Chong Zhang2014-11-261-0/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | state is FLUSHED in async mode" into lmp-mr1-dev * commit 'b438123fb1ee0a8c232fd66de658d5382d2083cf': MediaCodec: resume codec if state is FLUSHED in async mode
| * | MediaCodec: resume codec if state is FLUSHED in async modeChong Zhang2014-11-261-0/+2
| | | | | | | | | | | | | | | | | | bug: 18513091 Change-Id: I192625c61834584f711de76db788c2c0332ae774
* | | am 745602d8: Merge "MediaCodec: Prevent stop() in the UNINITIALIZED state" ↵Andy Hung2014-11-121-2/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | into lmp-mr1-dev automerge: 8bc9b3a automerge: 3584a1a * commit '3584a1afb3f263a13d12cc2d8003101c74453ce3': MediaCodec: Prevent stop() in the UNINITIALIZED state
| * | Merge "MediaCodec: Prevent stop() in the UNINITIALIZED state" into lmp-mr1-devAndy Hung2014-11-111-2/+5
| |\ \
| | * | MediaCodec: Prevent stop() in the UNINITIALIZED stateAndy Hung2014-11-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return INVALID_OPERATION instead. This is a corner case when the decoder is still allocated, occurring after codec error. Bug: 18121124 Change-Id: If87e44dd40db48f63f965b765205f1e733663efd
* | | | am 6e0da022: am e0e8223c: am 1cf9ad1a: Merge "Pass resolution to Crypto ↵Jeff Tinker2014-11-061-0/+10
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | plugin on format change" into lmp-mr1-dev * commit '6e0da0226503ddea118d43962a76fa2fa56bad1e': Pass resolution to Crypto plugin on format change
| * | | Pass resolution to Crypto plugin on format changeJeff Tinker2014-11-031-0/+10
| |/ / | | | | | | | | | | | | Change-Id: I56cd557ce3525fe625db8c312d2557d3c8b51101 related-to-bug: 16034599
* | | am ccaf667e: am ffe39811: am 8274b049: am cd3fc4e3: am 6ce19d24: Merge ↵Lajos Molnar2014-10-221-2/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | "Stagefright: MediaCodec: shutdown allocated codec on error" into lmp-dev * commit 'ccaf667eb6e96a28caedb0d4f776b1ff9c4aed10': Stagefright: MediaCodec: shutdown allocated codec on error
| * | Stagefright: MediaCodec: shutdown allocated codec on errorPraveen Chavan2014-10-211-2/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | If MediaCodec sees a fatal error and transitions to UNINITIALIZED state, The codec may still be alive (with an exception of 'mediaserver-died' error). Handle Shutdown of the codec during release(). Bug: 17784012 Bug: 18033275 Change-Id: I891e036499d9b440a57f77fb735a5ba4da9a6e43
* | am 8250b497: am 392730f7: am 6f559515: am a4c3d8f0: Merge "MediaCodec: fix ↵Lajos Molnar2014-10-101-9/+15
|\ \ | |/ | | | | | | | | | | onError and onInputBufferAvailable" into lmp-dev * commit '8250b4978e1c9f3ceba7e748929d9e126c65eb90': MediaCodec: fix onError and onInputBufferAvailable
| * MediaCodec: fix onError and onInputBufferAvailableLajos Molnar2014-10-091-9/+15
| | | | | | | | | | | | | | | | - don't call onInputBufferAvailable if we created an input surface - keep component name alive if an error occurs Bug: 17934966 Change-Id: I396c6e6cfd9fa589a1a95c6169492089255e6993
* | am 9b68037c: am f0d98899: am aaa527fb: Merge "send available codec buffer ↵Chong Zhang2014-10-031-2/+15
|\ \ | |/ | | | | | | | | | | count with codec notification" into lmp-dev * commit '9b68037c1f3fcf2a390dd796fb31b1d873fe4bea': send available codec buffer count with codec notification
| * send available codec buffer count with codec notificationChong Zhang2014-10-021-2/+15
| | | | | | | | | | Bug: 14679336 Change-Id: Id927c96a9a14dd6ecd72540f0037d5841aa32154
* | am 3e072400: am f74023f0: Merge "stagefright: return encrypted input buffer ↵Lajos Molnar2014-09-251-1/+6
|\ \ | |/ | | | | | | | | | | for secure codecs" into lmp-dev * commit '3e07240000ed8df9f77733962850ee4ddbea0c7f': stagefright: return encrypted input buffer for secure codecs
| * stagefright: return encrypted input buffer for secure codecsLajos Molnar2014-09-231-1/+6
| | | | | | | | | | Bug: 17630446 Change-Id: I8a9352bcd00a3f4eb6fd2797d6809a8c1edc8482
* | stagefright: Fix MediaCodec::init() AString name usage.Andy Hung2014-09-231-2/+2
| | | | | | | | Change-Id: I7f9fcabafd60cba99af6049dc99b1a457db396c4
* | am d20940ee: am d7f77cd7: Merge "MediaCodec: Fix deallocated pointer ↵Andy Hung2014-09-231-3/+3
|\ \ | |/ | | | | | | | | | | reference when calling reset()" into lmp-dev * commit 'd20940ee9e9da7495a75569ccc513b4aa3ddc179': MediaCodec: Fix deallocated pointer reference when calling reset()
| * MediaCodec: Fix deallocated pointer reference when calling reset()Andy Hung2014-09-221-3/+3
| | | | | | | | | | | | | | | | The name pointer argument in MediaCodec::init() was being implicitly deallocated. Bug: 17499622 Change-Id: If9409f95674e52d1478f969f77693c4d27ff1ff2
* | am f2745669: am 74848665: Merge "fix failure in ↵Chong Zhang2014-09-111-1/+14
|\ \ | |/ | | | | | | | | | | MediaCodecTest#testException" into lmp-dev * commit 'f2745669be588f8bc8fdb3dea60a12d91f6eb9c9': fix failure in MediaCodecTest#testException
| * fix failure in MediaCodecTest#testExceptionChong Zhang2014-09-101-1/+14
| | | | | | | | | | | | | | reset codec after failed configure() Bug: 17418876 Change-Id: I21ff8a0751dae6a164678015142e11d481403bed
* | am f910a3df: am c9d62de7: Merge "MediaCodec: set state to UNINITIALIZED when ↵Wei Jia2014-09-021-2/+4
|\ \ | |/ | | | | | | | | | | receiving fatal error." into lmp-dev * commit 'f910a3dfeb3fb58c297a37757e28150462fe1e9e': MediaCodec: set state to UNINITIALIZED when receiving fatal error.
| * MediaCodec: set state to UNINITIALIZED when receiving fatal error.Wei Jia2014-08-291-2/+4
| | | | | | | | | | | | | | NuPlayerDecoder: release MediaCodec when handling an error. Bug: 16661923 Change-Id: I1b6fd7ee5cc1136b3f289135e5360cd3d98f9799
* | am 211aae92: am 848726d8: Merge "MediaCodec: handle errors during flushing." ↵Wei Jia2014-08-251-6/+10
|\ \ | |/ | | | | | | | | | | into lmp-dev * commit '211aae92d3f48a56f266a2b933d6f53b625098b0': MediaCodec: handle errors during flushing.
| * MediaCodec: handle errors during flushing.Wei Jia2014-08-221-6/+10
| | | | | | | | | | | | Bug: 17068327 Bug: 13133027 Change-Id: I06caf79b90ebf55d6d7561cb82516c0b6c66f0e4
* | stagefright: MediaFilter and SimpleFilter(s)David Smith2014-08-221-1/+11
|/ | | | | | | | MediaFilter implements CodecBase and provides video filtering support via filter modules which extend SimpleFilter. Bug: 17203044 Change-Id: Ifb30c501e2901c44999d95d7d150e863b2bd06c6
* Merge "handle error during flush in MediaPlayer.reset()" into lmp-devMarco Nelissen2014-08-191-3/+8
|\
| * handle error during flush in MediaPlayer.reset()Marco Nelissen2014-08-201-3/+8
| | | | | | | | | | | | | | | | | | If there was an error during the flush phase of a reset, then the reset would never complete. We now make sure the MediaCodec moves to the right state in this case, and that NuPlayer cleans up and resumes the rest of the reset after a failed flush. Bug: 16955082 Change-Id: Ied61136871a9fcdffcc80647fa2bba64a926ac2a
* | stagefright: Fix race condition between MediaCodec and SoftwareRendererRonghua Wu2014-08-151-29/+9
|/ | | | | | | | | | | * Set the buffer's format info when it's returned from OMX component. * Move frame format meta from SoftwareRenderer's ctor to the render call. I.e. each frame sent to the renderer carries the format info. * Reset renderer with the new format instead of re-creating SoftwareRenderer when incoming frame's format is changed. Bug: 13842676 Change-Id: Ibab46f109200bcbdeab13a4cc1bcd0870f2a99fb
* Merge "Clarify and implement MediaCodec status codes" into lmp-devAndy Hung2014-08-071-36/+78
|\
| * Clarify and implement MediaCodec status codesAndy Hung2014-08-071-36/+78
| | | | | | | | | | | | | | | | | | | | | | Clarify MediaCodec status codes in MediaError.h When appropriate, return OMX error codes for status. Optionally return a status code from CreateByType() and CreateByComponentName(). Bug: 12034929 Bug: 13976475 Change-Id: I7463dd08d101074f730481b26127a69c9186c97e
* | stagefright: rework media codec list and infosLajos Molnar2014-08-071-8/+8
|/ | | | | | | | This is in preparation of serving the codec list and codec infos from the mediaserver Bug: 11990470 Change-Id: Ib8e2708679c9ce461a4ba179974a740cdcdf2731
* stagefright: MediaCodec async operations.Lajos Molnar2014-07-301-17/+33
| | | | | | | | | | In async mode: - codec must be restarted after flush - dequeueIn/OutputBuffers fail - getIn/OutputBuffers fail Bug: 11990118 Change-Id: If2d6a76ab499ee9ed4a11486fb537acbc52e66f6
* stagefright: add flexible YUV supportLajos Molnar2014-07-251-0/+12
| | | | | Bug: 10706245 Change-Id: Icd246f22edfc67ed5240d59f5a5bde3e5f749465
* update battery stats for video/audioChong Zhang2014-07-221-6/+109
| | | | | | Bug: 12979595 Change-Id: Iafd93046a4fd9f22bcd66084deace746a7ca5d3c
* stagefright: add MediaCodec.reset()Lajos Molnar2014-07-151-0/+43
| | | | | Bug: 12034929 Change-Id: I326f1356df89474aa088c1c87f8505b33654139d
* MediaCodec: change onError cb to return CodecExceptionChong Zhang2014-07-111-4/+8
| | | | | Bug: 11990118 Change-Id: I3278aecb20df88c42fa2709a66e6166eb3cbe56f
* MediaCodec async callbacksChong Zhang2014-07-111-91/+173
| | | | | | Bug: 11990118 Change-Id: I6fe4b407d9c85cddec8d958620d5d356735273cf
* stagefright: add indexed buffer and format getters to MediaCodecLajos Molnar2014-07-111-5/+60
| | | | | | | | | | These are designed to be called from the same thread as the one calling dequeue?Buffer, and use a mutex to avoid switching context. All other calls of MediaCodec are designed to be blocking and synchronous. Bug: 14297827 Change-Id: If341c6e4407ca6f10f5e0d47008dddc0e20b0a50
* stagefright: update MediaCodec to use CodecBase instead of ACodecLajos Molnar2014-07-071-17/+18
| | | | | | | MediaCodec still creates an ACodec instance in init() Bug: 11784825 Change-Id: Ifba1e1582c788056c0e59afdf68cd3a504ab3679
* libstagefright: 64-bit compile warningsMark Salyzyn2014-06-261-1/+1
| | | | Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b