History log of /frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1f0fa90d7c345d44b319705602770dcba36ca23b 05-Jun-2017 Lajos Molnar <lajos@google.com> GraphicBufferSource: no longer hold onto repeatable buffer after eos

Bug: 62271796
Change-Id: Id0571d16ea968732c7c08602d8446d2ab845a651
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
195f1ed9563ea2264dbca8c783695d9741dab3d8 27-Apr-2017 Lajos Molnar <lajos@google.com> GraphicBufferSource: remove free codec buffers only when submitted to codec

Bug: 37556535
Change-Id: I516c0a2fc6c78e937360a2a5c2a3dcdea1d07370
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
02cccfd9e790ba8758aba2b4f2a600a7d8fd1566 26-Apr-2017 Lajos Molnar <lajos@google.com> stagefright: don't actually acquire graphic buffer when we don't want to

Bug: 37556535
Change-Id: Ic9d2bddd12c8a750c4d285a1915ac3f4455aceae
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
b3921125a9904fc3fb3eecca421bc418e273f3cd 19-Apr-2017 Yin-Chia Yeh <yinchiayeh@google.com> stagefright: fix log spam

Bug: 37110143
Change-Id: I82d147c966980716df5eb5c05cf8cb71387f0862
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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.cpp
384cd775be62fff1635a36a7931f361db77220c0 21-Mar-2017 Hangyu Kuang <hkuang@google.com> media: Fix a bug in recording pause/resume.

Bug:35950379
Test: Camera recording and keep pause, resume, pause...
Change-Id: I5c81016e51f40e36430553990724fef3ccb23bb5
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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.cpp
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.cpp
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.cpp
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.cpp
d4370268adbbb95eca7a518a55abe42678df93ef 27-Oct-2016 Chong Zhang <chz@google.com> Merge "IOMX: consolidate buffer passing on IOMX"
3fd200feb657c157125e45e30c2a7262e3c0244d 08-Oct-2016 Chong Zhang <chz@google.com> IOMX: consolidate buffer passing on IOMX

- Use OMXBuffer to parcel different buffer types.

- Only leave one useBuffer, emptyBuffer and fillBuffer.

- Remove the update metadata calls.

bug: 31399200
Change-Id: I307e59415c3c5be61772210431bd8225ce6b75a3
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
5737a69a910de65b67d2703bcb18d6d8058ebe48 27-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "media: Adjust the first video/audio sample time in slow motion."
bd83e4b3e77b31e089832bcfbebde086392216c9 26-Oct-2016 Hangyu Kuang <hkuang@google.com> media: Adjust the first video/audio sample time in slow motion.

Test: Manual test.

Bug: 32243250
Change-Id: I9469d6f9929ca67f2f12e658382bc76e7236b256
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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.cpp
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.cpp
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.cpp
63057d226ec50521450723f25ac8ea708e254cc9 16-Sep-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 4646bb6 to master

Change-Id: Ic13f334730af2eea1b4c8d38c158deadd0789a1c
4646bb6d3774317ab39f6c4b559184fb98e3ad9c 16-Sep-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 2fbcb4f to nyc-mr1-dev-plus-aosp

Change-Id: Ibaccc1290942c18c56e66a754e3df18e8c4cea95
00beaa2776382e8fa1844cd85e00813c3f226970 15-Sep-2016 Chih-Hung Hsieh <chh@google.com> media: Fix graphic buffer leak.

Bug: 30882996
Test: build and boot
Change-Id: I673c06b225f55f0d9f15800edb8113abc237c4ce
Merged-In: I571a3a9d1705233029abb92f3752416d55ed1056
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
43cace6b1fe5fb952f6be3c312ef6d344a30f68d 14-Sep-2016 Chong Zhang <chz@google.com> stagefright: always add pts info if max pts gap is set am: 718ae52c24 am: 44a98c7807
am: a50d25a4b5

Change-Id: Ie6df6cd4c0b0199a217f9c47e5a0ae9ee1eb4aff
a50d25a4b5e5cd0f2c51241e9fb2a0752ce3c6a2 14-Sep-2016 Chong Zhang <chz@google.com> stagefright: always add pts info if max pts gap is set am: 718ae52c24
am: 44a98c7807

Change-Id: I33aec57f1816e208443044b531fafb440804ac4a
718ae52c24b243d19d91dd97c2f6ea37d3524df0 13-Sep-2016 Chong Zhang <chz@google.com> stagefright: always add pts info if max pts gap is set

bug: 31442520
Change-Id: If23d402f6649ad4e8928d14d271accd1f2415a2e
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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.cpp
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.cpp
7d64d30d0dcdb97be921790e2702e5adfe751d92 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master am: 32d6e5f0eb
am: a944197b97

Change-Id: I03472be260cbfdaf436514d319e91063c738b82c
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.cpp
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.cpp
5a4a0a1e4a44b8e48aff8e74df56d37dc6d7129c 24-Jun-2016 Hangyu Kuang <hkuang@google.com> media: set correct mode if both capture and playback rate are set.

This will avoid the recording operate in slow motion/time-lapse mode even
if capture rate and playback rate diff a little bit.

Bug:28313712
Change-Id: I7b50c6eacbde4189a4d0d76f95861dd029991685
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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.cpp
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.cpp
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.cpp
dfad5454e0caf46f8732f1415d3b9a76f2a1242e 01-Jul-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: prevent allocating stale buffers for OMX decoders" into mnc-dev
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.cpp
264bac95912efe121d6a60026612617f04f42966 27-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: prevent allocating stale buffers for OMX decoders

Also fix some issues encountered once using generationNumbers:
- properly account outstanding buffers in MediaSync
- don't release arbitrary frame if attach fails

Bug: 11990461
Change-Id: Icee5ea188ca4eb856138feb5e6ec5d4ee5e44008
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
c93a13669ce1b5a9e6527b4c86c9d8f5e92be828 26-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: ask for flex-YUV camera buffers for software encoders

Bug: 13222807
Change-Id: I854b73a63cf9239311729598241725d84e8513aa
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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.cpp
9847fcefb183e1cb09eb48e17a09577392b0e8f4 03-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: rename VideoGrallocMetadata.hHandle to pHandle

This is so that it can be equivalent to the previously named
VideoDecoderOutputMetaData struct.

Bug: 13222807
Change-Id: I38831e19a76f49cc7e8385c079817c538d18f0ff
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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.cpp
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.cpp
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.cpp
1d15ab58bf8239069ef343de6cb21aabf3ef7d78 05-Mar-2015 Lajos Molnar <lajos@google.com> media: switch to new AMessage handling

Bug: 19607784
Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
/frameworks/av/media/libstagefright/omx/GraphicBufferSource.cpp
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.cpp
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