History log of /frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
22dc508717c7767927064ec7c152def99e54adcb 20-Apr-2017 Pawin Vongmasa <pawin@google.com> Make IGraphicBufferSource::setTimeLapseConfig take fps

Test: Manual use of Camera, Movies, Photos and YouTube apps.

Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'

Bug: 37302530
Change-Id: Id0d4f7fed57349a2f5484f6b6264981471e8f022
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
43fb79ad6ffecb86d5041afd8c06b764fb6f934f 06-Apr-2017 Lajos Molnar <lajos@google.com> stagefright: Rework GraphicBufferSource - step 1

- Abstract buffer reference counting so that it does not intimately
assume a BufferQueue. Move releasing acquired buffers into a
callback as this is BQ specific. Having vectors for slots is also
BQ specific.

Use shared, copiable objects to manage buffers and their lifecycles:

CachedBuffer: a cached buffer in a slot

AcquiredBuffer: a buffer acquired from the producer that will
need to be released (and will get released when all copies of
this object go out of scope)

VideoBuffer: an acquired buffer with metadata

- Rename variables to be more descriptive.

- Move associated methods and variables closer together.

- Document methods and some of the operations of GraphicBufferSource.

Bug: 37110143
Change-Id: Iea5e7a376eba2bdd41624a7ddbe1d94c3d0e7b68
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
21bafd5a325aac30406fbb5dcff18812e0f44a45 30-Mar-2017 Hangyu Kuang <hkuang@google.com> media: Handle STOP action properly.

Release all buffers and set mEndOfStream when handling STOP action.

Bug: 36682265
Test: Video Recording and MediaRecorder CTS test.
Change-Id: I2f40f0dca4e0b062ab43bfc5e6a646f649fdc524
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
d095e65c8c125c555046c60539a0f7abf0ccf271 11-Mar-2017 Robert Shih <robertshih@google.com> Revert "Revert "Refactor GraphicBufferSource wrappers for OMX HAL""

This reverts commit a6331ba30928fac713f9d6ce94e1d5f0d008b501.

Bug: 36110748
Change-Id: I56260ae0cc13c17b0edb31c39d22f3fbd6708d34
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
a6331ba30928fac713f9d6ce94e1d5f0d008b501 10-Mar-2017 Rachad Alao <rachad@google.com> Revert "Refactor GraphicBufferSource wrappers for OMX HAL"

This reverts commit 3d32c95e94f2672d23b58196beafddacba07c5e8.

Bug: 36110748

Change-Id: I6d0cd5924b3e1e00cdcf844c638bb0acf4fae2ac
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
3d32c95e94f2672d23b58196beafddacba07c5e8 23-Feb-2017 Robert Shih <robertshih@google.com> Refactor GraphicBufferSource wrappers for OMX HAL

Bug: 35449087
Test: Manual
Change-Id: I0cf70526d820999902707af466ebb4e8a2c932ab
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
764d945bfdb9dec60f2b482fbf6c5e83824ed950 13-Dec-2016 Hangyu Kuang <hkuang@google.com> media: Support accurate pause/resume/stop in GraphicBufferSource.

Process all buffers that have been queued to the encoder on
StagefrightRecorder::pause()/stop(). Furthermore, add timestamp support for
pause/stop. Buffers willi keep getting encoded until 1) a buffer with a higher
timestamp is queued, or 2) the bufferqueue is abandoned by the producer.

Test: Recording with hacking GoogleCamera timestamp. And Mediarecorder CTS test.
Bug:32765698
Change-Id: I9ec33d635aef269836d7a5d9f4b906cb41b46a0d
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
8ff40189817e95c7a56e347398d20e60d7534ee6 07-Feb-2017 Pawin Vongmasa <pawin@google.com> Fix some bugs in the Treble connection.

Test: Do the following inside adb shell:
setenforce 0
setprop debug.treble_omx 1
pkill mediacodec
pkill mediaserver

Bug: 31399200
Change-Id: I8d0ebcca477738add8b41b58ae85539061cfad7b
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
3604cb1a5548694393c7b7a87191eb517bebaa47 10-Oct-2016 Chong Zhang <chz@google.com> IOMX: move max pts gap handling to OMX

bug: 31399200

Change-Id: I52177d6826caeedf670ecf3e6d0ff85d0e3bf1df
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
addf2cbb120346ae42e78fa739245a353db5edad 29-Sep-2016 Chong Zhang <chz@google.com> IOMX: consolidate createInputSurface APIs

- Create GraphicBufferSource in IOMX regardless of persistency.

- Remove createInputSurface on IOMXNode, only keep setInputSurface
which accepts either a persistent or non-persistent surface.

- Instead of holding a IGraphicBufferConsumer, hold
IGraphicBufferSource across session as the persistent surface.

- Fix up GraphicBufferSource to allow usage across sessions.
GraphicBufferSource itself becomes agnostic to persistency.

- Remove max encoder input buffers profiling code.

bug: 31399200
Change-Id: I15ed52cc64509fd87736372a580abf7b51bf4de7
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
d59b97223424a3974d2ac31cff998d02eecf2eed 21-Sep-2016 Chong Zhang <chz@google.com> IOMX: separate node interface from IOMX

- Separate node interface from IOMX. Client allocates the
node through IOMX, and once it has the node interface,
it can interact with the node directly. There is no need
to go through IOMX and refer to the node by id.

- Simplify OMX, remove id-to-instance mapping on server
side, and move the callback dispatch into node instance
(as dispatcher is per-node).

- Keep track of node generation on client side to ensure
that message handling ignores messages directed at an
expired node.

- Remove MuxOMX, always use IOMX from media.codec.

- Minor whitespace reformatting.

bug: 31399200

Change-Id: I8aef6ec1fa5aba861da7d121960ed2974a963d81
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
6d332d2cdf6e62c2c20ebff220868fe9e3ed7f44 07-Sep-2016 Chong Zhang <chz@google.com> stagefright: abstract GraphicBufferSource to interfaces

Create two interfaces from GraphicBufferSource:

a) IGraphicBufferSource for client (ACodec) to configure the graphic
buffer source. IOMX no longer routes these messages and OMX internal
options are removed.

b) IOMXBufferSource for IOMX to send OMX specific callbacks.

Added an |origTimestamp| argument to emptyGraphicBuffer, and restore
the original PTS inside OMX to avoid going back to GraphicBufferSource
to patch the output PTS. In the longer term, we should consider moving
the max PTS gap entirely into OMX (probably as an extension index).

Define newly introduced interfaces using AIDL to facilitate code
development.

bug: 31399200

Change-Id: Ibaf6ca1a0737ba6ba9f83bedc3b06ef358db36cb
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
006245d5897b19e26896c1324f52eb33a1a7785f 15-Sep-2016 Chong Zhang <chz@google.com> resolve merge conflicts of ac63f7e to master

Change-Id: Id3dc3f5883052ae59b2861a55b85f21f6c0e26b2
ac63f7ee23090f2ad9e8b6180440f1fbc8a71e37 15-Sep-2016 Chong Zhang <chz@google.com> resolve merge conflicts of 4743f50 to nyc-mr1-dev-plus-aosp

Change-Id: If67748ece5ec87bd6f272c545e15105c60765473
fdeac6c97d87aff25653d42d24d0c18c568c684a 15-Sep-2016 Chong Zhang <chz@google.com> Release buffer slot basing on reference counter

This patch introduces counter which stores number
of references kept by CodecBuffers for each GraphicBuffer
on given slot.
The counter is decreased after codec buffers emptied
and increased after buffers submitted. When counter
becomes 0 it means that given buffer slot shall be
released.

Bug: 30024369

Cherry-picked with (rebase and fix) from:

https://android-review.googlesource.com/#/c/246510/2

Change-Id: I4ecd7902a6a525f9a598682d9cccc0f771752280
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
09fcc862f226df509cde12923d92cf6db53c4108 09-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: remove OMXNodeInstance usage from GraphicBufferSource"
6cf9a1238986880536de705255f7c2c91c1ba719 09-Sep-2016 Chong Zhang <chz@google.com> stagefright: remove OMXNodeInstance usage from GraphicBufferSource

This is a preliminary to separate GraphicBufferSource from IOMX.

- Use IOMX instead of internal OMXNodeInstance.

- Keep track of codec buffers by buffer_id, do not write to the
OMX buffer headers directly

- Upon data space change, notify IOMX to handle it

bug: 31399200

Change-Id: I86534d7602294f70da582457b5af2eb9b6a58eda
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
86f051e812b896e527d890a6da11db8f8909fb1c 02-Sep-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource. am: 61fcfd1b0b am: 5ed707356a
am: 3dfe842f35

Change-Id: I677321476164b9a1b22c556bd2e5df0d5cea472e
3dfe842f35e2ee752f5b5b860d63b00863ad6179 02-Sep-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource. am: 61fcfd1b0b
am: 5ed707356a

Change-Id: I9e779e5de2d108a5b0c66c80d0613a3bdaf7fa6e
61fcfd1b0b58dff9284ede8dc49749ca7395856d 30-Aug-2016 Hangyu Kuang <hkuang@google.com> media: Move video buffer timestamp adjustment from CodecSource to GraphicBufferSource.

Bug:30919939
Change-Id: I7c1b626eee8512dac691b03309f724b3351e6e2f
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
50c92866312fa3ef72d1fca53f80cba33f3d092c 19-Aug-2016 Hangyu Kuang <hkuang@google.com> media: Fix graphic buffer leak.

Bug: 30882996
Change-Id: I571a3a9d1705233029abb92f3752416d55ed1056
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
32d6e5f0ebe9e00f80401e5f4fd6e285a474590d 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master

Change-Id: Iabb5d9b93b98e428c53f0504fbfe832ed24d988d
0d1ed381fde5dac12dd84fcf3da66dac46699378 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

* Add explicit keyword to conversion constructors.
* Or add NOLINT to implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
Merged-In: I7a15ac1e37973fe2c661f577a6106b913653de40
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
40d8899f60c5212af9d727ba0ffaaecf676ebd1d 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

* Add explicit keyword to conversion constructors.
* Or add NOLINT to implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
b77d03b62cb743d0faf74b54aa466b4d220b5e61 03-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: connect color aspects and surface dataspace

1. Keep configuration format as video decoder and encoder will need
it to reset their default color aspects on mode/size change.

2. Separate color aspect handling for decoder and encoder as they
are quite different. Update decoder and encoder color aspect setting
to latest policy.

3. propagate dataspace to GraphicBufferSource, MediaCodecSource,
CameraSource and SoftwareRenderer

Bug: 25684127
Change-Id: Ie9a7528af36ed44605a7ce3e69b5794ef16b1c66
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
dd81af7ef969981748f35ec839869d34ed0cc768 11-Mar-2016 Lajos Molnar <lajos@google.com> IOMX: add INTERNAL_OPTION_COLOR_ASPECTS to setParamaters

Bug: 25684127
Change-Id: I140a26eb958d0c42f54faf2b20af636857e886f7
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
57fad3c31f46ec98d15bc253c16f9d269aeb8ea7 08-Mar-2016 Lajos Molnar <lajos@google.com> IOMX: add dataspace to createInputSurface

Bug: 25684127
Change-Id: Ibe746d7d077f32b0f2ecfb8494f415a6bf0bd673
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
a8f5e0c24143299e3b3d722487de7322f7761559 08-Aug-2015 Pablo Ceballos <pceballos@google.com> stagefright: Rename mBuf to mSlot

Bug: 19769719
Change-Id: I224b5fcf9548f067fc36f61595282e671b4bb1db
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
49605e8ab171a2b1f474645d632d3982f5f7b8e6 01-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: fix deadlock and NPE in GraphicBufferSource

Bug: 22202388
Change-Id: I04f2f783ecc0e0c50adf16a666f6d7ab4221e285
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
9700f5fe4b3becfe858cbf5aa7964296975081bb 13-Jun-2015 Chong Zhang <chz@google.com> fix buffer leak due to unreleased last repeat frame

bug: 21659689
bug: 21473584
Change-Id: I9e3dabd1be33352fdacd38797bc9fce91ecc7ee2
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
ffd8cbb288f096b53df0392bf40d99b89e34bea7 06-Jun-2015 Chong Zhang <chz@google.com> fix graphic buffer leak with persistent input surface

implement PersistentProxyListener that returns buffers during period
when actual listener is not connected.

also clear old buffer slot in GraphicBufferSource when re-attaching.

bug: 21473584
Change-Id: I3bcf1a208e745397d6cc6ce9aef9e4f5aa604f3c
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
15ab4996019387f27a48b81cb4774c21502bc0e5 01-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for fences in OMX

Pass Fence between Surface and ACodec, and between ACodec and IOMX.

Bug: 12386081
Change-Id: Ifdc566979dec0d91ed8b07c3b69d2cf092accc73
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
054219874873b41f1c815552987c10465c34ba2b 16-May-2015 Lajos Molnar <lajos@google.com> stagefright: rework metadata buffer support

- Add fence to new metadata buffer mode structure, but don't use it
yet, so that we don't have to add another mode soon.
- Change GraphicBuffers to ANativeWindowBuffer in new metadata mode.
This removes internal depencency from vendor codecs.
- Extend new metadata mode from SW encoders to all codecs.
- Fallback from new metadata mode to old mode (so Camera can always
use the new mode even with legacy codecs)

Related-bug: 19614055
Bug: 13222807
Change-Id: I405a21dd6ce8e99808f633bfeab8f14278eb7079
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
d291c222357303b9611cab89d0c3b047584ef377 01-May-2015 Chong Zhang <chz@google.com> MediaCodec: implement persistent input surface APIs

Bug: 19127604
Bug: 19489395

Change-Id: Idaf1cc9008016f66903e93907a676f54e342e1a3
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
8ed8ceda7cfe29e8417142ef460cd70060204459 12-Mar-2015 Dan Stoza <stoza@google.com> libstagefright: Stop using IGBC::BufferItem

Switches all uses of IGraphicBufferConsumer::BufferItem (and
BufferQueue::BufferItem) to the BufferItem in libgui. Depends on
frameworks/native I699ed0a6837076867ca756b28d1ffb2238f7a0d9. This
is a member of I187b3a7d05196b6289596afac8fb9a9d4aebff76, but since
it was split out from the camera change in frameworks/av, they have
to have different change IDs.

Change-Id: I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
37b2b389139ed638831e49708c947863eef631ef 27-Jan-2015 Ronghua Wu <ronghuawu@google.com> stagefright: add support for limiting framerate in GraphicBufferSource

Bug: 19014096
Change-Id: I6de781e4d140a247dfd8fd8f12c3ddd7baa39ad4
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
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.h
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.h
5205977929c8a63d3bba026c6bd7b4cc1e236627 12-Mar-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Bug: 13415624
Change-Id: I1a824d09ce582ee54753683d30cdc23813c13b6b
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h
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.h