History log of /frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
04f101c35eaa90b1f95939afac30674ec1611e6f 04-Nov-2014 Dan Stoza <stoza@google.com> Add a BufferItem parameter to onFrameAvailable

Passes the BufferItem for the queued buffer to the onFrameAvailable
callback so the consumer can track the BufferQueue's contents.

Bug: 18111837
Change-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
512e979284de984427e5b2f73b9054ae1b5e2b0a 11-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: support passing GraphicBuffer in metadata buffer

Bug: 17935149
Change-Id: I6bb5dd654e498a7153410afc052c2c8f7f35e44d
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
e580006cd0067109189975c56395d29309d49883 08-Jul-2014 Jesse Hall <jessehall@google.com> Encoder input buffers don't need HW_TEXTURE usage

Change-Id: Ibb1be86ae99439ccbce3fc2b38d92115083ef7ff
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
a5750e0dad9e90f2195ce36f2c4457fa04b2b83e 19-Jun-2014 Mark Salyzyn <salyzyn@google.com> libstagefright: 64-bit compile warnings

Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
9e8eeafe1ea0e88d548270280bcc209dde51781b 21-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Increase max slots from 32 to 64"
1b24cf32e02a1372e57b3a2a432bc0adfe496e6d 16-Apr-2014 Mark Salyzyn <salyzyn@google.com> am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d

* commit 'e80631aa1992ca50af679cd6a018c0ffda7f9b17':
media: use size_t for integer iterator to Vector::size()
media: 64 bit compile issues
e80631aa1992ca50af679cd6a018c0ffda7f9b17 16-Apr-2014 Mark Salyzyn <salyzyn@google.com> am 839d11d1: Merge changes I0a744dc7,Id993a70d

* commit '839d11d1f7be9dff2f06c7d30a9eb39cb6782078':
media: use size_t for integer iterator to Vector::size()
media: 64 bit compile issues
db43b34c3428e480f8c4c66e7e88f4001f37f91e 04-Apr-2014 Mark Salyzyn <salyzyn@google.com> media: 64 bit compile issues

- change internal sized types to use stdint.h
- printf & scanf formats
- size_t or unsigned int for iterators

Change-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
2475264264b51a7592c5b2e4cd6cfdaddba16644 10-Apr-2014 Dan Stoza <stoza@google.com> BufferQueue: Increase max slots from 32 to 64

Increases NUM_BUFFER_SLOTS from 32 to 64 and changes the mask
returned by IGBC::getReleasedBuffers from 32 to 64 bits.

Bug: 13174352
Change-Id: I1c41256ffbc30abcf9f7b0b5fcf53da40462da28
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
5205977929c8a63d3bba026c6bd7b4cc1e236627 12-Mar-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Bug: 13415624
Change-Id: I1a824d09ce582ee54753683d30cdc23813c13b6b
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
cf49a51ff59c3cd228d178d23252ac0d39d5a893 15-Feb-2014 Chong Zhang <chz@google.com> fix codec buffer leak in error handling when timestamp goes backward

don't touch codec buffer if we decided to drop a frame with bad pts

Bug: 11971963
Change-Id: I9b4c56210f64258f1be257b14184381a1133e0d6
(cherry picked from commit b63d2433350d56bda9f3477549086c90bb6d535e)
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
c69bc40a347c411751cb082b3eb4a82d976a68ec 11-Mar-2014 Chong Zhang <chz@google.com> Merge "Cap pts gap between adjacent frames to specified value" into klp-dev
8bd4d16aa5636e98522c07ae31236420788aa749 11-Jan-2014 Chong Zhang <chz@google.com> Cap pts gap between adjacent frames to specified value

- In the scenario of cast mirroring, encoding could be suspended
for prolonged periods. Limiting the pts gap to workaround the
problem where encoder's rate control logic produces huge frames
after a long period of suspension.

- Repeat last frame a couple more times to get better quality
on static scenes.

- Fix the timestamp on repeat frames (it was not set)

Bug: 11971963
Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7
(cherry picked from commit 94ee4b708acfa941581160b267afb79192b1d816)
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
1c608ab33acab82d4a87f1abedcc99a623d1b53a 18-Jan-2014 Chong Zhang <chz@google.com> save mGraphicBuffer pointer even when we're suspended

Bug: 12609966
Change-Id: Ifd41fd973876da69039113fcaeacdccf39472b37
(cherry picked from commit 49270665e7a20cd120724fc388da8b166ff0b4f1)
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
8dcc81a2fdb35905347cf7ef46d198afa7ae79cd 04-Mar-2014 Jesse Hall <jessehall@google.com> Add empty onSidebandChanged callbacks to BufferQueue::ConsumerListeners

Change-Id: I94384aefd47b3a581cbdc3905ba9fdbc88d3d06c
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
dc6ac201032d0f6ad0c8149ae2f009ec38693025 22-Feb-2014 Chong Zhang <chz@google.com> Merge "support for time lapse/slow motion when using SURFACE source"
4cc224aca3f61a3d4cb4573a620dd6b48354b010 19-Feb-2014 Chong Zhang <chz@google.com> Merge "fix codec buffer leak in error handling when timestamp goes backward"
2c9c8cba8562cc3a27532e4cd348912cc78d8d98 11-Feb-2014 Chong Zhang <chz@google.com> support for time lapse/slow motion when using SURFACE source

Bug: 13032650
Change-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
b63d2433350d56bda9f3477549086c90bb6d535e 15-Feb-2014 Chong Zhang <chz@google.com> fix codec buffer leak in error handling when timestamp goes backward

don't touch codec buffer if we decided to drop a frame with bad pts

Bug: 11971963
Change-Id: I9b4c56210f64258f1be257b14184381a1133e0d6
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
72cecca17d735db6532c45f0a7e10c47ee6f065a 26-Dec-2013 Chong Zhang <chz@google.com> Change StagefrightRecorder to use MediaCodec

Bug: 12305192
Change-Id: I72d7cb571be5bd348b58ad650f3269d24c15d350
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
94ee4b708acfa941581160b267afb79192b1d816 11-Jan-2014 Chong Zhang <chz@google.com> Cap pts gap between adjacent frames to specified value

- In the scenario of cast mirroring, encoding could be suspended
for prolonged periods. Limiting the pts gap to workaround the
problem where encoder's rate control logic produces huge frames
after a long period of suspension.

- Repeat last frame a couple more times to get better quality
on static scenes.

- Fix the timestamp on repeat frames (it was not set)

Bug: 11971963
Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
49270665e7a20cd120724fc388da8b166ff0b4f1 18-Jan-2014 Chong Zhang <chz@google.com> save mGraphicBuffer pointer even when we're suspended

Bug: 12609966
Change-Id: Ifd41fd973876da69039113fcaeacdccf39472b37
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
892e1b9ab055075ba9036fb7dd6404e9e0f2677a 08-Nov-2013 Andreas Huber <andih@google.com> Back to the old way of making sure that no more buffers are submitted

to the component while in executing->idle state.

Change-Id: Ia207f0a112025ed0e2c4d62f404afbbfa694cbab
related-to-bug: 11557463, 11573543
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
51ac2d6451b8614aaad83e5bd29ccb7a3fc4651c 08-Nov-2013 Andreas Huber <andih@google.com> Merge "Properly handle executing->idle in GraphicBufferSource" into klp-dev
5572b3afe3e63110ef9e6d228112ca7cbfac866b 07-Nov-2013 Andy McFadden <fadden@android.com> Replace assert with error message

The failure happens when vendor code sends EMPTY_BUFFER_DONE
twice on the same buffer. The second time through, we see a slot
that has already been emptied, and get very confused.

This should be handled with an error, not an assertion, so we now
log a stern complaint and carry on.

Bug 11557463

Change-Id: I76e53ff08924bca81afb6980df8e59a6012ff8fe
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
ad3b7e8d40bf1c97347f1538d30bba78ca371f67 07-Nov-2013 Andreas Huber <andih@google.com> Properly handle executing->idle in GraphicBufferSource

ACodec has initiated the transition from exectuing->idle and is waiting
for the component to return all buffers so they can be freed.
It's counter productive and with some vendors harmful to submit additional
buffers to the component from this point on.

Change-Id: I332be254a1faf94902c77b5792a373ab447e44d3
related-to-bug: 11573543
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
bdfd4885aa4d7b3f3f591118927a3f4aec593096 23-Oct-2013 Andy McFadden <fadden@android.com> Check for NULL buffer in repeat-latest

Repeating the most-recent buffer appears to fail when the producer
disconnects. This adds a NULL check to avoid crashing.

Bug 10607920

Change-Id: Ied036004425f046fcf9c26303823681f3fddb99e
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
a61285dcf1da8a2cf40c499ee3a7b9fc4d74ac58 31-Jul-2013 Andreas Huber <andih@google.com> Optionally repeat the previously submitted frame to the encoder

if no new frame has been delivered by surface flinger within the timeout
interval.

Change-Id: I282f1b726dfe5646b178d7858d6f5d4f5a264fde
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
910813bd66eaf0f6a72769c9b3fa9830dd100a19 01-Aug-2013 Mathias Agopian <mathias@google.com> fix fallout from binderizing BufferQueues consumer side

Change-Id: I626bac6df4fc3d8478046193f06ecc7ea60dd3a8
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
ba812e3b3ca0a0c9459fe29bbc211c9a73313b8b 23-Jul-2013 Andy McFadden <fadden@android.com> Don't abort on unusual state transition

The state transition check was too strict, and we were crashing
mediaserver inappropriately.

Bug 9819944

Change-Id: I1482ed1cfee37088d4893ee81cf1b2b950d2e930
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
cd63212dedc29d72d4746a4070d018fdbca316a9 20-Jul-2013 Mathias Agopian <mathias@google.com> Merge "update to new Consumer APIs"
e40cda70eec141fa05cbcca1de420fdb22b98be6 17-Jul-2013 Andreas Huber <andih@google.com> Support "suspension" of a video encoder in "surface-input" mode.

i.e. feed no more input frames to the encoder while suspended.

Change-Id: I51391e18c1517548e869f8ddece19f4af37e78f9
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
5e1f08b3917ac7900f8a11118afb7e8bf3e61c64 17-Jul-2013 Mathias Agopian <mathias@google.com> update to new Consumer APIs

Change-Id: I3c5d4be2a2e8783fbf98b3e268fd02658f71dc7d
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
656e86250cd68f7f362c50a4bc92a865e9deacbe 28-Jun-2013 Andy McFadden <fadden@android.com> Pass additional arg to acquireBuffer calls.

Bug 7900302

Change-Id: I30b9cca783e0a48f77035b745b7d5e20edf10f27
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
d030447b617105b31bf3013e5e4b39d422b53b77 15-May-2013 Lajos Molnar <lajos@google.com> stagefright: BufferProducer updates

Update BufferQueue and ConsumerBase users to new BufferQueue
API, to allow BufferQueue slots to be reused. Buffer consumers
generally now need to track the unique frameNumber belonging to
each frame acquired if they are using BufferQueue directly.
Otherwise, they can simply track the graphicBuffer.

Change-Id: I30ee3158cf40fb10bbd085241646d5f1128ee480
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
e2dfa5a4ea3459b155b4b403b7dafe2116d960d4 17-May-2013 Mathias Agopian <mathias@google.com> Merge "update to Fence::waitForever() API change" into jb-mr2-dev
d76442421eadfa73f2f3a9e50f6caf65b0dd1ce9 17-May-2013 Mathias Agopian <mathias@google.com> update to Fence::waitForever() API change

Bug: 8988871
Change-Id: I24a2620d356f3bb6207ed834c79fd3e48b429695
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
324143b1531328bc4e53c6cbd962c9a457d73707 16-May-2013 Andy McFadden <fadden@android.com> Adjust timestamp scale

BufferQueue item timestamps are in nanoseconds, MediaCodec buffer
timestamps are in microseconds. Adjust.

Bug 8988357

Change-Id: Ib12824d7eea0316a14543c756e3a127c0866db6b
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
0c37f9d1320bb87fd242f9425c67dacd6ce20112 11-Mar-2013 Andy McFadden <fadden@android.com> GraphicBufferSource fixes

Various fixes:
- Set the maximum number of BQ buffers we're allowed to
acquire equal to the actual number of codec buffers. That
way we keep the codec as full as possible, and never try to
acquire more than we're allowed from the BufferQueue.
- Actually use "end of stream sent" flag.
- Name the BufferQueue (for debug messages).

Bug 8359403

Change-Id: I3b8c1f679bbebf6a89e623e13ca029eda7f657ba
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
ba6218eae3dbcf3f962b3561b26374a214dbf5e2 05-Mar-2013 Andy McFadden <fadden@android.com> Correct MediaCodec + Surface behavior

Assorted tweaks:
- Allow signalEndOfInputStream() before ACodec is in Executing
state (added message to two more states).
- Return an error if signalEndOfInputStream() is called a second
time on the same stream.
- Require AndroidOpaque color format in createInputSurface().
- Disallow dequeueInputBuffer() after an input surface has been
created (boolean flag in MediaCodec tracks it).
- Discard input surface when encoder is re-configure()ed (drop
OMXNodeInstance's ref when we go back to Loaded).

Bug 7991062

Change-Id: Iff30f3036e14eb5a2f6536910dcf11aba33031ee
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
f779bb50d9746d9526541c3e6dcdf619cac941b7 19-Feb-2013 Andy McFadden <fadden@android.com> Implement Surface input to MediaCodec.

Also, renamed a CHECK_INTERFACE macro that was clashing with the
Binder version.

Bug 7991062

Change-Id: If5e6ed0a06d9f67975497676e4b05abe3aa3d6c0
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp