History log of /frameworks/av/media/libstagefright/ACodec.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4a9ab2a382558941ea7fe92324a3d97848686ca8 14-Jun-2017 Dongwon Kang <dwkang@google.com> Revert "Throw IAE when crypto or descrambler is not given for secure codec"

This reverts commit aaa5e6400d7654ca1a7dcebeba36214ed060e3cb.

Test: revert change
Bug: 62570231
Change-Id: Ic1d8b67616a3ac8f491e367d91b3a70d7d22ffa0
/frameworks/av/media/libstagefright/ACodec.cpp
aaa5e6400d7654ca1a7dcebeba36214ed060e3cb 08-Jun-2017 Dongwon Kang <dwkang@google.com> Throw IAE when crypto or descrambler is not given for secure codec

Test: MediaCodec throws IAE for the given decoder stress test
Bug: 62100632
Change-Id: I33e7a1f942c49647a17bc2728f1d3b099265628d
/frameworks/av/media/libstagefright/ACodec.cpp
b622f93984da567396b79af08bde231b61dd3169 10-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: provide consumer usage hint to consumers that request it" into oc-dev
d4c33214c262d9982257219c2fa6104314509abf 10-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: do not reconnect surface for tunneled playback" into oc-dev
903896b72e3810e77166f7570e2d5a420241238a 27-Oct-2016 Lajos Molnar <lajos@google.com> stagefright: do not reconnect surface for tunneled playback

Bug: 30608808
Change-Id: I9a6bb1660b6d0c030fda36de52dfad6fa398f2e2
(cherry picked from commit 2b85160ca0b468a11ee60e80d78747bb433c365c)
(cherry picked from commit 348cc8d612b507e6e09a7fbe3d3066f34f998017)
/frameworks/av/media/libstagefright/ACodec.cpp
17fd5278d36b813701d3db0e1d8d58be513d8c34 16-Sep-2015 David Yeh <david.yeh@mediatek.com> stagefright: provide consumer usage hint to consumers that request it

Test: manual

Bug: 23471732
Change-Id: I41f7f0201d3676adf29b0a2ae017107b4675b07f
(cherry picked from commit c0a0e4c2261c6bcf5cb37297b8cf949c9c51a5c8)
(cherry picked from commit 3c665512fc867481bfbaa164fe817c83b1062112)
(cherry picked from commit d3d5eb6b63c79a990866fbd46fc06e8dd138f8b9)
/frameworks/av/media/libstagefright/ACodec.cpp
ec69aafeef06b42d3bfa6c7e4a7fee0cb03d360c 03-May-2017 Wonsik Kim <wonsik@google.com> ACodec: transition to UNINITIALIZED after force release

Bug: 37857940
Test: AuptTV
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: I583f955839d440aad96cf4bbccad05ed9e291700
/frameworks/av/media/libstagefright/ACodec.cpp
4ec8d83215d61ce8dfad15f5c42e7a190d924bf6 18-Apr-2017 Wonsik Kim <wonsik@google.com> stagefright: prevent component to be stuck on error

Bug: 36818684
Bug: 34983882
Test: Run the command below on Nexus Player overnight:
while true ; do adb shell am instrument -e class 'android.platform.tv.tests.aupt.YouTubeTests' -w 'android.platform.tv.tests.aupt/android.support.test.aupt.AuptTestRunner' ; done
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: I9663c3d62d97c3f5db0af6c30f39bb59cbc7e3e7
/frameworks/av/media/libstagefright/ACodec.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/ACodec.cpp
0de04e850beced076e4b1fcf0e513255f62a7d85 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove setQuirks() from IOMXNode and IOmxNode." into oc-dev
6ed07dc02d4240f94e7fb0786fb263bdc7a610ba 05-Apr-2017 Pawin Vongmasa <pawin@google.com> Remove setQuirks() from IOMXNode and IOmxNode.

Test: Media post-submit tests on Pixel phone.
Test: Manual use of Camera, Photos, Play Movies and YouTube apps.
Bug: 36952714
Change-Id: I230df51c2d658e29cffec369ba622e336c3402d2
/frameworks/av/media/libstagefright/ACodec.cpp
89999206477b02597be9b5322d35e37b11ca7326 27-Feb-2017 Hangyu Kuang <hkuang@google.com> (DO NOT MERGE) media: Add support for setting encoder latency in ACodec.

Test: Video recording.
Bug: 34221970
Change-Id: Ibd1ac03b206540cac354d4c80bafdacb6f0ea9e7
(cherry picked from commit 8e92c7c9f17a3a05f487c6bef40e921de75df7b7)
/frameworks/av/media/libstagefright/ACodec.cpp
04e331c5032609f7ed42c344780b9c1b4cfe4afb 04-Apr-2017 Mathias Agopian <mathias@google.com> Remove useless GraphicBuffer() constructor

Test: compiled & run
Bug: 36869708
Change-Id: I777701b8f47929d2b669d2a990649e58eef528fc
/frameworks/av/media/libstagefright/ACodec.cpp
01c10f8cdcd58d1e7025f426a72e6e75ba5d7fc2 17-Mar-2017 Lajos Molnar <lajos@google.com> stagefright: add support for named vendor extension parameters for MediaCodec

Relay vendor extension params to the component and populate vendor extension
parameters to the format. Failure to set these parameters is propagated to
the caller. Component may decide whether to fail on invalid/incomplete
settings.

Also add required support:

- propagate more errors from OMX to client, and be specific about
errors we ignore in MediaCodec.configure().
- add AMessage::findAsInt64

Bug: 32746650
Change-Id: I67ee8a5c1d3e65816cdadc28d228721925e2e327
/frameworks/av/media/libstagefright/ACodec.cpp
607e65286b7c3dcd06b7175c9d81b82e6fcfcb9a 23-Mar-2017 Wonsik Kim <wonsik@google.com> Revert "ACodec: update native window crop rectangle"

This reverts commit c7b2b233d26e80ecf823078a7504e458ba9efe8c.

Fix: 36553910
Fix: 36541617
Test: manual
Change-Id: I5f0023dee45bd9d574ef9a27c3456ca40ed75f0a
/frameworks/av/media/libstagefright/ACodec.cpp
c7b2b233d26e80ecf823078a7504e458ba9efe8c 17-Feb-2017 Santhosh Behara <santhoshbehara@codeaurora.org> ACodec: update native window crop rectangle

In setupNativeWindowSizeFormatAndUsage, set the crop rectangle
with the output port's crop value.

Fix: 34869730
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: I415be069d02d88dcd6b7c2460dda6df191ee7434
/frameworks/av/media/libstagefright/ACodec.cpp
ac7d4125516299b8a3e6f2b25822a692bdd96311 01-Mar-2017 Pawin Vongmasa <pawin@google.com> Use tokens for IOmxNode.

Test: Mirroring, Camera, Photos, YouTube and Play Movies apps.
Bug: 35442034
Change-Id: I0e43ec57d0f37c71d41652fd9883b72650433e20
/frameworks/av/media/libstagefright/ACodec.cpp
13a926879249276771b0097538459c7550e2f5ce 17-Feb-2017 Steven Moreland <smoreland@google.com> Use hidl.allocator for IAllocator.

android.hidl.memory is being split into android.hidl.memory and
android.hidl.allocator since the former is a passthrough hal and the
latter is a binderized service.

Bug: 35327976
Test: hidl_test, lshal, youtube/camera works
Change-Id: I7a2e72dcd3721d2689eb7ef95f5b140ecc1c446f
/frameworks/av/media/libstagefright/ACodec.cpp
42a5de6da0084fd430c70d58671559f71c738cf0 17-Feb-2017 Hangyu Kuang <hkuang@google.com> Merge "media: Support accurate pause/resume/stop in GraphicBufferSource."
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/ACodec.cpp
9c47c97ecac581d66b6febafd156618247e86742 08-Feb-2017 Pawin Vongmasa <pawin@google.com> Enable full migration of OMX to Treble.

1. Toggling between Treble and non-Treble OMX will now be controlled by
two properties: "persist.hal.binderization" and
"persist.media.treble_omx". (Before this CL, this was controlled by
"debug.treble_omx".)
- If persist.media.treble_omx is not set, it will assume a default value
of -1.
- If persist.media.treble_omx is -1, persist.hal.binderization will be
used to determine whether OMX will be created as a Treble or non-Treble
service.
- If persist.media.treble_omx is 1, OMX will be created as a Treble
service.
- If persist.media.treble_omx has any other value, OMX will be created
as a non-Treble service.
- persist.media.treble_omx can be changed without rebooting, but it will
only take effect after media.codec and mediaserver processes are killed.

2. Remove all dependencies on non-Treble service. This was not done for
MediaCodec, MediaPlayerService::Client, MediaRecorderClient, stagefright
command, and omx_tests command. OMXClient and media.codec process will
now pick the right version of OMX based on properties mentioned above.
Before this CL, media.codec would always present the non-Treble version
of OMX regardless of the flag.

3. Provide workarounds for some HIDL issues.
- A sequence of nested binder and hwbinder calls require many threads to
handle. (b/35283480) The workaround is to increase the number of threads
in the thread pool of media.codec process.
- android.hidl.base@1.0::IBase::unlinkToDeath takes a strong pointer
instead of a weak pointer. (b/35233970) This causes an infinite
recursion in the destructor of ServiceDeathNotifier in
MediaPlayerService::Client and MediaRecorderClient. The workaround moves
calls to unlinkToDeath() outside of the destructor.

Test: Recorded and played videos with Camera app. Ran stagefright and
omx_tests commands.
Bug: 31399200

Change-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a
/frameworks/av/media/libstagefright/ACodec.cpp
8a21c0191f974a0b9cbd5818052e2655e0aaa306 26-Dec-2016 Pawin Vongmasa <pawin@google.com> Modify ACodec to allow using Treble.

ACodec will connect to the Treble version of Omx if the property
"debug.treble_omx" is set to true ("1", "y", "yes", "true" or "on").

Also, fix some bugs found so far.

Test: Compiles
Bug: 31399200
Change-Id: I52b27b5f99bc1d6797d3b83b8be794ed2de9956a
/frameworks/av/media/libstagefright/ACodec.cpp
49b2b4d30a0f74314630a5ea5f0e59697d90443e 12-Jan-2017 Chong Zhang <chz@google.com> stagefright: add rangeOffset to OMXBuffer

bug: 31399200
bug: 22804304

Change-Id: I0ac9a7ee684067d40a26135ab26ebd3de3a2f06d
/frameworks/av/media/libstagefright/ACodec.cpp
dff26e5f53b248fd8cc6605850240c7e7c5438dc 01-Dec-2016 Wonsik Kim <wonsik@google.com> Revert "Revert "MediaCodec refactoring part 2-b: introduce BufferChannel""

- MediaCodec stops tracking the whole buffer array from OMX.
- BufferChannel handles array management instead, if necessary.
- MediaCodec delegates secure buffer management to BufferChannel.
- Remove sf2.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Test: Mirror the screen via Cast.
Change-Id: I1ca705687956ad972e31257853c54e29cbd7181a
/frameworks/av/media/libstagefright/ACodec.cpp
186673877157260cbfb05c5be51e9ac6e6a4d8bc 06-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "MediaCodec refactoring part 2-b: introduce BufferChannel""
fad01bc45bd47b8f12c89857fee20b7e37310125 06-Jan-2017 Wonsik Kim <wonsik@google.com> Revert "MediaCodec refactoring part 2-b: introduce BufferChannel"

Bug: 34059849

This reverts commit 11b72100e02e02b6cd8a6b14cd2068c96dc49b7d.

Change-Id: I0ab93a617477861a4e6f43152e6b03d5c88783ab
/frameworks/av/media/libstagefright/ACodec.cpp
9b46a8f9ebcca3b86662e7ea998a2afea0153478 07-Dec-2016 Wonsik Kim <wonsik@google.com> Merge "MediaCodec refactoring part 2-b: introduce BufferChannel"
1b35986c5045a97dbe852ab93046ab29bcb6a2de 06-Dec-2016 Chong Zhang <chz@google.com> stagefright: don't update meta for the same buffer

Even in dynamic ANW buffer mode, if the graphic buffer
is not changing, send sPreset instead of the same graphic
buffer, so that OMX server side doesn't update the meta.

In theory it should make no difference, however when the
same buffer is parcelled again, a new handle could be
created on server side, and some decoder doesn't recognize
the handle even if it's the same buffer.

bug: 33186735
Change-Id: Iff9e2958b90778ac37f93e74cb9cec1b89a9b5b8
/frameworks/av/media/libstagefright/ACodec.cpp
11b72100e02e02b6cd8a6b14cd2068c96dc49b7d 01-Dec-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 2-b: introduce BufferChannel

- MediaCodec stops tracking the whole buffer array from OMX.
- BufferChannel handles array management instead, if necessary.
- MediaCodec delegates secure buffer management to BufferChannel.
- Remove sf2.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Test: Mirror the screen via Cast.
Change-Id: Idc9fdee42ea0cdd3b5f15ba5c51647c3e16504a1
/frameworks/av/media/libstagefright/ACodec.cpp
d71f16268227c15a0ac2043e15900db5df2c417d 29-Nov-2016 Wonsik Kim <wonsik@google.com> Merge "MediaCodec refactoring part 2-a: introduce callback"
76d73bce9a63b795c7b8edbeab861239ab2eed0f 22-Nov-2016 Wonsik Kim <wonsik@google.com> stagefright: explicitly mark discarded buffers

Return buffers always, but mark discarded buffers explicitly.

Bug: 33059528
Test: (manual) open a website with a looping video and see that it works.
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: Icbe12d09b5721747437592e11def2302f4c8bf79
/frameworks/av/media/libstagefright/ACodec.cpp
79054b1f53b448511f1edb6e0dcab1d7b6f39964 14-Nov-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 2-a: introduce callback

CodecBase instances do not post reply messages back to MediaCodec
explicitly --- Callback does the job instead.

Bug: 32133435
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: Play an encrypted content in Play Movies
Change-Id: I210993a3bbc306f970b8e9395a91e8697cfa832e
/frameworks/av/media/libstagefright/ACodec.cpp
0736a5eeb6a5f4139352ea033c0628cfa85b6b42 18-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: fix potential codec leaks in async stop/reset"
349b8b4c47817a565ded94ff351caf48782f1252 18-Nov-2016 Chong Zhang <chz@google.com> stagefright: fix potential codec leaks in async stop/reset

Currently if stop is followed by a reset from another thread,
we unblock the stop first (to avoid ANR) without waiting for
kWhatShutdownCompleted, and proceed with the reset request.
But this could cause release to return too early when the
kWhatShutdownCompleted for the stop is received. When this
happens, the reset() will unregister ACodec's handlers before
the real shutdown with deallocation is processed, causing
a codec node instance to be leaked.

To solve this problem, separate kWhatShutdownCompleted into
two messages kWhatStopCompleted and kWhatReleaseCompleted.
Release should only return upon kWhatReleaseCompleted.

Also initializing the fence fd in the metadata buffer (even
though it's not used) to avoid warning in freeBuffer.

bug: 32750454
bug: 32971559

Change-Id: If218c853955729a2a2f2e8356908115a79c442e3
/frameworks/av/media/libstagefright/ACodec.cpp
cd43370e46a619014fdf929dab0bbbba3fdf44b4 17-Nov-2016 Chong Zhang <chz@google.com> stagefright: fix sw renderer fallback when dynamic ANW mode fails

bug: 32944784
Change-Id: I5c2c3564b733b5b5498831a884f4b93489a34547
/frameworks/av/media/libstagefright/ACodec.cpp
4c1d94395a64f4c3acd8f9e0d378a778e438221d 14-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "IOMX: add API for setPortMode"
d02c08671d666e12a94bcadd943787a9ab2ceea8 13-Oct-2016 Chong Zhang <chz@google.com> IOMX: add API for setPortMode

- Add setPortMode to centralize port mode configuration

- Remove storeMetaDataInBuffers and enableNativeBuffers. These are
no longer exposed to the client. Metadata mode and native/secure
buffer mode will be enabled by OMX as needed by the port mode.

- Move handling of legacy adpative experiment (legacy metadata mode)
to OMX side. Legacy mode will now appear the same as non-metadata
mode to client.

bug: 31399200

Change-Id: Iaf33bd7c30fab4acbc19e9fb8c19e322f9b4a0a0
/frameworks/av/media/libstagefright/ACodec.cpp
ad60a0f6cd9012507f8086fe741236d12d280ef3 10-Nov-2016 Wonsik Kim <wonsik@google.com> stagefright: reuse buffers instead of cloning

In buffer array mode, the buffer reference is kept in clients of
MediaCodec, so allocating new buffer for new input/output does not
work in that case.

Bug: 32577275
Bug: 32579231
Test: use screenrecord and investigate the output file.
Test: cts-tradefed run cts-dev -m CtsMediaTestCases -t android.media.cts.EncodeDecodeTest
Change-Id: I26d89f6b5735094062b8a2027bcab4754576d574
/frameworks/av/media/libstagefright/ACodec.cpp
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/ACodec.cpp
fd44d8e2f2d37184f7add67125657f3fbfb5a085 20-Oct-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 1-c: buffer ownership

- Buffers are (roughly) owned by themselves.
- As a corollary, remove output format change related events
and replace by inspecting formats associated with each buffers.

Bug: 32133435
Test: gts-tradefed run gts -m GtsExoPlayerTestCases
Test: (manual) Run Play Movies app to play a secure content.
Change-Id: I6b57da61c2d71acd0d5be4281de823ba1c95b72f
/frameworks/av/media/libstagefright/ACodec.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/ACodec.cpp
7b01847d0e7211989e8b452976258356afcd45d4 14-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MediaCodec refactoring part 1-b: secure buffers"
4811923e80a8abefa278307ebf8cc9b0294ba67f 13-Oct-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 1-b: secure buffers

- Define SecureBuffer to encapsulate secure buffers containing
decrypted data.
- ACodec and MediaCodec use SecureBuffer to communicate between
themselves.

Bug: 32133435
Test: Play an encrypted content in Play Movies
Change-Id: Ic70f7f78aad15bd91ab8ccd31c340bc7964ab1b3
/frameworks/av/media/libstagefright/ACodec.cpp
ecc97eb44a0675974fcf43b0c68edaaa539d2996 13-Oct-2016 Chong Zhang <chz@google.com> IOMX: do not allocate if output port is in metadata mode

We used to always use useBuffer() for output meta. If we let
the component allocate, some components (eg. secure decoder)
could give us a buffer that we can't update.

bug: 32136559
Change-Id: I1eefe5cbde2d0b1944ff3e72e31663693f6c1fdb
/frameworks/av/media/libstagefright/ACodec.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/ACodec.cpp
21b46588d022d0c22d7c7c08e919d7a9c5cd76e3 04-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove allocateBufferWithBackup

Only keep useBuffer. Pass in quirks requirement for now, once
we have access to MediaCodecList XML info in OMX, we can remove
the quirks from IOMX.

Also remove a few unused variables on BufferMeta.

bug: 31399200
Change-Id: I93bef964ce034d4aeb1f5d13a75f130108e4e648
/frameworks/av/media/libstagefright/ACodec.cpp
1d2e9cfbe3f2db16ecafd2adafb4c60d7235a2ce 06-Oct-2016 Chong Zhang <chz@google.com> IOMX: remove nodeBinder from allocateNode

This is no longer needed, the IOMXNode is already a binder,
we can just link to that.

bug: 31399200

Change-Id: Ic5dd5330dab448ae126aaec694f71f22857b3169
/frameworks/av/media/libstagefright/ACodec.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/ACodec.cpp
7e34bf5af26f8752d4786d3098740cdf51e2438f 22-Aug-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 1-a: buffers become separate class

MediaCodecBuffer is meant to replace ABuffer and MediaBuffer in
communication between framework components. As the first step, replace
use of ABuffer in MediaCodec with MediaCodecBuffer, and adjust related
classes accordingly.

MediaCodec.getBuffer() and related APIs now returns MediaCodecBuffers;
thus change MediaCodec clients to use MediaCodecBuffer accordingly.

Test: manually tested for key use cases (Camera, YouTube and Play Movies)
Change-Id: Iba7ce131645e75ce5ddbf497fb793ab38b7f245b
/frameworks/av/media/libstagefright/ACodec.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/ACodec.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/ACodec.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/ACodec.cpp
005b44d09abcb89ad5da5cf1d10fbef5444e319c 22-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: don\\'t yet default to highest AVC profile am: 4c6fe6676e
am: 146de8a381

Change-Id: Ic1c81ae91bbd268b0843f5ec37053bfe6a14ce93
146de8a381ba3c84d68aaac9d242fd7649156a9e 22-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: don\'t yet default to highest AVC profile
am: 4c6fe6676e

Change-Id: I707f0a604ca35af389b3c6519a497fcaed8f3408
4c6fe6676e726c22ed54e3dbe51aae03e902049e 21-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: don't yet default to highest AVC profile

Bug: 30284097
Related-to-Bug: 28027692
Change-Id: I9c69576ad257a32747163af5d1c2a82b7f9ad8b4
/frameworks/av/media/libstagefright/ACodec.cpp
7c8d572e1a5c6646b336a423febb8ebd1d6c15e9 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: advertise final VPX temporal layering in output format am: 9bbbdd3cab
am: e3caed1db3

Change-Id: I090a25fc01224dc80e7a4c80fa293bf028e8bd87
e3caed1db3de38d1e60403101390392e77adf815 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: advertise final VPX temporal layering in output format
am: 9bbbdd3cab

Change-Id: I5f52ab2f083a266f515e2182058fb6bd58d63b7a
9bbbdd3cab5c6b93649cbf31ba3097218944b06a 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: advertise final VPX temporal layering in output format

Bug: 30150921
Change-Id: Ic5207c5ce602f5ed8da4cb54de3e3fe692e98492
/frameworks/av/media/libstagefright/ACodec.cpp
dcf42c4a561352626c2b0671f79c70aead2f097e 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \\"stagefright: support floating point i-frame-intervals\\" into nyc-mr1-dev am: 210c67fe66
am: bb88069079

Change-Id: I38052fb4b996c509a92fa05eb50258febe84ec40
bb88069079c3e406d4a72646fc9d65d2e802df90 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: support floating point i-frame-intervals\" into nyc-mr1-dev
am: 210c67fe66

Change-Id: Ie22063c391da1c84c9188207dccf8d2d62001102
210c67fe664fbe1b2aba4d3980912243b7ca99d3 15-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: support floating point i-frame-intervals" into nyc-mr1-dev
fb4c2f10b60c0fbd1f8940c9be746be89464af9e 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \\"stagefright: prefer B frames for high frame-rate recording\\" into nyc-mr1-dev am: 87cbfa8c5e
am: 78ef32963c

Change-Id: If7914f6b683ffb814fa39698c1309fab828f05ce
fef09e210a45302fbf6a2bd3608780c7c7653066 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \\"stagefright: enable B-frames for AVC encoder and MPEG4 writer\\" into nyc-mr1-dev am: db2d2066e6
am: 38667cc8c1

Change-Id: I56ca0431ac3aec8b1f53459cb03f1ab709c15d0c
78ef32963c91d4c2e8d4e1cb361987b0438fc7f3 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: prefer B frames for high frame-rate recording\" into nyc-mr1-dev
am: 87cbfa8c5e

Change-Id: I7648f002a8c6f8385abcac3b80f768cddc1b3722
38667cc8c1c46b66665e4a17d60e44e708c184b4 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: enable B-frames for AVC encoder and MPEG4 writer\" into nyc-mr1-dev
am: db2d2066e6

Change-Id: I29b9afbb4c2b98aeef10c769e0283269c7f5b74b
87cbfa8c5ecbe515c380d5592cef20c1fafe36b7 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: prefer B frames for high frame-rate recording" into nyc-mr1-dev
63a4d50f472ca67b3174ae51911091e44db6956e 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: support floating point i-frame-intervals

Bug: 30096321
Change-Id: I181db0e03a47de1599c606ce6996e1d16acecda7
/frameworks/av/media/libstagefright/ACodec.cpp
db2d2066e6e3f3ce728c2b17ed0923b02834519b 15-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "stagefright: enable B-frames for AVC encoder and MPEG4 writer" into nyc-mr1-dev
89cc6d8d3342dc9f9fad8b3825c647e61e018b0e 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \\"stagefright: correctly calculate and configure P, B and I-frame spacing\\" into nyc-mr1-dev am: b00a831ccc
am: fc33e4017e

Change-Id: I035bcac140004f1af5c14d2dae8506df2aeca3f0
fc33e4017e2adaeacb0c4deffc762c612d70f256 15-Jul-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: correctly calculate and configure P, B and I-frame spacing\" into nyc-mr1-dev
am: b00a831ccc

Change-Id: If5f97ea89f70be1c174f8d9fed1c2fb33ed10bde
f4b18f4872d353a1e114c890ec472608ff8f9eda 14-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: correctly calculate and configure P, B and I-frame spacing

- though OMX spec says otherwise, vendors' implementation of nBFrames
is # of B frames between I/P frames.
- nPFrames is # of P frames between I frames.
thus, I-frame interval (nKeyFrameInterval) is
(nPFrames + 1) * nBFrames + nPFrames + 1 =
nPFrames * nBFrames + nBFrames + nPFrames + 1

I P I : I-interval: 8, nPFrames 1, nBFrames 3
BBB BBB

- err on lower P and B-frames values as key-frame-interval is an upper limit.

Bug: 30096321
Change-Id: I1d0c2908007a1a283f36a7c19e85b95465236c7d
/frameworks/av/media/libstagefright/ACodec.cpp
826cbe4d07c709f647cdd29354434df20e355c9a 14-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: enable B-frames for AVC encoder and MPEG4 writer

If decoding time stamps are not available, synthesize a set of
non-negative, monotonic time stamps.

Bug: 28027692
Change-Id: Ifdbf53802baac59914d021440856d4c310ee8f6e
/frameworks/av/media/libstagefright/ACodec.cpp
e19f2956de379b9c9a852d50d83d0608ca42bfe9 15-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: prefer B frames for high frame-rate recording

Some codecs do not support B-frames with temporal layering.
- Prefer temporal layering for slow-motion and time lapse videos
(since B-frames are not as useful for time lapse, and layering is
needed for slow-motion)
- Prefer B-frames for HFR capture

Bug: 27596987
Change-Id: I12f530e9f624e2948e176b5548e0d9d65eed95d8
/frameworks/av/media/libstagefright/ACodec.cpp
665d431f02054dfbcae1875499d6456b80a069c7 14-Jul-2016 Lajos Molnar <lajos@google.com> Merge \\"stagefright: ACodec: Enable temporal layered encoding for AVC/HEVC\\" into nyc-mr1-dev am: caeb609354
am: 8d1631c1fc

Change-Id: I1d64569ebe285cc93e49ac6889a5796ae4a2e231
8d1631c1fcbced8c81db8a3f5d86877be7da888d 14-Jul-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: ACodec: Enable temporal layered encoding for AVC/HEVC\" into nyc-mr1-dev
am: caeb609354

Change-Id: I4da3b8ab4d0b9bd180f51bbb7071859dde7ed980
caeb609354c746fd4c5bc2669a42cd95bcabbbee 14-Jul-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: ACodec: Enable temporal layered encoding for AVC/HEVC" into nyc-mr1-dev
a54f2969ff320c55d107c9d1491686bbbb7e7d6e 14-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: enable android.generic temporal layering for vpx am: f1c70d7f54
am: a057d0393f

Change-Id: I185b8318366486e358ae47ed3ba918b9d0dcabe3
a057d0393fd5ed593f163c8235b070e9ad188594 14-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: enable android.generic temporal layering for vpx
am: f1c70d7f54

Change-Id: I01b63c0af8d38f0026b021c3980a4e578797901b
f1c70d7f5472e3f5680144c29c839108993996fd 13-Jul-2016 Lajos Molnar <lajos@google.com> stagefright: enable android.generic temporal layering for vpx

Bug: 27596987
Change-Id: I6fc104bb4f6dd3368ed8888e216cc2e0a796126f
/frameworks/av/media/libstagefright/ACodec.cpp
0f7442ddb82d5ceba2e0c081dc3d62996f1570a0 07-Apr-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: Enable temporal layered encoding for AVC/HEVC

Bug: 27596987
Change-Id: Ic81f305aaaa2da6b0084bf59d499fde2e4b43d54
/frameworks/av/media/libstagefright/ACodec.cpp
f9eb4d2ca8eee725a33618da104f843acd3b6ff5 13-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \\"media: Optimize thumbnail extraction.\\" into nyc-mr1-dev am: 88bd73d9ac
am: 5691e5400a

Change-Id: I8326ab8c0da3ea670f059ed251e794a696e93e23
5691e5400a9cf7aee4c76ded5db7eed53bfb9c8d 13-Jul-2016 Hangyu Kuang <hkuang@google.com> Merge \"media: Optimize thumbnail extraction.\" into nyc-mr1-dev
am: 88bd73d9ac

Change-Id: I775751f4ceec359cee8edce04d71482f0cfa6ae0
a6bfb5060824f01041f956c733fec141504c280b 09-Jul-2016 Hangyu Kuang <hkuang@google.com> media: Optimize thumbnail extraction.

When extracting thumbnail image from a video, try to allocate single buffer
in both input and output ports.

Bug:29197670
Change-Id: I7c0722e7fe6f1ecd5f0b8addedeeda8d3b03249f
/frameworks/av/media/libstagefright/ACodec.cpp
efcafd9117a923d8321d4395b08e69e01d33bb8c 29-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode am: 098446ae41 am: c58f76670d
am: 027a6a344f

Change-Id: I9a8cbeb9388c7e3fe6523fd06c2bed795806a457
c58f76670d68e57ff036cda3b4293a58b210a278 29-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode
am: 098446ae41

Change-Id: I09ea4d3c1a245656dedea581328e5b73d18f18cf
1ad5b240bfd49aa918092dbdc18c1a24c5e6c3a4 04-Mar-2016 Wonsik Kim <wonsik@google.com> stagefright: move several static methods out of ACodec

Bug: 24761407
Change-Id: Ica1d0286b1e800f5d4d0f120c043c0a556dab4c2
/frameworks/av/media/libstagefright/ACodec.cpp
098446ae4100dfd989c452bb67133559aa892cd3 28-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: reconnect to ANW on setup in non-output-meta mode

BufferQueue now needs reconnect to allow dequeuing all buffers from
a BufferQueue.
Use getConsumerName instead of connect failure to detect that we
are connecting to the same surface.

Bug: 29422927
Change-Id: I4fc4d1ec9fd452ec027cab60b06e4af88d53d830
/frameworks/av/media/libstagefright/ACodec.cpp
1d92e720753e2890495547629de57000f9677fe2 09-Jun-2016 Lajos Molnar <lajos@google.com> Merge \"stagefright: do not use default bitrates in MPEG4Writer\" into nyc-dev
am: eb6dbc646e

Change-Id: I4d0bab387bc2184dc2d510c1f8bb2e3ff4b8749f
96bdf620189622005e83b4f1421c4f25b7fa1729 09-Jun-2016 Lajos Molnar <lajos@google.com> stagefright: do not use default bitrates in MPEG4Writer

- this fails the muxer tests that verify that all metadata received
from the extractor was muxed properly.
- instead, propagate bitrate to encoder output formats, so muxer
will have this data during normal processing.

Bug: 29208170
Change-Id: If327d472e3607997840a8d601a453dbb7c625c95
/frameworks/av/media/libstagefright/ACodec.cpp
c79c77bccf09eb6ea12c76e8554ff0c9261908df 28-May-2016 Lajos Molnar <lajos@google.com> ACodec: track crop and data space for each output graphic buffer
am: fe73b95aae

* commit 'fe73b95aaef79ad312d9dfdb6c8873bd50c6c19e':
ACodec: track crop and data space for each output graphic buffer

Change-Id: I981a3aa4739e02ee2335f3a90a0c5f14c6c16581
fe73b95aaef79ad312d9dfdb6c8873bd50c6c19e 27-May-2016 Lajos Molnar <lajos@google.com> ACodec: track crop and data space for each output graphic buffer

- This prevents issues if buffers are rendered out of order, or
if output surface changes during use.
- Remember last crop and data space for native window to avoid
constantly setting them for each frame.

Bug: 28692500
Change-Id: Ie0d771c83007aad585d9db6c0c26fff8b9ed696e
/frameworks/av/media/libstagefright/ACodec.cpp
b1302149f69689b805362a116c76c33ecc211ab3 11-May-2016 Lajos Molnar <lajos@google.com> stagefright: properly pass metadata buffers into OMX codec
am: d34a8c4d9d

* commit 'd34a8c4d9d7b197a9f5eb0d324273a6cde7e50a6':
stagefright: properly pass metadata buffers into OMX codec

Change-Id: Ic5fe0737bf6f12099b414cba4de671540e68aabc
d34a8c4d9d7b197a9f5eb0d324273a6cde7e50a6 09-May-2016 Lajos Molnar <lajos@google.com> stagefright: properly pass metadata buffers into OMX codec

Note that android._store-metadata-in-buffers-output remains a
boolean flag.

Bug: 22775369
Change-Id: I77c1ae502634488be15cedff7a6a3b59cf7cd03f
/frameworks/av/media/libstagefright/ACodec.cpp
10dac29441a24144029e8a194d07eb17db40b7e5 10-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: IOMX: pass native handle in sp<NativeHandle>" into nyc-dev
am: 038ccfd6ff

* commit '038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133':
stagefright: IOMX: pass native handle in sp<NativeHandle>

Change-Id: I31d255bea906aca9ae23f5f4678d6557bc84052b
038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133 10-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: IOMX: pass native handle in sp<NativeHandle>" into nyc-dev
1b40f2804a27b695e9e53fb1699b64cb0dd387f9 10-May-2016 Lajos Molnar <lajos@google.com> stagefright: IOMX: pass native handle in sp<NativeHandle>

This clarifies ownership of the native handle

Bug: 28644266
Bug: 27856976
Change-Id: I7a617513d7ac93dd58d74af9469663418735aaf3
/frameworks/av/media/libstagefright/ACodec.cpp
b7e75437b160fd8fe239f62f690af6ff0c2a7df6 10-May-2016 Lajos Molnar <lajos@google.com> Merge changes I58b03acd,I7d7eb086 into nyc-dev
am: 0d0a8b48d2

* commit '0d0a8b48d267a1980cfd9507b51d173756835f34':
stagefright: untangle metadata-mode handling
stagefright: add a way to update native handle in OMX buffers

Change-Id: I857573724b0a4f7b38832777b12caa8666ac210b
3e328782f1e1061d08ea0c45b855cc418a2d9ea6 09-May-2016 Lajos Molnar <lajos@google.com> stagefright: untangle metadata-mode handling

- specify requested metadata mode from producers to OMX
- (pass requested metadata in IOMX::storeMetadataInBuffers)
- use correct logic for native handle source
- use native handle source for encoded meta buffers

Bug: 22775369
Change-Id: I58b03acd3e9a5367d5010d7f87b7af5cae23362c
/frameworks/av/media/libstagefright/ACodec.cpp
4ae323feec80305ec7616ed021e01928c86e7653 06-May-2016 Hangyu Kuang <hkuang@google.com> Merge "media: Drop CSD buffer if VP9 decoder does not advertise profiles." into nyc-dev
am: 260ae76207

* commit '260ae76207ab15948113418e7ea05f1ca2dae71b':
media: Drop CSD buffer if VP9 decoder does not advertise profiles.

Change-Id: I93cec7f910a72e64e52baed6e75194a24e137f26
f88dc1865408506f69c858818ea05f5248ff4462 03-May-2016 Hangyu Kuang <hkuang@google.com> media: Drop CSD buffer if VP9 decoder does not advertise profiles.

Bug:28380207
Change-Id: I055a803ce07e7169d5de8da7143e9601352e103b
/frameworks/av/media/libstagefright/ACodec.cpp
47734c9509ecb472c2844cae46e2d916b9358321 02-May-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp

Change-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a
090ef604f81447eab4aa0a5b45d6307482573560 27-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b
/frameworks/av/media/libstagefright/ACodec.cpp
ba890f84a37e49e5876fc446b73d7ec01d70578b 26-Apr-2016 Hangyu Kuang <hkuang@google.com> Merge "Stagefright: Add HDRStaticInfo support for encoder." into nyc-dev
am: 1302f9d

* commit '1302f9ddd27c89f73cc7790d518f8fc88d89560c':
Stagefright: Add HDRStaticInfo support for encoder.

Change-Id: I342b60a212d3c1ffb757d97179a5c12b0a53a4a4
84d7e874983ee0d66db328c454fa603374d4635f 25-Apr-2016 Marco Nelissen <marcone@google.com> Fix build

Change-Id: I2d95eb0ce701e3998366f675c86647e1cb3f343c
/frameworks/av/media/libstagefright/ACodec.cpp
20cb827ac527bb3f62e6009470ad0d595240807e 25-Apr-2016 Marco Nelissen <marcone@google.com> resolve merge conflicts of 89c03a3 to nyc-dev-plus-aosp

Change-Id: Iadc9712436524303be184c60a622ef79f0efb3e7
b6e9b8919c9ba25afc0f7f55ee3933f5d9f24dc8 25-Apr-2016 Marco Nelissen <marcone@google.com> Fix gapless SBR

Padding and delay in the file are expressed in terms of the base
sample rate, not in terms of the (doubled) SBR rate.

Change-Id: I3b59ec6281889d24a888c6a079731b05a120807f
/frameworks/av/media/libstagefright/ACodec.cpp
5e2f5c10dcedbddd0ea0255f049468760aa09048 08-Apr-2016 Hangyu Kuang <hkuang@google.com> Stagefright: Add HDRStaticInfo support for encoder.

Bug:25684127
Change-Id: I6bc74cf4915d1e42432f8da767bb84e3e8f2153f
/frameworks/av/media/libstagefright/ACodec.cpp
d77a954c1e6c3524ee2b61cba639e24b6d3320f7 08-Apr-2016 Hangyu Kuang <hkuang@google.com> Merge "Stagefright: Add HDRStaticInfo support for decoder." into nyc-dev
db318d40b90a456311b3920c605e33b763ca79f9 06-Apr-2016 Hangyu Kuang <hkuang@google.com> Stagefright: Add HDRStaticInfo support for decoder.

Bug:25684127
Change-Id: Ic11190c4622bc0db4ef30958879829d09dd628a7
/frameworks/av/media/libstagefright/ACodec.cpp
598c14420eefb2df4b50d9dd55bbf99bbc35e95e 06-Apr-2016 Pawin Vongmasa <pawin@google.com> ACodec.cpp: Removed a null pointer dereference triggered in an
ALOGV statement.

Note: mGraphicBuffer is expected to be NULL on the modified
line.

Bug: 27977709
Change-Id: I26c502ee1d0fb47e06cce1c042fb55de11c92b89
/frameworks/av/media/libstagefright/ACodec.cpp
e98883f809d3eb7502f29d977a68179b3998e0d3 30-Mar-2016 Hangyu Kuang <hkuang@google.com> Remove AVC Base Profile restriction in ACodec encoder setup.

Use Baseline profile for AVC by default if profile and level are not defined.

Bug:27597166
Change-Id: Ic30c62ffc9740f79f9d602348fe98186cd6377f3
/frameworks/av/media/libstagefright/ACodec.cpp
1734c7d01c1567568ced29398b23abd601fd44cb 23-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: detect output format changes without event

Bug: 27688967
Change-Id: I538560e61928903160333866886dbc763503546f
/frameworks/av/media/libstagefright/ACodec.cpp
3e03f09c45f1442b14cae964de6dad4e7928c15e 23-Mar-2016 Hangyu Kuang <hkuang@google.com> Merge "Revert "stagefright: Remove AVC Base Profile restriction in ACodec encoder setup."" into nyc-dev
8eadd7737f422b0477bbacbb2663e3ef42c9fe51 23-Mar-2016 Hangyu Kuang <hkuang@google.com> Revert "stagefright: Remove AVC Base Profile restriction in ACodec encoder setup."

This reverts commit 5207ffe7a35148a1e4ea188cf2224fb230a92a0e.

Bug: 27664349
Related-to-bug: 27597166
Change-Id: Ia14a13df5b6cef2a69a2812ef5ea634189357721
/frameworks/av/media/libstagefright/ACodec.cpp
5048de32f603c00926d61b928616e679ce88d693 23-Mar-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: ACodec: read output port format on first frame" into nyc-dev
697aedf61d6180e72102068a969383018eedfa1e 23-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: read output port format on first frame

We used to do this regardless of whether we received a
PortSettingsChanged event, and some codecs may have relied on this

TODO: add a big warning if format actually changed

Bug: 27688967
Change-Id: Ia29514a572950d80cf0a02004e01095043715dcd
/frameworks/av/media/libstagefright/ACodec.cpp
5b4401b28990107bb797dc0d5f3904cf27417e98 18-Mar-2016 Lajos Molnar <lajos@google.com> ACodec: enable support for non-16bit PCM data

Bug: 27172163
Change-Id: Ia5c824f64a6f26b45da9969eb7a85e09abbd5800
/frameworks/av/media/libstagefright/ACodec.cpp
78bd91b15ee8ea5aa2ab5a8cad7e892cb2d01c1b 26-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: set pcm-encoding for raw audio tracks

Bug: 27172163
Change-Id: I4db7ace4e8cbf01939dedefbb1c54730e393530f
/frameworks/av/media/libstagefright/ACodec.cpp
28edbba6aa6c1a9bbea76da2f5cc3cd73af8eb4c 17-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: account for alignment in MemoryDealer

Bug: 27722308
Change-Id: I4e4f08db36e8311d71374e7de096480047bbb6cf
/frameworks/av/media/libstagefright/ACodec.cpp
dabb051cf03b5ccc994c769a1cd23f9e6c378dee 10-Mar-2016 Marco Nelissen <marcone@google.com> Fix initialization of AAC presentation struct

Otherwise the new size checks trip on this.

Bug: 27207275
Change-Id: I1f8f01097e3a88ff041b69279a6121be842f1766
(cherry picked from commit 3e5d6d1b67a542d6e066b1e67857ca20dd7872b7)
/frameworks/av/media/libstagefright/ACodec.cpp
c63f91525c793e8bb06ce805d6161965e85571d2 14-Mar-2016 Hangyu Kuang <hkuang@google.com> Merge "stagefright: Remove AVC Base Profile restriction in ACodec encoder setup." into nyc-dev
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/ACodec.cpp
5207ffe7a35148a1e4ea188cf2224fb230a92a0e 10-Mar-2016 Hangyu Kuang <hkuang@google.com> stagefright: Remove AVC Base Profile restriction in ACodec encoder setup.

Also add encoder config for main and high profile.

Bug:27597166
Change-Id: I8d55e1b56a007061179a01c7313cfd9c60e1bd1c
/frameworks/av/media/libstagefright/ACodec.cpp
d5ef65ea897a7c0e3704000e33975f357bfc1c56 11-Mar-2016 Lajos Molnar <lajos@google.com> Merge "ACodec: move getPortFormat closer to PortSettingsChanged event" into nyc-dev
b0a4b9e917bd26bf366fb20c48315f51285c18f9 08-Mar-2016 Lajos Molnar <lajos@google.com> ACodec: move getPortFormat closer to PortSettingsChanged event

Per OMX spec, we should read the new format even before disabling
the port.

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

Bug: 25684127
Change-Id: Ibe746d7d077f32b0f2ecfb8494f415a6bf0bd673
/frameworks/av/media/libstagefright/ACodec.cpp
8338519ba2d8d731072c4edf7b9953787ce834cf 26-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: pass color aspects into codecs

Bug: 25975353
Change-Id: Ie2cdb845769f5ec3561a099f96e8f4dd406299ef
/frameworks/av/media/libstagefright/ACodec.cpp
73dd808754c641fe798273d356ee38368715fa7b 25-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: use MediaImage2

Bug: 25684127
Change-Id: I2f8b672a191ee4e60c9364e826cae34089ef5f9c
/frameworks/av/media/libstagefright/ACodec.cpp
23858874bbce68fb5ac83250087fa7788c97dd12 17-Feb-2016 Marco Nelissen <marcone@google.com> Move (some) codecs into the codec process

Encoders and secure decoders still run in the mediaserver, while
all other codecs run in a separate codec process.

Bug: 22775369

Change-Id: Ie2ac87d53edbcf7c8f46a68a15857c9940f6d00d
/frameworks/av/media/libstagefright/ACodec.cpp
a63141af8f036bda0b8f7800107ca8a0e0623135 12-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: enable native handles for secure buffers

- rename IOMX::allocateBuffer to allocateSecureBuffer as ACodec
only uses allocateBuffer for secure compressed buffers.
- add argument to return native_handle if component supports it.
- rename IOMX::enableGraphicBuffers to enableNativeBuffers.
- add argument to select graphic vs. native handle mode
- request native handles for secure input buffers, but allow
fallback

Bug: 26782004
Change-Id: Ide9d07f54d2e7e3e6a82dbca011f4db9a5630950
/frameworks/av/media/libstagefright/ACodec.cpp
66092fdb46bf93c9247e86ed7788f764f670a01c 10-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: remove infinite loops

Bug: 27114487
Change-Id: Icc6d023f8c990235031cde0c2daed41cc7d75c88
/frameworks/av/media/libstagefright/ACodec.cpp
e4abb2a991ad36976a6ca75e9c738d14069572e2 10-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: query color format support on specific port

This field was uninitialized prior.
Some components did not validate this field resulting in an infinite
query.

Bug: 27114487
Change-Id: Ic262482a17e675c4e5f198661fad96269cf1febc
/frameworks/av/media/libstagefright/ACodec.cpp
2a2b768e903fb69d9d83963834af571e8dd13276 13-Feb-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: don't use allocateBuffer for encoder metadata mode" into nyc-dev
217fab8d2831b87477a92c8b814ee4795149ecf7 12-Feb-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: ACodec: query color format support on specific port" into nyc-dev
e33d922fd86699c664a15f09e6d8b2e422736a40 12-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: don't use allocateBuffer for encoder metadata mode

encoder metadata mode does not need protected buffers, especially,
since we read the contents of the metadata in ACodec.

Change-Id: I5cf8198228d26e38a8225285dabdb6dc39fbbb8e
Related-to-Bug: 8968123
Bug: 26782004
/frameworks/av/media/libstagefright/ACodec.cpp
36e4e1592bb07e1fdf8d4324f65a66ba332d75f2 10-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: query color format support on specific port

This field got uninitialized again due to a wrong merge conflict resolution.

Bug: 27114487
Change-Id: Ie993d3e87e921963e1d76d782b42796069771852
/frameworks/av/media/libstagefright/ACodec.cpp
7c36a6bc3f3fe4fe6d1d36b92c3a203de654b012 11-Feb-2016 Hangyu Kuang <hkuang@google.com> stagefright: Support changing refresh mode during runtime in SoftAVC encoder.

Bug: 26587630
Change-Id: I595bdefb84d7da583361da12f793be15c51f4cdf
/frameworks/av/media/libstagefright/ACodec.cpp
6e6d429f8001e831b23c3505824e016a681fcf90 10-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: remove infinite loops

Bug: 27114487
Change-Id: Icc6d023f8c990235031cde0c2daed41cc7d75c88
/frameworks/av/media/libstagefright/ACodec.cpp
3aaa699a46edb4f47d0cd5a11d57eba93493bd90 10-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: ACodec: query color format support on specific port

This field was uninitialized prior.
Some components did not validate this field resulting in an infinite
query.

Bug: 27114487
Change-Id: Ic262482a17e675c4e5f198661fad96269cf1febc
/frameworks/av/media/libstagefright/ACodec.cpp
65dd3eeef54cf1d1c4edf2f966d3dabb508d3cb9 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: Move CodecCapabilities querying into MediaCodec

1. We cannot assume that codecs are OMX based
2. We still have a strange dependency where MediaCodec's
create methods depend on MediaCodecList, which depends on
MediaCodec's static method. This is to be untangled later.

Bug: 17108024
Change-Id: Idd619ee959627539a65f5f7da586108883dcb5f2
/frameworks/av/media/libstagefright/ACodec.cpp
f035bc642f2895e142caa13cb3e72af85f011657 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: create findCodec methods in MediaCodecList

This is to delete them from OMXCodec later.
Use ACodec-specific quirks.

Bug: 17108024
Change-Id: I670b104cff5ef37f155a9843f68d291aa943d1c1
/frameworks/av/media/libstagefright/ACodec.cpp
f39989a3371bcb11458941bcc49d545225b55c82 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: move getOMXChannelMapping to ACodec

Bug: 17108024
Change-Id: I9b9f3adaf5d3c2aa41e9998cfe719b995e72b608
/frameworks/av/media/libstagefright/ACodec.cpp
5b05e49e6550cb2abf1a88272d6cd460b8957176 05-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: Move CodecCapabilities querying into MediaCodec

1. We cannot assume that codecs are OMX based
2. We still have a strange dependency where MediaCodec's
create methods depend on MediaCodecList, which depends on
MediaCodec's static method. This is to be untangled later.

Bug: 17108024
Change-Id: Idd619ee959627539a65f5f7da586108883dcb5f2
/frameworks/av/media/libstagefright/ACodec.cpp
664041339740874917944c850b113656236edda6 06-Feb-2016 Hangyu Kuang <hkuang@google.com> Merge "stagefright: Support intra refresh in SoftAVC video encoder."
870aff9bd2442c8877f5d6b12c73032b5f24535a 28-Jan-2016 Hangyu Kuang <hkuang@google.com> stagefright: Support intra refresh in SoftAVC video encoder.

Bug: 26587630

Change-Id: Ia04dab11978fd8cc5d68bf721900775e13987a9a
/frameworks/av/media/libstagefright/ACodec.cpp
b60521e269e5aeca773853dfeb150e9a512c7334 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: create findCodec methods in MediaCodecList

This is to delete them from OMXCodec later.
Use ACodec-specific quirks.

Bug: 17108024
Change-Id: I670b104cff5ef37f155a9843f68d291aa943d1c1
/frameworks/av/media/libstagefright/ACodec.cpp
a485208faef579d3d20ee56f29e81d9a5e32e14d 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: move getOMXChannelMapping to ACodec

Bug: 17108024
Change-Id: I9b9f3adaf5d3c2aa41e9998cfe719b995e72b608
/frameworks/av/media/libstagefright/ACodec.cpp
0b6e47ad74f5e1671d54c8411d487b30780e2e2c 30-Jan-2016 Wei Jia <wjia@google.com> Merge "ACodec: free buffers when allocateBuffers failed."
c673de8067ad53f96b3fcd2b7b24b066303a32aa 30-Jan-2016 Wei Jia <wjia@google.com> ACodec: free buffers when allocateBuffers failed.

This fixes ashmem leakage.

Bug: 26797136
Change-Id: I17d61d50e67501ece6a3547eeb33d53279162e71
/frameworks/av/media/libstagefright/ACodec.cpp
37dfacdf3e66516bd4b0c7d08e1aad5869bf5825 29-Jan-2016 Dan Stoza <stoza@google.com> Merge "Add cast to make room for naming pixel_format_t" am: 6d51c0c1f2
am: bb3e2fcfb0

* commit 'bb3e2fcfb05adfbacbf71fbff4e06800d624eb55':
Add cast to make room for naming pixel_format_t
1e0745544cf6328ba5957748328651c3cfb5b6b6 27-Jan-2016 Wonsik Kim <wonsik@google.com> Merge "stagefright: add HEVC support to MediaRecorder"
9aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5e 07-Dec-2015 Wonsik Kim <wonsik@google.com> stagefright: add HEVC support to MediaRecorder

Bug: 22879917
Change-Id: I6c97b051467de44c506a8ff021321e5953a63fc3
/frameworks/av/media/libstagefright/ACodec.cpp
64cb1ba9caf15ef43eb8063132d5098929b983e9 21-Jan-2016 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: Add MEDIA_MIMETYPE_VIDEO_DOLBY_VISION."
2ad160ba086f0504cf56dcc24619a0cee2546a23 17-Dec-2015 Dan Stoza <stoza@google.com> Add cast to make room for naming pixel_format_t

Fixes a compiler warning/error about comparing two different enum
types so that the HAL_PIXEL_FORMAT_* enum in system/graphics.h can be
named.

Change-Id: I7acb5f67c66e42a4e556ff53c1e59cee40c7d585
/frameworks/av/media/libstagefright/ACodec.cpp
a29c2b203d8bea8c21564765da5c9d7087448340 10-Dec-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: Add MEDIA_MIMETYPE_VIDEO_DOLBY_VISION.

Bug: 25684127
Change-Id: I123390e358ea6830708382456b7d92f0f32b3cb1
/frameworks/av/media/libstagefright/ACodec.cpp
86b997dcf1101cdd259460fb4f82204200a9a993 23-Dec-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: keep reference to the codec memory on reclaim

Bug: 26309822
Change-Id: I98b48ad38cf0834c08e004027cb2b5c187c198a0
/frameworks/av/media/libstagefright/ACodec.cpp
13b0a36a5dd1a92e2a49536e0668b81b9fd8e589 21-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Move overflow checks into SkipCutBuffer" am: 8be95ca80a am: 1f410f44a1
am: c396adf7c4

* commit 'c396adf7c434abb687e1dbce63fa084b6b6ec05e':
Move overflow checks into SkipCutBuffer
f43f2cf4ae771069a86ffeaf732b53eb90191219 20-Oct-2015 Marco Nelissen <marcone@google.com> am a1563026: am 5642a2e0: Merge "Revert "Move overflow checks into SkipCutBuffer""
am: 5700f3eb20

* commit '5700f3eb20ac31fd1839e78364a60bb718e919cf':
Revert "Move overflow checks into SkipCutBuffer"
b1cf03160fa7e7bc6e5cf138db07a7e1ab2ecb26 17-Oct-2015 Marco Nelissen <marcone@google.com> Move overflow checks into SkipCutBuffer

Previously SkipCutBuffer would check its input parameters to ensure
they were sane, however since bogus values might be the result of
overflows, and overflow protection was recently turned on for
libstagefright, the compiler's overflow checks were performed before
SkipCutBuffer's, resulting in abort rather than just ignoring the
bogus values.
Moving the multiplication by framesize into SkipCutBuffer fixes this.

Change-Id: I1ad6744bb045a5212701bbf6ee44eecb5f318210
/frameworks/av/media/libstagefright/ACodec.cpp
e1054e74bb02ad4789bfce1e3a04f04825a572db 19-Oct-2015 Marco Nelissen <marcone@google.com> Revert "Move overflow checks into SkipCutBuffer"

This reverts commit 6867e1a1e25d4ec5344eae070f0fbc284bb92876.

Change-Id: I90d479dac014c72ffa7151a30e79e68d9ce967ac
/frameworks/av/media/libstagefright/ACodec.cpp
74ee3ba4177c705e08b9af3bb94551f7f87dc5b3 19-Oct-2015 Marco Nelissen <marcone@google.com> am c6308741: am 510f7aca: am afd238af: Merge "Move overflow checks into SkipCutBuffer"

* commit 'c63087411817addc29d61d33a6d06089278bdbb4':
Move overflow checks into SkipCutBuffer
6867e1a1e25d4ec5344eae070f0fbc284bb92876 17-Oct-2015 Marco Nelissen <marcone@google.com> Move overflow checks into SkipCutBuffer

Previously SkipCutBuffer would check its input parameters to ensure
they were sane, however since bogus values might be the result of
overflows, and overflow protection was recently turned on for
libstagefright, the compiler's overflow checks were performed before
SkipCutBuffer's, resulting in abort rather than just ignoring the
bogus values.
Moving the multiplication by framesize into SkipCutBuffer fixes this.

Change-Id: I82497a05af17c91a8d271882f7354fae6497382a
/frameworks/av/media/libstagefright/ACodec.cpp
ad69e73b660ac2ee2ac32f7c58632b6e223c9218 06-Oct-2015 Marco Nelissen <marcone@google.com> Fix benign overflows in ACodec

Change-Id: Ia699f8a9f5367a9b38aaa6bbbdb0097c3e2ab551
/frameworks/av/media/libstagefright/ACodec.cpp
34e63e9ffe6496d9180c825dc119c1fd1020ef8b 16-Sep-2015 Marco Nelissen <marcone@google.com> Validate resolution and stride

Now that integer overflow protection has been turned on, we need to validate
some values a little earlier.

Bug: 22885421
Change-Id: I5398f3961eaa74f0702511a748b99114840efade
/frameworks/av/media/libstagefright/ACodec.cpp
a89cfb6cab17700efa62665cda3bc4b87c6f1ad8 14-Aug-2015 Chong Zhang <chz@google.com> do not dequeue from native window after we hit fatal error

bug: 22845824
Change-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141
(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)
/frameworks/av/media/libstagefright/ACodec.cpp
346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a 14-Aug-2015 Chong Zhang <chz@google.com> do not dequeue from native window after we hit fatal error

bug: 22845824
Change-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141
/frameworks/av/media/libstagefright/ACodec.cpp
b3138e847bd53f99e1533d0d3ac7949e193d893a 05-Aug-2015 Wei Jia <wjia@google.com> am b275f875: am af7d7370: Merge "ACodec: send format change for video tunneled mode when omx has output crop change." into mnc-dev

* commit 'b275f87510c647d41993ef4d122ad4f99b215bab':
ACodec: send format change for video tunneled mode when omx has output crop change.
98a421bfffe6b3a1b762d11740e90787bdfeac08 05-Aug-2015 Wei Jia <wjia@google.com> ACodec: send format change for video tunneled mode when omx has output crop change.

Bug: 21906777
Change-Id: Id6674a76e8f2620dd24bac9210cf8885fbd384bb
/frameworks/av/media/libstagefright/ACodec.cpp
b92add32c22656dedfb82d26ccc168c43c92b8eb 31-Jul-2015 Chad Brubaker <cbrubaker@google.com> Fix benign unsigned integer overflows in loop conditions

This is causing an abort when running with unsigned integer overflow
detection, change the code to no longer do i-- when i = 0.

Change-Id: I0ab786cabb3a3d37fa24a3b8da0c35dd475ca273
/frameworks/av/media/libstagefright/ACodec.cpp
a42856b22c5f4e5a3da72e05999dbf2322a20d70 30-Jul-2015 Wei Jia <wjia@google.com> Merge "ACodec: notify resolution change earlier for tunneled mode." into mnc-dev
0fb43efc54ffd8d3133635ee3934d83c9987081b 30-Jul-2015 Wei Jia <wjia@google.com> ACodec: notify resolution change earlier for tunneled mode.

Bug: 21906777
Change-Id: I73c265ba8e76b8a9cddcfdec28e783e30c52acaf
/frameworks/av/media/libstagefright/ACodec.cpp
7525395f8b2bcfaf49d9bdb0bbb31b3b816994d7 30-Jul-2015 Bart Sears <bsears@google.com> Merge "Revert "ACodec: notify resolution change earlier for tunneled mode."" into mnc-dev
35a30f4214812c269584086aaa61de99f329d50f 30-Jul-2015 Bart Sears <bsears@google.com> Revert "ACodec: notify resolution change earlier for tunneled mode."

This reverts commit 7cb3aff491b7f01ded5f1efe90ce1125dd33023f.

Change-Id: I232d6af852ca78727caf4847855d762e08355506
/frameworks/av/media/libstagefright/ACodec.cpp
dbe49e4401642cf1ab64a6ac4c01032cb9f04d40 30-Jul-2015 Wei Jia <wjia@google.com> Merge "ACodec: notify resolution change earlier for tunneled mode." into mnc-dev
7cb3aff491b7f01ded5f1efe90ce1125dd33023f 29-Jul-2015 Wei Jia <wjia@google.com> ACodec: notify resolution change earlier for tunneled mode.

Bug: 21906777
Change-Id: If8c107d4d5267173a3f2de08ec9038d3451a21d3
/frameworks/av/media/libstagefright/ACodec.cpp
f42917964a76720932b23e67a05d034cd0cf346b 29-Jul-2015 Chong Zhang <chz@google.com> add GRALLOC_USAGE_HW_COMPOSER flag to video usage bits

bug: 22657091
Change-Id: I6a11bc15bba34035ef31c2f4d41196ece60d4ad9
/frameworks/av/media/libstagefright/ACodec.cpp
7c77f9ca649f321374118937bcdaca14a7e5684b 21-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: allow access of 32-bit pointers from 64-bit code

Bug: 22512621
Change-Id: I19f3fc92ef597029d4ae7e1cd9ca19f21661d2db
/frameworks/av/media/libstagefright/ACodec.cpp
8ffab2434a6f22da9eac2083993e1988767d5f5b 14-Jul-2015 Lajos Molnar <lajos@google.com> Merge "MediaCodec: remove legacy-setsurface experiment from setOutputSurface" into mnc-dev
e3635355e4cae5af7550b49888c6a0e3530b8aea 11-Jul-2015 Lajos Molnar <lajos@google.com> MediaCodec: consider usage bits when changing surface.

The new surface cannot add usage bits not already present (as
already existing buffers may become unusable for the surface).

Bug: 22414343
Change-Id: Id8169c79cd0994be134a16782dd04687e46ca1dd
/frameworks/av/media/libstagefright/ACodec.cpp
2235b4efd3b8149e09c666e2235530f3e6ed9c9a 11-Jul-2015 Lajos Molnar <lajos@google.com> MediaCodec: remove legacy-setsurface experiment from setOutputSurface

This belongs to NuPlayerDecoder.

Bug: 20894667
Change-Id: Iac52a51834e0a11ff206c6b03ea56ceda9c8ae61
/frameworks/av/media/libstagefright/ACodec.cpp
3175d2babfcdcb64f41309157e0436d00375ae4b 10-Jul-2015 Wei Jia <wjia@google.com> ACodec: call cancelBufferToNativeWindow() only when the buffer is owned by us.

Bug: 22316379
Change-Id: I0b63e507b97b5c93f06ed6b5e0b38075fccfbe8d
/frameworks/av/media/libstagefright/ACodec.cpp
fd866b3aa0d97375de08f8888b95669026c83361 07-Jul-2015 Wei Jia <wjia@google.com> SimpleSoftOMXComponent: change CHECK to error notification.

SoftAVCDec, SoftMPEG4: fix handling of zero-byte input buffer.

ACodec: do not send empty input buffer without EOS to the omx component.

Bug: 22199127
Change-Id: I0bbcf5778f969ba6e30d0db31770c4289e2b64a4
/frameworks/av/media/libstagefright/ACodec.cpp
dfad5454e0caf46f8732f1415d3b9a76f2a1242e 01-Jul-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: prevent allocating stale buffers for OMX decoders" into mnc-dev
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/ACodec.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/ACodec.cpp
5cecaa9430ef1d721968f1cd621c1c45c52190ce 22-Jun-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: allow state change while handling OMX message list" into mnc-dev
e421a32aa696cd8abbf8fdc97cc8f37dbf372cac 20-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: allow state change while handling OMX message list

Bug: 21724210
Bug: 21925253
Change-Id: Id1c055ce611d4632ae13fbc69d79b65caf657a2a
/frameworks/av/media/libstagefright/ACodec.cpp
604bb9ea6e9bec763ae231330066ecffa90a2786 20-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: handle removal of a tracked buffer in ACodec

Bug: 21815057
Change-Id: Idd1c71b4b0b68028020c3e10615936870ffd2dec
/frameworks/av/media/libstagefright/ACodec.cpp
938e2b34b16c3c1fd29c753eeb53ee95a2b2e2b3 14-Jun-2015 Nick Kralevich <nnk@google.com> don't trigger an integer underflow when decrementing.

When decrementing "i", eventually i will equal zero. When that
happens, i-- underflows. This causes a crash when code which uses
clang's -fsanitize=unsigned-integer-overflow is run.

Avoid trigging an unsigned integer underflow.

Change-Id: I61709cb01f56fdb36d631aa95579e8bd09cafd12
/frameworks/av/media/libstagefright/ACodec.cpp
c8edf5af010ac24a99b302a18e7b84e8b4b2b783 12-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: use media timestamp for default render timestamp

Bug: 21814308
Change-Id: I897bc4878c0b3a758d630e9c117b746ef7e55146
/frameworks/av/media/libstagefright/ACodec.cpp
984a54322f7c70bc75e862d91bdd975814872aff 10-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: fix issues with OMX message passing

- added destructor for MessageList so messages are freed
- check if notify has been initialized
- do not call onMessages if there are no messages

Bug: 21659665
Change-Id: Idb4eaa63dc2f8be8b282be79e6234f83a7669481
/frameworks/av/media/libstagefright/ACodec.cpp
5fb8b2987ab96ad65dc4b046616607ece16d6fb3 10-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: fix legacy support for CameraSource

- allocate big enough buffers for native metadata source even in
CameraSource mode
- don't check range when using native metadata mode (and converting
it to GrallocSource) as OMX buffer will be smaller than input
- log allocated vs. OMX reported sizes in OMXNodeInstance logs

Bug: 21708032
Change-Id: I7eeffc5116079e5b368f84980e8e7524260aaccf
/frameworks/av/media/libstagefright/ACodec.cpp
90fcf68fd29f3cb695bd53a830ad984cb7d430c0 04-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for output frame rendered callback

- Added FRAME_RENDERED event in OMX, used by tunneled video decoders
to signal rendered event timing
- Track buffers sent for rendering in ACodec and in SoftwareRenderer, and
determine when they have rendered
- Propagate render times to MediaCodec

Bug: 20503131
Change-Id: Idf0a8714d5368b237c2285dd39fa82db847c232f
/frameworks/av/media/libstagefright/ACodec.cpp
26a48f304a8754d655e554178ffb6d7ba4c5aac3 04-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: add support for batching OMX events

Bug: 20503131
Change-Id: I762c419ed1245f8b83fb1f6bf61e5557213ca07b
/frameworks/av/media/libstagefright/ACodec.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/ACodec.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/ACodec.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/ACodec.cpp
cc7cc67349b7a3f498882087aa42ffc05a2daf11 01-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: allow to overallocate OMX codec buffers

Specify allottedSize for useBuffer and allocateBufferWithBackup,
where OMX will see only the allottedSize, even though framework may
allocate and use a bigger buffer.

Bug: 13222807
Change-Id: Ibfa93f6c7b7c8ca0853ef17d4a0758e496eaf921
/frameworks/av/media/libstagefright/ACodec.cpp
df3e7e8912ad8fcc268852fd016723850aae7fd1 19-May-2015 Wei Jia <wjia@google.com> Merge "ACodec: fix error conversion." into mnc-dev
201d8d400eb037547f4f476a838475b13a446007 19-May-2015 Wei Jia <wjia@google.com> ACodec: fix error conversion.

When mime is not supported, need to signal error NAME_NOT_FOUND.

Bug: 19620911
Bug: 21207639
Change-Id: Ifd651858827c47a71b3087b914ad1e1e8606183c
/frameworks/av/media/libstagefright/ACodec.cpp
098f98364517415481dd6fdea678322553f51035 18-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "libstagefright: only log succeeded when return is OK." into mnc-dev
d36a023778256f0550e9a09e9993c066e8a3c7d7 18-May-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: only log succeeded when return is OK.

Bug: 19300493
Change-Id: I84a2caa3450d2dbccecbed5fd12de6e1b898d6d4
/frameworks/av/media/libstagefright/ACodec.cpp
5581770ee0dde70e2e9c50533be35e537a5800ef 15-May-2015 Chong Zhang <chz@google.com> stagefright: check IMemory::pointer() before using the allocation

bug: 19779574
Change-Id: I4ffe8c3fadc07da211f421e75ee83010b01d9cbb
/frameworks/av/media/libstagefright/ACodec.cpp
e6858d597ca98ce7e68e10545dfb604ed572d46a 14-May-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: prevent more crashes in ACodec" into mnc-dev
9997183bc4e7fa11d35eeb8d58d27aa32a4140d5 13-May-2015 Jinsuk Kim <jinsukkim@google.com> Merge "stagefright: Prevent crashes in ACodec - part 1" into mnc-dev
0806340688c937e7b78c2d89db3809274130df4e 13-May-2015 Lajos Molnar <lajos@google.com> stagefright: prevent more crashes in ACodec

Signal errors if OMX or native window reports an error

Bug: 20439174
Change-Id: Iebeb16f5a29c6819d39568a184b921799a234686
/frameworks/av/media/libstagefright/ACodec.cpp
55c3bd0cacfb6e1601cd03fdba814be544a34326 13-May-2015 Chong Zhang <chz@google.com> Merge "stagefright: rename usePersistentInputSurface to setInputSurface" into mnc-dev
777cf6d2788b12bbd68f620cda94a128462a208d 28-Apr-2015 Jinsuk Kim <jinsukkim@google.com> stagefright: Prevent crashes in ACodec - part 1

Replaced CHECK_ macros with return statements to avoid crashing.

Bug: 20439174
Change-Id: I124297674d5654b62382457e4fcc937d79b163ff
/frameworks/av/media/libstagefright/ACodec.cpp
8f469e18c307cb9dc0d16ed9225972aa8be4516f 13-May-2015 Chong Zhang <chz@google.com> stagefright: rename usePersistentInputSurface to setInputSurface

and clear persistent surface pointer when MediaRecorder is reset

bug: 21045118
bug: 21045402
Change-Id: Ifd0d6deeb969f2252123929541b30b518cecbf9a
/frameworks/av/media/libstagefright/ACodec.cpp
e66c5a42f01e2f445857b54a9d7bbb8ee062edeb 09-May-2015 Lajos Molnar <lajos@google.com> stagefright: fix legacy-adaptive experiment

Now that we are checking for unregistered buffers, we need to
preregister the buffers on allocation.

Bug: 20894716
Change-Id: Ie89663232c4c0d5bc2dfbd58c3347581c25fb041
/frameworks/av/media/libstagefright/ACodec.cpp
011778fd4cb9606b68bfea1ed483d73c04fc6dcd 06-May-2015 Lajos Molnar <lajos@google.com> stagefright: enable experiments

Bug: 20894716
Change-Id: I8c05b99dca8b3099a3a1b2b465f0f58bef786572
/frameworks/av/media/libstagefright/ACodec.cpp
dd248abd2c3e5e82b0049d40c7e9fb741fd4540c 07-May-2015 Lajos Molnar <lajos@google.com> stagefright: allow connecting to surfaces that attach buffers

Now that consumers can attach buffers to BufferQueues, we cannot
assert if an unknown buffer is dequeud, or if a buffer is dequeued
from a BufferQueue multiple times.

Also, when attaching to such surfaces, allocation must be enabled
as attach will lock for a free buffer slot.

Bug: 20885565
Change-Id: Ied466c5a848facf3149ad8bf0d18a0095da21e40
/frameworks/av/media/libstagefright/ACodec.cpp
484979b1ab25aa41f503bd846323ab93b46d37e5 06-May-2015 Lajos Molnar <lajos@google.com> ACodec: blank surface when switching to another surface

Bug: 20885565
Change-Id: I9b0d279724aab24e0a270770258716d115ef15bc
/frameworks/av/media/libstagefright/ACodec.cpp
b2d0b487efd40700199852c9a18b369b1651f15b 06-May-2015 Lajos Molnar <lajos@google.com> stagefright: move native window helpers into SurfaceUtils

Bug: 20885565
Change-Id: I2ed14be8a7cb08b1ed4ea65cb9286dc1384fe64a
/frameworks/av/media/libstagefright/ACodec.cpp
d02ac2c7286ca7190ddaf861095cd0b16e28da1e 06-May-2015 Lajos Molnar <lajos@google.com> stagefright: fix pushBlankBuffersToNW for non-meta decoders

Bug: 20709429
Change-Id: Ifaee74083dedecb755e5c8ba3369cf90dfd74035
/frameworks/av/media/libstagefright/ACodec.cpp
8651c6f5069cca40ef805b800a9730617ff7f9b8 02-May-2015 Lajos Molnar <lajos@google.com> Merge "stagefright: add support for dynamically setting MediaCodec output surface" into mnc-dev
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/ACodec.cpp
1dcdfead2971c1fa7c02f24ba86f706890c9f99e 30-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: add support for dynamically setting MediaCodec output surface

Bug: 11990461
Change-Id: I2aee89ef504234dc66eb5fcf6e62e1706088f758
/frameworks/av/media/libstagefright/ACodec.cpp
1de1e25cba872bd4c077c2e394f8ca9c70b65856 01-May-2015 Lajos Molnar <lajos@google.com> stagefright: remove NativeWindowWrapper

Now that Surface and SurfaceTextureClient are the same and Surface,
it does not add value.

Bug: 19489395
Change-Id: I016ecd1cf5cc51ce6244b6fa34ecd75f84e3db01
/frameworks/av/media/libstagefright/ACodec.cpp
7b21efcf733b59ea317fc6dba267c79ac1ed5d5d 30-Apr-2015 Wei Jia <wjia@google.com> Merge "stagefright: make BufferQueueProducer not re-allocate buffer when trying to dequeue a buffer on devices not supporting meta data buffer mode." into mnc-dev
48a31bf3f1c1ed5953a4e64f71cdf528f3a38ee5 29-Apr-2015 Andy Hung <hunga@google.com> Omx: Return an error if no IOMX is available

Previously caused fatal crash.

Bug: 20566134
Change-Id: I9761d043422954615dbe81b301401765146a7283
/frameworks/av/media/libstagefright/ACodec.cpp
3298d6fa642c11c5b004bdfc375252ff4c4536e3 29-Apr-2015 Wei Jia <wjia@google.com> stagefright: make BufferQueueProducer not re-allocate buffer when trying to dequeue a buffer on devices not supporting meta data buffer mode.

Bug: 19666434
Change-Id: Id676486d6d4543af7c4da9553134082ab67a9699
/frameworks/av/media/libstagefright/ACodec.cpp
8db8813d39e3c8b5fbd580dfc3062830744afd63 22-Apr-2015 Ronghua Wu <ronghuawu@google.com> DO NOT MERGE libmediaplayerservice: set priority and operating rate for the codec used by nuplayer.

Bug: 20481562
Change-Id: I9806414962352fbcda726f8274f1cd348c961de0
(cherry picked from commit f19f5d716b39a5d9dc1abdcd5a16a7aaf1b1ab8b)
/frameworks/av/media/libstagefright/ACodec.cpp
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/ACodec.cpp
ed5554fb1c837f6b1008d3910018c979c57da502 06-Apr-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: handle MediaFormat "operating-rate" key.

Bug: 19620911
Change-Id: I846d3cc10308a13f2ed92bb82ba7e8236d9c67d1
/frameworks/av/media/libstagefright/ACodec.cpp
52e88b2986536e83a7a6da63461556b8734a85f3 10-Apr-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: convert status_t to OMX_ERRORTYPE.

Bug: 19620911
Change-Id: I32369b2e812c7f3ef6953b13a1dae046b8dc24f1
/frameworks/av/media/libstagefright/ACodec.cpp
9f41ee5a4dd73093d107bc80df5cebb9a273cc72 09-Apr-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: propagate error from allocateNode.

Bug: 19620911
Change-Id: Iee288343d7d851a395052e1b3354eb98b026e4fb
/frameworks/av/media/libstagefright/ACodec.cpp
76fa9ec3e831ce97aeb2f1aa688972f5b85d9c30 22-Mar-2015 Marco Nelissen <marcone@google.com> am f1300d31: am cdf96ffa: Merge "ulaw and alaw aren\'t limited to 8kHz"

* commit 'f1300d31fe80c8e14cf2bbca6c7b6768110cd5ba':
ulaw and alaw aren't limited to 8kHz
17c39e708ed657b8fa66f8acce5128e51696915c 20-Mar-2015 Marco Nelissen <marcone@google.com> ulaw and alaw aren't limited to 8kHz

Bug: https://code.google.com/p/android/issues/detail?id=158490
Change-Id: Ib30e156c99a997db861bb85e17244a5effdd55cf
/frameworks/av/media/libstagefright/ACodec.cpp
8b806ea894ca098366629458bfdd1df4866afcdf 10-Mar-2015 Ronghua Wu <ronghuawu@google.com> libstagefright: handle MediaFormat "priority" key.

Bug: 19620911
Change-Id: I73675c7cc3d742b9a1a98d6c0f48dcf17557e2ad
/frameworks/av/media/libstagefright/ACodec.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/ACodec.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/ACodec.cpp
a23eea5d6160e2ebddb925f20becfc3c52639243 07-Feb-2015 Marco Nelissen <marcone@google.com> am 5dc38beb: am 41d3f579: Fix GSM WAV playback

* commit '5dc38bebd45edbcc17b2f5cf3c3b2929b5842f3c':
Fix GSM WAV playback
41d3f579d2c166984958263533284209b90c87d5 06-Feb-2015 Marco Nelissen <marcone@google.com> Fix GSM WAV playback

Bug:19289381
Change-Id: If7bbf1ecf1cb8796188e61bc2c42f8a099510424
/frameworks/av/media/libstagefright/ACodec.cpp
2b0fc07a5f87d15ef9ccb7f682a811bf7121c636 06-Feb-2015 Lajos Molnar <lajos@google.com> am c5a6db8d: am 5a52a060: stagefright: set consumer usage flags and desribe YV12 HAL format

* commit 'c5a6db8de459f25c72b0ca7b55942ddd4f90b1a8':
stagefright: set consumer usage flags and desribe YV12 HAL format
e576086224f6e630159eaeec59ab5146c8533dc7 06-Feb-2015 Lajos Molnar <lajos@google.com> am bcd22f0f: am 0662f5b0: Merge "stagefright: add fallback for native flex-YUV support" into lmp-mr1-dev

* commit 'bcd22f0f3a4cd5f78e03af23aafadb2d1aec6794':
stagefright: add fallback for native flex-YUV support
5a52a060fcbe4804bcf4f61b8a457fe0e18a9014 31-Jan-2015 Lajos Molnar <lajos@google.com> stagefright: set consumer usage flags and desribe YV12 HAL format

Bug: 17906609
Bug: 19179288
Bug: 19179927
Change-Id: I3713d4e894d3350d46e25dc0206b21c0ff3b9009
/frameworks/av/media/libstagefright/ACodec.cpp
3b5d119522bdf9c23be622be395d7a95d465616e 04-Feb-2015 Lajos Molnar <lajos@google.com> am 7b66f713: am 57f75272: Merge "stagefright: add support for native flex-YUV formats" into lmp-mr1-dev

* commit '7b66f713fc53ee81453763788c02f3c741d19520':
stagefright: add support for native flex-YUV formats
3a01a71dcbb467d06cc5da4a72a82bb588648cfc 31-Jan-2015 Lajos Molnar <lajos@google.com> stagefright: add fallback for native flex-YUV support

Use software renderer if codec cannot support flex-YUV on a surface

Bug: 17906609
Change-Id: I3d0e3ff5fee7d7b3e2416892968fa18f6139598a
/frameworks/av/media/libstagefright/ACodec.cpp
0d09182a1dde960f7acda1c28469e5deead1b996 30-Jan-2015 Lajos Molnar <lajos@google.com> stagefright: add support for native flex-YUV formats

Bug: 17906609
Change-Id: I14116796eaa94aa8ae62dcc29f67cb7d2c060d34
/frameworks/av/media/libstagefright/ACodec.cpp
3097dafa3ee60440c10b5bf9ed4d355fee1c1ae5 02-Feb-2015 Rachad <rachad@google.com> am 0d8e85f9: am 77f877f8: Merge "Acodec: reset sideband handle for all non tunneled mode video playback" into lmp-mr1-dev

* commit '0d8e85f929f0257a3af5ec743365b0140b5e75b4':
Acodec: reset sideband handle for all non tunneled mode video playback
a601b86287ab5437a7e9aaf6f09bc171803cdc3d 02-Feb-2015 Rachad <rachad@google.com> am c9e11696: am 36dca156: Merge "Acodec: Send framerate information to OMX decoder if available" into lmp-mr1-dev

* commit 'c9e11696c4f80e9803f7e65e29af962f199a574d':
Acodec: Send framerate information to OMX decoder if available
3fb3917ae19f07ddfb2176a9da3c7cfa514522a5 30-Jan-2015 Rachad <rachad@google.com> Acodec: reset sideband handle for all non tunneled mode video playback

Bug: 19202023
Change-Id: I414847d72a3c9fd79f858c4ee457270ec65470b6
/frameworks/av/media/libstagefright/ACodec.cpp
78b01639c08fe5e7e9c1be5e9dc5de560f1383f9 30-Jan-2015 Rachad <rachad@google.com> Acodec: Send framerate information to OMX decoder if available

Bug: 19110889
Change-Id: Ia8dbe1b77aaac421ec9415884e1248b9b68168dc
/frameworks/av/media/libstagefright/ACodec.cpp
7e85361e364bf8f80ab43dd5feb0f584e481019e 10-Jan-2015 Rachad <rachad@google.com> am 26c73acb: am 0b460ad7: Merge "ACodec: Added support for E-AC3 decoders" into lmp-mr1-dev

* commit '26c73acb73b5af94cb27e5d285d1708d25eb6892':
ACodec: Added support for E-AC3 decoders
0b460ad7557f6be56aad3fa027d93b38d5995ac4 10-Jan-2015 Rachad <rachad@google.com> Merge "ACodec: Added support for E-AC3 decoders" into lmp-mr1-dev
7993d6b343f2723872dac085756743630371454d 08-Jan-2015 Chong Zhang <chz@google.com> am e0344754: am 468977f0: Merge "mark any copyrighted content as protected to disable capture" into lmp-mr1-dev

* commit 'e03447548d1c56fa9875cac7d500f1012a6b5c26':
mark any copyrighted content as protected to disable capture
1713460104b86f6be3a5d9993d9ace864d889b2d 08-Jan-2015 Chong Zhang <chz@google.com> mark any copyrighted content as protected to disable capture

bug: 18916274
Change-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340
/frameworks/av/media/libstagefright/ACodec.cpp
8a4728966dc9c78e21c3c93a927707e93c05e5e0 24-Dec-2014 Rachad <rachad@google.com> ACodec: Added support for E-AC3 decoders

Bug: 17883772

Change-Id: I05f674c33522eec0e6ceeece88dd800b1857b3ab
/frameworks/av/media/libstagefright/ACodec.cpp
690257fe8288bc6f84069cc4b5d7f2a76e850401 13-Dec-2014 Rachad <rachad@google.com> am aff13ad4: am 8ddb0223: Merge "Tunneled video Playback/Max resolution: Call mOmx->prepareForAdaptivePlayback() to provide max resolution information to tunneled OMX component." into lmp-mr1-dev

* commit 'aff13ad4e639316bca12827d68a4f0a6ac54cd02':
Tunneled video Playback/Max resolution: Call mOmx->prepareForAdaptivePlayback() to provide max resolution information to tunneled OMX component.
d0b9a2b8538c9e4538d92fd675cf6786644ccb85 13-Dec-2014 Rachad <rachad@google.com> Tunneled video Playback/Max resolution:
Call mOmx->prepareForAdaptivePlayback() to provide max resolution information
to tunneled OMX component.

bug: 17883772
Change-Id: I8f634824103e66483527828993bb24f65e68e419
/frameworks/av/media/libstagefright/ACodec.cpp
3e08ca6709b5a75dc3b779cf3eba8196b08a0245 11-Dec-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 6571ed31 to lmp-mr1-dev-plus-aosp

Change-Id: Ibaea3a0766f75a61964615482a9ef28651a42b37
a0940a569f2bc24b00dc10ce0fa7658b1dc3a3a5 24-Sep-2014 Lajos Molnar <lajos@google.com> stagefright: misc fixes to software video encoders (and decoders)

- move logic to set encoder parameters to common encoder class
(similarly to what was done for decoders)
- set compressed buffer size based on frame size and compression ratio,
and codec-specific minimum size
- set raw buffer size based on frame size and metadata mode
- do not set stride and slice height on compressed ports
- advertise only QCIF support for google H263 encoder
- set large-enough input size for video decoders to support adaptive
playback
- do not change input buffer size on output port reconfiguration, as
no input buffer reallocation takes place
- do not return empty buffers with EOS after EOS has been signaled

Bug: 18513091
Bug: 18639027
Change-Id: Ib13492ef66adf331aa4572c67d2b283ea020cb41
/frameworks/av/media/libstagefright/ACodec.cpp
e09bf82465ff83f4da966b77d551367f7c050154 08-Dec-2014 Lajos Molnar <lajos@google.com> am 6874ed79: am a9d2f9fb: Merge "stagefright: preserve output format flags on format change" into lmp-mr1-dev

* commit '6874ed79fd525cf5d6ec8a953475c14f5a185cb4':
stagefright: preserve output format flags on format change
4e865a3cfe4c955e0890321a6b488cf661808b63 06-Dec-2014 Lajos Molnar <lajos@google.com> stagefright: preserve output format flags on format change

Some flags are only set in configure, and get lost when output
format changes.

Bug: 17383204
Change-Id: I2011bce70920c4ee46fccc378da3b428f3395c11
/frameworks/av/media/libstagefright/ACodec.cpp
105860cea2956f31f1c64d7a83a4a3bb21789cb8 04-Dec-2014 Lajos Molnar <lajos@google.com> am 93f5b333: am 050ff19e: Merge "libstagefright: defer kWhatSetParameters in OutputPortSettingsChangedState"

* commit '93f5b333d31fd5fe425faa01b25d1b4d3115a8e6':
libstagefright: defer kWhatSetParameters in OutputPortSettingsChangedState
050ff19e650a53fd2b6f1f2490758b4bf3104ca4 04-Dec-2014 Lajos Molnar <lajos@google.com> Merge "libstagefright: defer kWhatSetParameters in OutputPortSettingsChangedState"
e6eea3a6b6e0cf92287ec1ceb8350f201d17e1ac 06-Nov-2014 Per Persson <per.persson@intel.com> libstagefright: defer kWhatSetParameters in OutputPortSettingsChangedState

Change-Id: I9719f1698bf411914eb753d3c349a15b9fbf9df6
Signed-off-by: Per Persson <per.persson@intel.com>
Signed-off-by: Persson, Mikael <mikael.persson@intel.com>
Signed-off-by: Fagerstedt, Axel <axel.fagerstedt@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
/frameworks/av/media/libstagefright/ACodec.cpp
5a88501c8f677e34afb2043d7e81d8e09d6fa5f4 27-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of e5ba80c5 to lmp-mr1-dev-plus-aosp

Change-Id: Iea12c8a6cabf84584e4a89ad80e298c1f4ea3dd7
b3f9759c8c9437c45b9a34519ce2ea38a8314d4e 24-Nov-2014 Andreas Gampe <agampe@google.com> Stagefright: Fix unused variables, functions, values

For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
/frameworks/av/media/libstagefright/ACodec.cpp
3efe6516acd0561cc1afef1c3192600b3ab81166 20-Nov-2014 Lajos Molnar <lajos@google.com> am 6597c00f: stagefright: add (temporary) support for automatic video frc
automerge: 73c5c94

* commit '73c5c94ab53bf0c14fffe5edc62706865cff271d':
stagefright: add (temporary) support for automatic video frc
6597c00f7015e5ec9a07601d7a760169ca7266d3 06-Nov-2014 Lajos Molnar <lajos@google.com> stagefright: add (temporary) support for automatic video frc

Use MediaFormat.setInteger("auto-frc", 1) to turn this feature on.
If supported, this feature will show up in codec.getOutputFormat().getInteger("auto-frc")
Otherwise, this key will not be present.

Bug: 17383204
Change-Id: I03549b3ede4de156e9e2d81b3883010360bb42ae
/frameworks/av/media/libstagefright/ACodec.cpp
77e79a509d19ab50b1867fe3903b5a8fae450591 17-Nov-2014 Marco Nelissen <marcone@google.com> resolved conflicts for merge of e78a27ca to lmp-mr1-dev-plus-aosp

Change-Id: If10a9cc17245f95d5e10b1507445abbb4020670e
f888020c6e2735624f2b2a30e72aca24e17b8b4d 14-Nov-2014 Marco Nelissen <marcone@google.com> Update calls to IInterface::asBinder()

to use the new static version.

Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a

Conflicts:
media/libmedia/IAudioFlinger.cpp
media/libmedia/IMediaPlayer.cpp
media/libstagefright/CameraSource.cpp
/frameworks/av/media/libstagefright/ACodec.cpp
bc83643295f034ed518a1da4320b48157e1dece5 28-Oct-2014 Lajos Molnar <lajos@google.com> Merge "libstagefright: set actual stride info for SW encoder input port" into lmp-mr1-dev automerge: 701b964
automerge: 294c7f3

* commit '294c7f36e6a92419017e7fe2a204fba1284cdc08':
libstagefright: set actual stride info for SW encoder input port
a32d5435d9585794b72dd12546054f13adb845f2 25-Oct-2014 Lajos Molnar <lajos@google.com> libstagefright: set actual stride info for SW encoder input port

This fixes encoding flexible YUV content using SW encoders.
Also skip setting input color format if it is flexible YUV, as it
has already been translated to a color format supported by the codec.

Bug: 18124320
Change-Id: I423782936986f4d6cf65ea9ef89ae77a92e30140
/frameworks/av/media/libstagefright/ACodec.cpp
11f437a6665167d8aee6db59df6e4753aa190bf7 22-Oct-2014 Lajos Molnar <lajos@google.com> am edcff417: am 42aae0c4: am f04e8b5e: am 25842048: Merge "stagefright: try to free codec instance if MediaCodec.release hangs" into lmp-dev

* commit 'edcff417bbb2e76245b559e7c9a8b98c2a60e102':
stagefright: try to free codec instance if MediaCodec.release hangs
30358faf33fb9b638257b017fadb4c5f7352d903 22-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: try to free codec instance if MediaCodec.release hangs

Bug: 18033275
Change-Id: If86cd26566d7b75941976f37829bbec619800778
/frameworks/av/media/libstagefright/ACodec.cpp
b1c8f2200e3f1bc5d5448ade52dfc8a6d66cca27 15-Oct-2014 Lajos Molnar <lajos@google.com> am 6bbf27e5: am e86f4be5: am 447898bc: Merge "ACodec: only check crop rect on output port" into lmp-dev

* commit '6bbf27e5a3beeca3046caef70e4e5acc487dd062':
ACodec: only check crop rect on output port
dc9ac1cb57625f72b92c414d8d90d9079afd9667 14-Oct-2014 Chong Zhang <chz@google.com> am 3384cfaa: am 1195142c: am 801a3ff8: Merge "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat" into lmp-dev

* commit '3384cfaa4b933e4406a41bc4362a74511e0a0e79':
handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat
260bca4fc6c9350209736614f72133d5ec21ee01 14-Oct-2014 Lajos Molnar <lajos@google.com> am 447898bc: Merge "ACodec: only check crop rect on output port" into lmp-dev

* commit '447898bca790fae2fdae304073162e980d816b79':
ACodec: only check crop rect on output port
447898bca790fae2fdae304073162e980d816b79 14-Oct-2014 Lajos Molnar <lajos@google.com> Merge "ACodec: only check crop rect on output port" into lmp-dev
ff111660b19f6d0f0b7cd97896806490033e6add 14-Oct-2014 Chong Zhang <chz@google.com> am 801a3ff8: Merge "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat" into lmp-dev

* commit '801a3ff80c36aa9b55dc9b360d0e59f863011a39':
handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat
801a3ff80c36aa9b55dc9b360d0e59f863011a39 13-Oct-2014 Chong Zhang <chz@google.com> Merge "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat" into lmp-dev
a15b34244cb9d4e65ed4fede11c9fb83b7fb46c5 13-Oct-2014 Wei Jia <wjia@google.com> am 7d2b381f: am e39c1929: am 7225187b: Merge "ACodec: process deferred messages when entering Loaded state." into lmp-dev

* commit '7d2b381f6a611e60f715e8356269c71ecc7f5884':
ACodec: process deferred messages when entering Loaded state.
319898b799cb0c2c58174c8d5702a22f822421eb 13-Oct-2014 Wei Jia <wjia@google.com> am 7225187b: Merge "ACodec: process deferred messages when entering Loaded state." into lmp-dev

* commit '7225187b5126b921e40f0221db158a16c366344e':
ACodec: process deferred messages when entering Loaded state.
7225187b5126b921e40f0221db158a16c366344e 13-Oct-2014 Wei Jia <wjia@google.com> Merge "ACodec: process deferred messages when entering Loaded state." into lmp-dev
10d023beb0544591d0f5ff556f7f67356f0d9189 13-Oct-2014 Chong Zhang <chz@google.com> handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat

Bug: 17935293
Change-Id: Id09190ae813aa9e00a3c1ef6fb8a1bd3021deb6e
/frameworks/av/media/libstagefright/ACodec.cpp
0ed9ef31c302ebe081589f8e8603832f79c664a8 13-Oct-2014 Guang Zhu <guangzhu@google.com> am 0f69763d: am ee3f39f6: am 380757ba: Merge "Revert "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat"" into lmp-dev

* commit '0f69763d41c101a2afcac7f10be86b41974f1279':
Revert "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat"
935c97aa76b2b6f2e44695a478d700b37268ce4f 13-Oct-2014 Guang Zhu <guangzhu@google.com> am 380757ba: Merge "Revert "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat"" into lmp-dev

* commit '380757ba5c927015d403e3b97cc418413330453e':
Revert "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat"
667623ac75700fc1bb4829b8275c4fc29c631fe9 13-Oct-2014 Guang Zhu <guangzhu@google.com> Revert "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat"

Bug: 17935293

fix 64-bit builds

This reverts commit 9c78328f4dfd2c8a1dd5d31010f10ffcd762f04b.

Change-Id: Ifbc499342fb47fd67cae02a79cb900e701caed68
/frameworks/av/media/libstagefright/ACodec.cpp
8f114eb1428605ca5ba1e472d6401d1d9f211f14 11-Oct-2014 Chong Zhang <chz@google.com> am 1d6fe042: am 92ab9962: am aec1dbfd: Merge "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat" into lmp-dev

* commit '1d6fe0424915ce575747c2c2fe7c79a911df7e37':
handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat
f393c33e65ae51a7cf168b4e15771b152f996b32 11-Oct-2014 Wei Jia <wjia@google.com> ACodec: process deferred messages when entering Loaded state.

Bug: 17792260
Change-Id: Ie8154cf41be5672fc8a9f3a2a82b7ede0a8b828f
/frameworks/av/media/libstagefright/ACodec.cpp
a0041d67a7d45e55ed88a7b0ff548708fa82872e 11-Oct-2014 Chong Zhang <chz@google.com> am aec1dbfd: Merge "handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat" into lmp-dev

* commit 'aec1dbfd10150da3f28b64471b4dc249a58a104e':
handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat
9c78328f4dfd2c8a1dd5d31010f10ffcd762f04b 10-Oct-2014 Chong Zhang <chz@google.com> handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat

Bug: 17935293
Change-Id: I8eab0acf55df6934e05947b0dbdd1fd456130088
/frameworks/av/media/libstagefright/ACodec.cpp
91a3cc00db31a713a25848f345bd624ac2ad8dc5 08-Oct-2014 Lajos Molnar <lajos@google.com> ACodec: only check crop rect on output port

Bug: 17789956
Change-Id: I0e17660d95ac0b3b051e7f555820188d9286571a
/frameworks/av/media/libstagefright/ACodec.cpp
9d06b8026d551c24527d6f72f134046d94068c46 07-Oct-2014 Rachad <rachad@google.com> am 42fc04ff: am 584c14c3: Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev

* commit '42fc04ff4db20f2de12834818a73778ec9ede052':
stagefright: do not allocate output buffers for tunneled playback
292cf155f105915f896877a7be83e46bdf4275d2 07-Oct-2014 Rachad <rachad@google.com> am 584c14c3: Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev

* commit '584c14c370f141685b7e8963a13ed91584383ca1':
stagefright: do not allocate output buffers for tunneled playback
584c14c370f141685b7e8963a13ed91584383ca1 07-Oct-2014 Rachad <rachad@google.com> Merge "stagefright: do not allocate output buffers for tunneled playback" into lmp-dev
9236887ac5dfa526d1a90dd5e0a3c3095f443e70 03-Oct-2014 Lajos Molnar <lajos@google.com> am 2e74aefd: am fc93499e: Merge "mediarecorder: set level if setting default profile" into lmp-dev

* commit '2e74aefdc1e77e6623bd869fb94eba1e1a7eeb0c':
mediarecorder: set level if setting default profile
2193622ebd2d7d079061dc816c9d6e0260e1c89f 03-Oct-2014 Lajos Molnar <lajos@google.com> am fc93499e: Merge "mediarecorder: set level if setting default profile" into lmp-dev

* commit 'fc93499e83403d5959693efa040cb29fd6825abb':
mediarecorder: set level if setting default profile
a147b4f91143d9f2fb608e22f9fca14bbd029573 02-Oct-2014 Lajos Molnar <lajos@google.com> mediarecorder: set level if setting default profile

Bug: 17676461
Change-Id: If01ccd09935945d330de0842be95c3544951b6b9
/frameworks/av/media/libstagefright/ACodec.cpp
bc6b959b0ff5f4fc83a049cba989edc0a06ae043 02-Oct-2014 Chong Zhang <chz@google.com> am 52cb10c4: am d0b9efe7: Merge "add AAC audio decoder params for PCM limiter enable" into lmp-dev

* commit '52cb10c4d794e5041e04f20d716aac82c325b06b':
add AAC audio decoder params for PCM limiter enable
17bef6401492d996232b5bc0859529a79834e810 02-Oct-2014 Chong Zhang <chz@google.com> am d0b9efe7: Merge "add AAC audio decoder params for PCM limiter enable" into lmp-dev

* commit 'd0b9efe7d8300e48f7a99c1dd746d60060206b3c':
add AAC audio decoder params for PCM limiter enable
d0b9efe7d8300e48f7a99c1dd746d60060206b3c 01-Oct-2014 Chong Zhang <chz@google.com> Merge "add AAC audio decoder params for PCM limiter enable" into lmp-dev
2965f4eb7dceaf1173f0e2d93c11c28293aeead7 01-Oct-2014 Chong Zhang <chz@google.com> add AAC audio decoder params for PCM limiter enable

Bug: 17470065
Change-Id: Ib67aa1c50e3b6c24c4b12b0f31a996cc6874abd1
/frameworks/av/media/libstagefright/ACodec.cpp
ab76066c11e988ca3d3a5d6d74dd510ae080322e 23-Sep-2014 Rachad <rachad@google.com> stagefright: do not allocate output buffers for tunneled playback

Do not allocate native window buffers for tunneled video playback codecs.

Bug: 17112525
Change-Id: I262d8030a9df6188938fde5d62ebce8faf7dba1f
/frameworks/av/media/libstagefright/ACodec.cpp
96d35b5a993436bdb59e12b3fb1406c206b7e682 25-Sep-2014 Lajos Molnar <lajos@google.com> am 4a34b9a4: Merge "stagefright: use frame height if slice height is 0" into lmp-dev

* commit '4a34b9a4759d7dcc2d2ad5bd96ea8477915dd67a':
stagefright: use frame height if slice height is 0
78bb2faefa3d8295952532e6fc9b152966a0ce7d 25-Sep-2014 Lajos Molnar <lajos@google.com> am 4a34b9a4: Merge "stagefright: use frame height if slice height is 0" into lmp-dev

* commit '4a34b9a4759d7dcc2d2ad5bd96ea8477915dd67a':
stagefright: use frame height if slice height is 0
b32ebac7e3afb49b41eeccf130c8a96c1dae85d1 24-Sep-2014 Lajos Molnar <lajos@google.com> stagefright: use frame height if slice height is 0

This is a workaround for some vendors that set slice height to 0.
Android uses slice height is the vertical stride for YUV planar
and semiplanar formats.

Bug: 13433554
Change-Id: I4da038e7a768dcd8360c33fa1a9ce95a172f16bb
/frameworks/av/media/libstagefright/ACodec.cpp
0973af247786ff1be980390cc274364fca6b2d6e 22-Sep-2014 Wei Jia <wjia@google.com> am 0079b331: Merge "MediaBuffer: ABuffer will release MediaBuffer when it\'s destructed." into lmp-dev

* commit '0079b331227fc1555d7c5305f33917a570d44890':
MediaBuffer: ABuffer will release MediaBuffer when it's destructed.
6f7a0014777a68999c76b48feab4a85d4580c357 22-Sep-2014 Wei Jia <wjia@google.com> am 0079b331: Merge "MediaBuffer: ABuffer will release MediaBuffer when it\'s destructed." into lmp-dev

* commit '0079b331227fc1555d7c5305f33917a570d44890':
MediaBuffer: ABuffer will release MediaBuffer when it's destructed.
96e92b58b7e9647b4c7c2f54b62a1b357ab06b66 19-Sep-2014 Wei Jia <wjia@google.com> MediaBuffer: ABuffer will release MediaBuffer when it's destructed.

Bug: 17454455
Change-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99
/frameworks/av/media/libstagefright/ACodec.cpp
26fc3c1038fad86179387f9ec81f151eb0a4dcb9 06-Sep-2014 Lajos Molnar <lajos@google.com> am 52c6a355: Merge "stagefright: allow P-frames spacing of 0 and 1" into lmp-dev

* commit '52c6a355503dbbe9bb134af07faee982534031dd':
stagefright: allow P-frames spacing of 0 and 1
5da491bb05009e2062d8a98a153594bb3ff15188 04-Sep-2014 Lajos Molnar <lajos@google.com> stagefright: allow P-frames spacing of 0 and 1

Bug: 17387418
Change-Id: Ib966496b4ca220d96fb3741c29002c13cd2db848
/frameworks/av/media/libstagefright/ACodec.cpp
760cfc9000c815913305b8714bdde39855df3753 30-Aug-2014 Rachad <rachad@google.com> am b6b927fc: Merge "Tunneled Video Playback: Changed AudioHwSync token to int32_t to match Audio stack api." into lmp-dev

* commit 'b6b927fc437389a9fa499eaad69da88969ec9ffc':
Tunneled Video Playback: Changed AudioHwSync token to int32_t to match Audio stack api.
97827bd7c7e64dec22c8fe0f9e734a3c432ad7ee 29-Aug-2014 Rachad <rachad@google.com> Tunneled Video Playback:
Changed AudioHwSync token to int32_t to match Audio stack api.

Bug: 17112525
Change-Id: I673819495c2e7b540e8d7572cc95796bddbf63bb
/frameworks/av/media/libstagefright/ACodec.cpp
c3c107cae90e635e4d0928133d513c12f4dbe79d 23-Aug-2014 Wei Jia <wjia@google.com> am d1de9bb3: Merge "ACodec: handle errors related to native window." into lmp-dev

* commit 'd1de9bb33a2f645fb9dc54e7fc69ca45304850a5':
ACodec: handle errors related to native window.
3fb9f68dea5d991288f0ea8037742b50c7df5767 20-Aug-2014 Wei Jia <wjia@google.com> ACodec: handle errors related to native window.

Bug: 17068327
Bug: 13133027
Change-Id: I9875e524222a10d1be26be5a84b9633b4aaeb210
/frameworks/av/media/libstagefright/ACodec.cpp
9060b70b143b92ba41f2be91034ad4653282ce5c 18-Aug-2014 Elliott Hughes <enh@google.com> am 896b546b: am d29b4f65: Merge "Use gettid directly."

* commit '896b546b4fa2f5860bbc2ebe55772d64e2ac14b3':
Use gettid directly.
da153975581fb3161a30452348a5b26ee72d9255 18-Aug-2014 Elliott Hughes <enh@google.com> Use gettid directly.

Bug: 17048545
Change-Id: I5ae40c2de1afc2a59f0b28e81c25f0c404368408
/frameworks/av/media/libstagefright/ACodec.cpp
cd39746f8d83bb3f12e8f613e77c3c3b5f77c077 15-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: allow specifying flac copmression level by 'complexity'

Bug: 11990470
Change-Id: I428961cc654b768773814078f753e2e67243f186
/frameworks/av/media/libstagefright/ACodec.cpp
e53350373ac516257b4f8956ff1e3f1ac48f607e 12-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: allow scenarios when dequeueBufferFromNativeWindow fails

We can run out of native buffers when the bufferqueue is abandoned.

Bug: 16839124
Change-Id: If605f692b87082f1630e1da0fd44da0cb76133f5
/frameworks/av/media/libstagefright/ACodec.cpp
5a446aafff3020d607ad6fb14cc7ae76dd8f7947 30-Jul-2014 Rachad <rachad@google.com> Added Tunneled video playback support to ACodec

Bug:16132368
Change-Id: I88d2d66b8548fc203f4a2c4797196af15e56ff38
/frameworks/av/media/libstagefright/ACodec.cpp
ddabe554e95940891c5df9a7f092798351b5f75e 08-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> Merge "AAC decoder: add support for controlling presentation parameters" into lmp-dev
8045853d03649f43ea2f7107e7d2dbb9b2d20855 02-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> AAC decoder: add support for controlling presentation parameters

Control the dowmixing of the AAC decoder
Control the DRC processing of the AAC decoder

Bug 16740915

Change-Id: I9b06ea8785f56213ea120ed85eeb360c88223297
/frameworks/av/media/libstagefright/ACodec.cpp
317bb9163befccd87348c11bdfc0044e629b362b 08-Aug-2014 Andy Hung <hunga@google.com> Merge "Clarify and implement MediaCodec status codes" into lmp-dev
251d4be8aa5ab80bc915a82a2420233bdc62018e 31-Jul-2014 Andy Hung <hunga@google.com> Clarify and implement MediaCodec status codes

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
/frameworks/av/media/libstagefright/ACodec.cpp
229d242665c612fd97431d1e7ac004823b47f181 07-Aug-2014 Lajos Molnar <lajos@google.com> stagefright: support flexible YUV format

- Report flexible format for standard OMX formats that are flexible.
- Accept flexible format when specifying video port formats.

Bug: 10706245
Change-Id: I9e82bc895bb0d5d606eb05fdf83bec766eaa2046
/frameworks/av/media/libstagefright/ACodec.cpp
b97cc6a9a3c81215e365c61b071a932073b56ff2 02-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> AAC encoder: add support for SBR mode selection

Change-Id: Ibc07bff7710398929c135f38324dd29857fa0ea6
/frameworks/av/media/libstagefright/ACodec.cpp
89869f692c35d0ca914c7de4a1f5ff63c9920634 28-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: enable decoder color format selection

Bug: 10706245
Change-Id: I9a77631bfae0358be229b079228c1fcae0e77faf
/frameworks/av/media/libstagefright/ACodec.cpp
e9e63bcf6c36351f1129b0bdc5e93f17f0f9f0b4 31-Jul-2014 Chong Zhang <chz@google.com> handle rotation in NuPlayer

Bug: 16653284
Change-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0
/frameworks/av/media/libstagefright/ACodec.cpp
03c556ae1eb409ad088c49037e185946c54e1d25 25-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: add flexible YUV support

Bug: 10706245
Change-Id: Icd246f22edfc67ed5240d59f5a5bde3e5f749465
/frameworks/av/media/libstagefright/ACodec.cpp
4730fa07a3290cc3a904dcb16dbb92fcf46c36ac 23-Jul-2014 Wei Jia <wjia@google.com> Hook up querying of VP8 temporal layering support.

Bug: 14562236
Change-Id: I0ec5866173f7fb84dd3f79b588d1b35b523ca08a
/frameworks/av/media/libstagefright/ACodec.cpp
3cb576166020bfdc1522b33919fe5ff8d211d0a3 17-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: use all input buffers in ACodec

Bug: 15699665
Change-Id: If37e5c70e56821375ede911e781b5d4b8d41f8ad
/frameworks/av/media/libstagefright/ACodec.cpp
7a727021b86c2fb2c9f60af2c999154dce1766eb 18-Jul-2014 Zhijun He <zhijunhe@google.com> stagefright: add error log when create omx component failed

Bug: 16343447
Change-Id: I6854b9b837a141a77ab318953dc002ec5ad5d31d
/frameworks/av/media/libstagefright/ACodec.cpp
d8cbe4a024ef54adf043b6ea31fa22271b8b2c51 08-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: update ACodec to use CodecBase enumerations directly

Bug: 11784825
Change-Id: I9f322b78b52bfcc5040fda951486df4354cdba4f
/frameworks/av/media/libstagefright/ACodec.cpp
4ce87ac008bcd6a1004ca416f6d7031ba813078f 28-Jun-2014 Rachad <rachad@google.com> Merge "Add HEVC encoder support to ACodec"
c8efda9e9cd61dfe8e486c93fa8940b77cc3cceb 20-May-2014 Rachad <rachad@google.com> Add HEVC encoder support to ACodec

Bug: 14571712
Change-Id: Idaec2394d569541f3963befe722f46f6b0007937
/frameworks/av/media/libstagefright/ACodec.cpp
7791cf11186a22b3f84d98cfde67393bee748cb0 10-Jun-2014 Marco Nelissen <marcone@google.com> Fix logging

Make the log message specify whether it was an encoder or a decoder
that failed to instantiate.

Change-Id: Ie357775114c8dea722d87381c13affdfb19dcde4
/frameworks/av/media/libstagefright/ACodec.cpp
8b1be2ca7cee71a4920d5d31fdcbad2b1d4ca49d 02-May-2014 Andy Hung <hunga@google.com> Update OMX messages for 64 bit

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>
/frameworks/av/media/libstagefright/ACodec.cpp
8c6693b73cb4aed9d1dcb8d5d0828a77b7471a55 28-May-2014 Vignesh Venkatasubramanian <vigneshv@google.com> libstagefright: Add Opus support to ACodec::getPortFormat

Bug: 15114855
Change-Id: Idb184ae15986450423fc8cf116cf077600b3ea67
/frameworks/av/media/libstagefright/ACodec.cpp
ddde219f2f93c1d81ff1cfaf4d3d31d95156f7a3 20-May-2014 Rachad <rachad@google.com> Merge "Add HEVC decoder support to ACodec bug: 14571712"
47aea1f7c58f5302b16822f9e7e1763f2af04ef5 15-May-2014 Lajos Molnar <lajos@google.com> ACodec: remove PTS log spam

Bug: 14976517
Bug: 11784827
Change-Id: Ibc1bbd80e7aac30b0f8f1e9ca2be1bb3e5e2ebbb
/frameworks/av/media/libstagefright/ACodec.cpp
f87e30fe71752dc431d8e8d5682c38271c03265a 14-May-2014 Andy Hung <hunga@google.com> Send 64 bit OMX codec handling to 32 bit MediaServer

This is a temporary fix for 64 bit OMX handling until 64 bit
codecs are more robust.

Bug: 13938273
Change-Id: Ifc79e360f9606f6c909b859d322b7dd5d416b26b
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/media/libstagefright/ACodec.cpp
609b815a3131d22da38b2f452faa9f89daad4039 02-May-2014 Andy Hung <hunga@google.com> Update OMX messages for 64 bit

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>
/frameworks/av/media/libstagefright/ACodec.cpp
2472b1c0d63454e5d90a982bd6c555de6c3127bd 06-May-2014 Rachad <rachad@google.com> Add HEVC decoder support to ACodec
bug: 14571712

Change-Id: I221625a42e143cb1c581059694f6730211e251ae
/frameworks/av/media/libstagefright/ACodec.cpp
fc7fca77caa12993dd938d5ff43797d781291027 08-May-2014 Lajos Molnar <lajos@google.com> MediaCodec: add renderAndReleaseOutputBuffer() method with timestamp

Bug: 11784827
Change-Id: Ia1dcbd6c1d1a4380db04b750c0eb3fa0bd58d7b4
/frameworks/av/media/libstagefright/ACodec.cpp
784e24e386b088c05d653ab482f2e95cb53e3d01 07-May-2014 Andy Hung <hunga@google.com> Remove legacy omx_message variables

Remove platform_private and data_ptr from omx_message.
These were used for legacy deferred buffer creation.
See OMXCodec quirks: kDefersOutputBufferAllocation and
kRequiresAllocateBufferOnOutputPorts.

Change-Id: I94da56bc64f3b46ee1276e93d67b36c1662e2eaf
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/media/libstagefright/ACodec.cpp
88014186c34dbc5c8f4cdf0936cae2a36e4b61ac 01-May-2014 Lajos Molnar <lajos@google.com> am ee46bd37: am 2b0b701f: am 0c388650: Merge "ACodec: add frame render/drop systrace"

* commit 'ee46bd378b7a68789be9c85d8a59fa02d4aed030':
ACodec: add frame render/drop systrace
ee46bd378b7a68789be9c85d8a59fa02d4aed030 01-May-2014 Lajos Molnar <lajos@google.com> am 2b0b701f: am 0c388650: Merge "ACodec: add frame render/drop systrace"

* commit '2b0b701f57c5efebe868d0eedce8cfc399007e8a':
ACodec: add frame render/drop systrace
2b0b701f57c5efebe868d0eedce8cfc399007e8a 01-May-2014 Lajos Molnar <lajos@google.com> am 0c388650: Merge "ACodec: add frame render/drop systrace"

* commit '0c388650722ac53571be21ee04ce342c1c9510c2':
ACodec: add frame render/drop systrace
6fbc1afd36f514f8b8d36ce67f5e69776c690bd2 30-Apr-2014 Lajos Molnar <lajos@google.com> ACodec: add frame render/drop systrace

Change-Id: I7a33d4a937d039fd454b889ddb12b7ca1c0ff3c2
/frameworks/av/media/libstagefright/ACodec.cpp
1a7be1ec9c769203e6c8e26378de0ab8e2ad493d 29-Apr-2014 Bill Yi <byi@google.com> Merge commit '91820d46b5f3065c2fded3cdf65d305715b33bb1' into HEAD
67ee990d324229ab0565ce632bd5a04297e16a01 24-Apr-2014 Alex Glaznev <glaznev@google.com> Merge "Support VP8 encoder key frame interval and number of temporal layers configuration."
4154795d5526750b7aec5f774831a9e1ba0a3f15 21-Mar-2014 Alex Glaznev <glaznev@google.com> Support VP8 encoder key frame interval and number of
temporal layers configuration.

- Change ACodec.cpp to populate VP8 extra parameters
structure with key frame interval, number of temporal
layers and quantization parameters.

- Change software VP8 encoder to select frame temporal
patterns and temporal layers bitrate distribution based
on the number of layers similar to patterns used in WebRTC.

- Calculate video frame duration in VP8 encoder from the
timestamps.

Bug: 11969958
Change-Id: Ia96054d886cd09d8c108dfe250fc5f4478eaa042
/frameworks/av/media/libstagefright/ACodec.cpp
dd01ce9c28e37d4556606f481faeec032a1fe04e 11-Apr-2014 Mark Salyzyn <salyzyn@google.com> am 52a861d2: Merge "warnings be gone."

* commit '52a861d2825544fe2eb90f8e5f6351d02ff95536':
warnings be gone.
d411b4ca2945cd8974a3a78199fce94646950128 11-Apr-2014 Andreas Huber <andih@google.com> warnings be gone.

(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
/frameworks/av/media/libstagefright/ACodec.cpp
54b0bc74e051bd7df10cd657b481d88db6cdaa27 31-Mar-2014 Lajos Molnar <lajos@google.com> ACodec: do not signal kWhatShutdownCompleted on codec error

Do not signal kWhatShutdownCompleted when moving to Uninitialized
state due to receiving a codec error.

Do not abort if error happens just before handling a stop request.

Bug: 13675112
Change-Id: I4b14b2e64cff0f71215d2bbc24cd850617dfb67b
/frameworks/av/media/libstagefright/ACodec.cpp
5e184b0d12f1ec436246a391da8d9355cc21ee08 28-Mar-2014 Lajos Molnar <lajos@google.com> ACodec: ignore OMX messages to already freed component

Bug: 12916984
Change-Id: I92848797b8d556cff468b9b0f0a618946083208f
/frameworks/av/media/libstagefright/ACodec.cpp
4f1ef2cd65d734edae17f8586cf717598b40f2c3 28-Mar-2014 Lajos Molnar <lajos@google.com> am 1000d426: am f780d28d: Merge "DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"" into klp-dev

* commit '1000d426bedb1ec38bdfff98fc8f004b64af13cb':
DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"
ff382d0c40493303ceb81a6c22d1a48c0fecfe9c 28-Mar-2014 Lajos Molnar <lajos@google.com> am 8bf96c01: am 3d4e4fcb: Merge "DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"" into klp-dev

* commit '8bf96c011ff4128f9bf06b892a38d869192d6a25':
DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"
1000d426bedb1ec38bdfff98fc8f004b64af13cb 28-Mar-2014 Lajos Molnar <lajos@google.com> am f780d28d: Merge "DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"" into klp-dev

* commit 'f780d28de2e3cf7f6b26b9626321dba75719736e':
DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"
8bf96c011ff4128f9bf06b892a38d869192d6a25 28-Mar-2014 Lajos Molnar <lajos@google.com> am 3d4e4fcb: Merge "DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"" into klp-dev

* commit '3d4e4fcbcfc5c16dd794591727f5c713831ab6dc':
DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"
114c1b6553e3d2dc5f2780a76d92bb382234220c 28-Mar-2014 Lajos Molnar <lajos@google.com> DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"

This reverts commit b635b0e66b257ab442e230bca96afd5105cf6829.

Bug: 13655631
/frameworks/av/media/libstagefright/ACodec.cpp
f5ee327780ea2b538b8affafa8063f0ce0390fe0 28-Mar-2014 Lajos Molnar <lajos@google.com> DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"

This reverts commit a0470879e25394cb85437366fa53ce8055cd556f.

Bug: 13655631
/frameworks/av/media/libstagefright/ACodec.cpp
2ceebb30a1ee5282d36bc47840f4c5a6187a7a92 19-Mar-2014 Lajos Molnar <lajos@google.com> am bd1f8f0a: am fb28c384: am 1faa4170: stagefright: allow for minUndequeuedBufs to be one less

* commit 'bd1f8f0a5cc55761edfbd2a472e229dd4b0d2cdf':
stagefright: allow for minUndequeuedBufs to be one less
bd1f8f0a5cc55761edfbd2a472e229dd4b0d2cdf 19-Mar-2014 Lajos Molnar <lajos@google.com> am fb28c384: am 1faa4170: stagefright: allow for minUndequeuedBufs to be one less

* commit 'fb28c384316518f699e7dd3e9149c9e84b05a525':
stagefright: allow for minUndequeuedBufs to be one less
fb28c384316518f699e7dd3e9149c9e84b05a525 19-Mar-2014 Lajos Molnar <lajos@google.com> am 1faa4170: stagefright: allow for minUndequeuedBufs to be one less

* commit '1faa41704e0b976e546321effcb09a85767d51ba':
stagefright: allow for minUndequeuedBufs to be one less
f4d9d45ebad478091d65b2a4c18544d308d3fff0 19-Mar-2014 Lajos Molnar <lajos@google.com> am 1faa4170: stagefright: allow for minUndequeuedBufs to be one less

* commit '1faa41704e0b976e546321effcb09a85767d51ba':
stagefright: allow for minUndequeuedBufs to be one less
1faa41704e0b976e546321effcb09a85767d51ba 19-Mar-2014 Lajos Molnar <lajos@google.com> stagefright: allow for minUndequeuedBufs to be one less

Bug: 13533477
Change-Id: I909324e3e24f65d8051e0d5474267620efcfc729
/frameworks/av/media/libstagefright/ACodec.cpp
129c76538570cd42fce2154bfb0aec934cf84ff3 19-Mar-2014 Lajos Molnar <lajos@google.com> am 9cde5172: am b635b0e6: mediaplayer: keep more buffers with the BufferQueue

* commit '9cde517297827156de1c3b2ff54e272a5d4ae7c3':
mediaplayer: keep more buffers with the BufferQueue
9cde517297827156de1c3b2ff54e272a5d4ae7c3 19-Mar-2014 Lajos Molnar <lajos@google.com> am b635b0e6: mediaplayer: keep more buffers with the BufferQueue

* commit 'b635b0e66b257ab442e230bca96afd5105cf6829':
mediaplayer: keep more buffers with the BufferQueue
4647dba9afd0b365e47b9493a680d71b59a361e6 19-Mar-2014 Lajos Molnar <lajos@google.com> am b635b0e6: mediaplayer: keep more buffers with the BufferQueue

* commit 'b635b0e66b257ab442e230bca96afd5105cf6829':
mediaplayer: keep more buffers with the BufferQueue
b635b0e66b257ab442e230bca96afd5105cf6829 14-Feb-2014 Lajos Molnar <lajos@google.com> mediaplayer: keep more buffers with the BufferQueue

Change OMX buffer allocation policy to allocate
nBufferCountMin + what is required for the BQ.

For the BQ, try to allocate 2 additional buffers than
the minimum undequeued count.

Also account for the fact that BQ may return one less
than the actual minimum undequeued count.

In most cases the resulting number of buffers ends up
being the same as with the previous policy, but we
keep more buffers with the BQ.

Change-Id: I826db8bf7dd333b620299dba60bf1b81b228275d
Bug: 13170236
/frameworks/av/media/libstagefright/ACodec.cpp
b1120b65c328cf6e35c0494d7d61addcbdc16821 14-Mar-2014 Lajos Molnar <lajos@google.com> Merge changes I1455bfc6,I90c7e34b,I06e001df

* changes:
NuPlayer: use MediaCodec instead of ACodec
MediaCodec: add getInputFormat() method
Revert "NuPlayer: Use a software renderer when using software codecs"
29c291f2337561b1f8c2f79bc34339b0b9c28b9c 14-Mar-2014 Chong Zhang <chz@google.com> am a671f943: am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" into klp-dev

* commit 'a671f943b72155460f0c94cdd92d829cb059b571':
Cap pts gap between adjacent frames to specified value
7c47cafa5be623f1db483483ac27f714c54dc1cc 14-Mar-2014 Chong Zhang <chz@google.com> am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" into klp-dev

* commit 'c69bc40a347c411751cb082b3eb4a82d976a68ec':
Cap pts gap between adjacent frames to specified value
a671f943b72155460f0c94cdd92d829cb059b571 13-Mar-2014 Chong Zhang <chz@google.com> am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" into klp-dev

* commit 'c69bc40a347c411751cb082b3eb4a82d976a68ec':
Cap pts gap between adjacent frames to specified value
e257e5ebefdd50f808ee3b4d1596db261c9b62dd 14-Feb-2014 Lajos Molnar <lajos@google.com> mediaplayer: keep more buffers with the BufferQueue

Change OMX buffer allocation policy to allocate
nBufferCountMin + what is required for the BQ.

For the BQ, try to allocate 2 additional buffers than
the minimum undequeued count.

Also account for the fact that BQ may return one less
than the actual minimum undequeued count.

In most cases the resulting number of buffers ends up
being the same as with the previous policy, but we
keep more buffers with the BQ.

Change-Id: I826db8bf7dd333b620299dba60bf1b81b228275d
Bug: 12080418
/frameworks/av/media/libstagefright/ACodec.cpp
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/ACodec.cpp
e0381245dff04aa823a59aa8b85869eddab0f39f 25-Feb-2014 Lajos Molnar <lajos@google.com> MediaCodec: add getInputFormat() method

Additional input-port format item:

int32: "adaptive-playback"
video decoders only
whether codec is configured for adaptive playback. In this case, if
codec has max-width/height limits, those limits are also exposed
(int32: "max-width", "max-height")

Also, getInput/OutputFormat() is now callable in CONFIGURED and
STARTING states, although output format may be missing CSD fields
until INFO_OUTPUT_FORMAT_CHANGED message.

Includes missing OMX support for MP3 software decoder.

Bug: 11785204
Change-Id: I90c7e34ba81c7b81c43641599f3f496e838958c6
/frameworks/av/media/libstagefright/ACodec.cpp
8e4b38470a367aec409e905aed392397e6b85bf4 07-Mar-2014 Lajos Molnar <lajos@google.com> am 2613347d: Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev

* commit '2613347d74c3f35bc6fda5df1c29c1119c22d432':
Added support to query ACodec whether adaptive playback is enabled.
385691a374e0f202ee66c26ed0af94afccd745de 07-Mar-2014 Lajos Molnar <lajos@google.com> am 2338782d: Merge "Fixed misplaced bracket for switch-case block." into klp-dev

* commit '2338782d18d9bcc8197c63dbf205332a2a737440':
Fixed misplaced bracket for switch-case block.
7e65e101bd48461e274fd2e927b80fbbd8b71744 07-Mar-2014 Lajos Molnar <lajos@google.com> am 72d09f62: am 2613347d: Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev

* commit '72d09f6280cd701e48922a86df0d2e5f4e61cd8e':
Added support to query ACodec whether adaptive playback is enabled.
414c2371ab38a9826dca2506c9cefd703af05c2b 07-Mar-2014 Lajos Molnar <lajos@google.com> am 4dbd814d: am 2338782d: Merge "Fixed misplaced bracket for switch-case block." into klp-dev

* commit '4dbd814de3a3bc95ca3fe39be2400418e7a05602':
Fixed misplaced bracket for switch-case block.
72d09f6280cd701e48922a86df0d2e5f4e61cd8e 07-Mar-2014 Lajos Molnar <lajos@google.com> am 2613347d: Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev

* commit '2613347d74c3f35bc6fda5df1c29c1119c22d432':
Added support to query ACodec whether adaptive playback is enabled.
4dbd814de3a3bc95ca3fe39be2400418e7a05602 07-Mar-2014 Lajos Molnar <lajos@google.com> am 2338782d: Merge "Fixed misplaced bracket for switch-case block." into klp-dev

* commit '2338782d18d9bcc8197c63dbf205332a2a737440':
Fixed misplaced bracket for switch-case block.
05a4b64ea4d01e29c427d8b5f5107b8edc2dbb21 07-Mar-2014 Lajos Molnar <lajos@google.com> am 5db1e3a6: Merge "correct one logic error in decide whether should render or not"

* commit '5db1e3a6f30c252ed61461dd8c58786e905e5f5a':
correct one logic error in decide whether should render or not
933a4d3339ebbcd34a7f97b9e7350ec74b5ec29c 24-Jan-2014 Robert Shih <robertshih@google.com> Added support to query ACodec whether adaptive playback is enabled.

Bug: 11854054
Change-Id: I6b0308aa8550c643706959277e46dad586c37297
/frameworks/av/media/libstagefright/ACodec.cpp
b2be2f2e41d5502d79636b21cbad23f4f983bbd7 23-Jan-2014 Robert Shih <robertshih@google.com> Fixed misplaced bracket for switch-case block.

Bug: 11854054
Change-Id: I66b410e1e19601ad65d8357bda4c0c58e2dc15dc
/frameworks/av/media/libstagefright/ACodec.cpp
b4350af65dd66ed57f1ff79b1b426507f0e73b7b 04-Mar-2014 Lajos Molnar <lajos@google.com> Merge "Opus Matroska support in OpenMax"
bf927f8ec7979f2b64331c2b2f12a6a5dba05bca 29-Jan-2014 Vignesh Venkatasubramanian <vigneshv@google.com> Opus Matroska support in OpenMax

Adding Openmax component for libopus software decoder. This can
decode opus audio files embedded in matroska containers.

Change-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc
Note: This CL is part of adding Opus support to Android.
/frameworks/av/media/libstagefright/ACodec.cpp
dc6ac201032d0f6ad0c8149ae2f009ec38693025 22-Feb-2014 Chong Zhang <chz@google.com> Merge "support for time lapse/slow motion when using SURFACE source"
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/ACodec.cpp
ccb067b1d8424ba610cbd3de83368bd55b532b5b 11-Feb-2014 Andreas Huber <andih@google.com> fix the build by fixing more warnings.

Change-Id: Ied0ec39eb83b101582702d1e30c21643ccf6353e
/frameworks/av/media/libstagefright/ACodec.cpp
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

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

Bug: 12305192
Change-Id: I72d7cb571be5bd348b58ad650f3269d24c15d350
/frameworks/av/media/libstagefright/ACodec.cpp
aae8d29f74d05460a57d0843f6bed95d36a2145b 04-Feb-2014 Changwan Ryu <changwan@google.com> am 90903383: [DO NOT MERGE] Support AC3 in stagefright

* commit '9090338367bd9f3fc5678032332a44d457a4a2fe':
[DO NOT MERGE] Support AC3 in stagefright
3627c74343617fa70ebfd40b46712c234888f456 03-Feb-2014 Robert Shih <robertshih@google.com> Merge "Added support to query ACodec whether adaptive playback is enabled."
3fe8a8f797ca62096f4c929b0d81573ebe4a5458 03-Feb-2014 Robert Shih <robertshih@google.com> Merge "Fixed misplaced bracket for switch-case block."
df900f87eb09e2392d19216f09e0c168883d1004 03-Feb-2014 Lajos Molnar <lajos@google.com> am 324d9157: am 5db1e3a6: Merge "correct one logic error in decide whether should render or not"

* commit '324d9157a30f85fb12afa56b2230663ccdd61ced':
correct one logic error in decide whether should render or not
324d9157a30f85fb12afa56b2230663ccdd61ced 03-Feb-2014 Lajos Molnar <lajos@google.com> am 5db1e3a6: Merge "correct one logic error in decide whether should render or not"

* commit '5db1e3a6f30c252ed61461dd8c58786e905e5f5a':
correct one logic error in decide whether should render or not
79ee2399b67c7a11042c5904dc1309712a76f8cb 14-Jan-2014 Jianzheng Zhou <jianzheng.zhou@freescale.com> correct one logic error in decide whether should render or not

Change-Id: Ie41663f6fd5a7d983279f14a2228cb57231771bf
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
/frameworks/av/media/libstagefright/ACodec.cpp
9090338367bd9f3fc5678032332a44d457a4a2fe 28-Oct-2013 Changwan Ryu <changwan@google.com> [DO NOT MERGE] Support AC3 in stagefright

Change-Id: I12016b424bd069413bd6e380ff11484e175e05f3
/frameworks/av/media/libstagefright/ACodec.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/ACodec.cpp
75832930a28fd70f6fc683ed966477ceea810668 24-Jan-2014 Robert Shih <robertshih@google.com> Added support to query ACodec whether adaptive playback is enabled.

Change-Id: I6b0308aa8550c643706959277e46dad586c37297
/frameworks/av/media/libstagefright/ACodec.cpp
625b93f1971039a547b239f87a2dc8a8d5716589 23-Jan-2014 Robert Shih <robertshih@google.com> Fixed misplaced bracket for switch-case block.

Change-Id: I66b410e1e19601ad65d8357bda4c0c58e2dc15dc
/frameworks/av/media/libstagefright/ACodec.cpp
4d69457c1d7f3e528455fa971c1719099d3699fc 29-Oct-2013 Changwan Ryu <changwan@google.com> Support for MPEG2 video

Change-Id: If1f4e20939c96c87c65c84d56e529501facb8597
(cherry picked from commit 774eb18c40c3a7da0bc1636a9779f02315ddbad8)
/frameworks/av/media/libstagefright/ACodec.cpp
4bdda35319d5f46efea2089b865c8a64816389cd 19-Nov-2013 Marco Nelissen <marcone@google.com> Only send a format change if the buffer has data

b/11696552

Change-Id: I31aba6e01a7b4d288f4d85d9e2ddec0aac1c2d1f
/frameworks/av/media/libstagefright/ACodec.cpp
704287d1b9427cc39e7be2fc44b0ae21840831e4 19-Nov-2013 Lajos Molnar <lajos@google.com> am 72afcd5d: am 5ea5b020: Merge "WA: Queue extra buffers on output port during reconfig if input EOS-ed" into klp-dev

* commit '72afcd5da296b1f5fb38ef037054855aaea88054':
WA: Queue extra buffers on output port during reconfig if input EOS-ed
4dd0a8a3d66c2853faf2834565b3c5df4f68734d 07-Nov-2013 Lajos Molnar <lajos@google.com> WA: Queue extra buffers on output port during reconfig if input EOS-ed

Some codecs may return input buffers before having them processed.
This causes a halt if we already signaled an EOS on the input
port. For now keep submitting output meta buffers one at a time if
the input EOS-ed, but the output not yet.

Normally, we submit an output buffer for each input buffer that is
with the component (waiting to be processed).

Change-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11433909
/frameworks/av/media/libstagefright/ACodec.cpp
d725d23ae67045c22003d419d5c31ca1d551da89 12-Nov-2013 Andreas Huber <andih@google.com> am db50cb5f: am caee8747: Merge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into klp-dev

* commit 'db50cb5f7ae6d2beacd8a4fa4a8991035b3c88e7':
configure bitrate and bitrate mode at encoder initialization for VP8/9
caee8747b7df3b1119426594d4ba1c0e300ff6db 12-Nov-2013 Andreas Huber <andih@google.com> Merge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into klp-dev
a19c9d49ade935c86fcd58bb553ec17e1c9ce730 06-Nov-2013 Changwan Ryu <changwan@google.com> Merge "Support AC3 in stagefright"
97358c3e1adaf4a744cad78891a16d12e3e9c88e 28-Oct-2013 Changwan Ryu <changwan@google.com> Support AC3 in stagefright

Change-Id: I12016b424bd069413bd6e380ff11484e175e05f3
/frameworks/av/media/libstagefright/ACodec.cpp
89b31a3f670d8bec87bed50aaad9bcd8edec66b6 05-Nov-2013 Andreas Huber <andih@google.com> configure bitrate and bitrate mode at encoder initialization for VP8/9

Change-Id: I0389264db4102cabb0c6fcb4ca223d85cc9e86fb
related-to-bug: 11536167
/frameworks/av/media/libstagefright/ACodec.cpp
21264c4f0de2e2e74a62290a4aaafea4cc865528 05-Nov-2013 Lajos Molnar <lajos@google.com> am 2922d230: am 065789f2: Merge "Restore NuPlayer error and EOS handling" into klp-dev

* commit '2922d230155cb1be7acc0c11bef6f0ca0345bdb7':
Restore NuPlayer error and EOS handling
774eb18c40c3a7da0bc1636a9779f02315ddbad8 29-Oct-2013 Changwan Ryu <changwan@google.com> Support for MPEG2 video

Change-Id: If1f4e20939c96c87c65c84d56e529501facb8597
/frameworks/av/media/libstagefright/ACodec.cpp
7fa015217e618265ff5a844cf6961ecc316c81a4 28-Oct-2013 Lajos Molnar <lajos@google.com> Restore NuPlayer error and EOS handling

This was erroneously removed by commit a73c954

Change-Id: I4742339139e770f0181c99d427875897fd60b68e
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11413439
/frameworks/av/media/libstagefright/ACodec.cpp
7bab024867996bec6dc4e3e31ed4570da9afbc25 04-Oct-2013 Lajos Molnar <lajos@google.com> Merge "MediaCodec: avoid codec EOS if flushing during port reconfiguration" into klp-dev
fce0d1883cdbcb7d501625fb43844043cd28a267 03-May-2013 Lajos Molnar <lajos@google.com> stagefright: enable adaptive playback based on codec format key

Added support for prepareForAdaptivePlayback() call in
configureCodec, if max-width and max-height keys are specified
in the format. It is OK for this call to fail, if component
does not implement adaptive playback.

Change-Id: Ie15892bc666df103b635890a0fda799b204bb06c
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 7093648
Bug: 10192531
/frameworks/av/media/libstagefright/ACodec.cpp
a73c954d947748a3b6f630cf2c160fe55ec596e3 02-Oct-2013 Lajos Molnar <lajos@google.com> MediaCodec: avoid codec EOS if flushing during port reconfiguration

Change-Id: Ic2e93f38feeb2e906f8d6b400ed6df2b7580ca87
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11045434
/frameworks/av/media/libstagefright/ACodec.cpp
530fdbdc1b5491f3fbf172752834d1515701e142 18-Sep-2013 Lajos Molnar <lajos@google.com> Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value

Change-Id: I157bcafbf705865e66c81517b1eab10c3daa039e
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10461617
/frameworks/av/media/libstagefright/ACodec.cpp
c38fcfba95f711e5738e4c72bd5499317a2f30d9 12-Sep-2013 Lajos Molnar <lajos@google.com> ACodec: fix flush/resume for decoder-output-meta-data mode

When in decoder-output-meta-data mode, ACodec does not hold onto
buffers, but they are either with the native window, or with the
component/client. However, for flushing we did not release the
discarded buffers back to native window (this makes sense because
they will be resubmitted shortly.) This logic can be handled by
the normal resubmission.

Change-Id: Ic472b386422251515ef12f426e187f208f14decc
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10621959
Bug: 10192533
/frameworks/av/media/libstagefright/ACodec.cpp
0167414e261f88a96b5e4bf6cb592e6ca11e5a95 14-Aug-2013 Andreas Huber <andih@google.com> You can now opt-in to having the video decoder push blank buffers to the

surface on the transition from executing->idle by specifying the key
"push-blank-buffers-on-shutdown" with a value of 1 in the call to configure.

Change-Id: I1155fccf89f18e717728c985e590651597595515
/frameworks/av/media/libstagefright/ACodec.cpp
cd06d357ed4fcde991aa55dc97317d97cb287332 13-Aug-2013 Andreas Huber <andih@google.com> Merge "Optionally repeat the previously submitted frame to the encoder" into klp-dev
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/ACodec.cpp
b8689b31813f55cbc1bf8e9ca0d46a9ee113e38a 12-Aug-2013 Andreas Huber <andih@google.com> Support for "request-sync" parameter in ACodec

Also returns errors to caller instead of asserting...

Change-Id: Id3018655a2b3da4289167fba16af907350a511ae
/frameworks/av/media/libstagefright/ACodec.cpp
d0715867861c216e88a4a7523b6da8a3cb128724 22-Jul-2013 Lajos Molnar <lajos@google.com> IOMX: add updateGraphicBufferInMeta method for metadata mode

This is used to set the handle in the metadata buffer that is
valid in the mediaserver process, as well as to keep a reference
for the graphic buffers in BufferMeta.

Change-Id: I46bb68d8bed894f357eeeb25368360d11b276634
Signed-off-by: Lajos Molnar <lajos@google.com>
/frameworks/av/media/libstagefright/ACodec.cpp
760874ca0ff100ed04d80495347f7e98424c838a 18-Jul-2013 Dima Zavin <dima@android.com> Merge "stagefright: set scaling mode for blank frames in ACodec"
87eb285dca94b20dc5f0ff8e60a0d395a4ca3be9 18-Jul-2013 Dima Zavin <dima@android.com> stagefright: set scaling mode for blank frames in ACodec

Analogous to 1d5ac80d0c6d3deabcc9e9b4abc9e3ef536aeb27
(by jgennis), this sets the scaling mode for the ANativeWindow
to SCALE_TO_WINDOW prior to pushing the blank frames during
decoder tear down.

Without this, the window defaults to FREEZE and SF ignores the
new frames.

Bug: 9516405
Change-Id: I39ef30922d733034bf01100d7ff24ac9c0c33b7d
Signed-off-by: Dima Zavin <dima@android.com>
/frameworks/av/media/libstagefright/ACodec.cpp
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/ACodec.cpp
3b6d6b1b95b9aefc4b2c78808ad7c873f1e8f0f5 26-Jun-2013 Lajos Molnar <lajos@google.com> Merge "Adds VP9 decoding support for stagefright."
94705aff3c9eef58cbb72ec6fe5d2dcfd9481646 24-Jun-2013 hkuang <hkuang@google.com> Adds VP9 decoding support for stagefright.

Also change the VP8 encoder role name from
video_encoder.vpx to video_encoder.vp8 for
future VP9 encoder support.


Requires the change in frameworks/native and media_codecs.xml
corresponding to the device.


VP9 decoding test will be added to cts repo later.
/frameworks/av/media/libstagefright/ACodec.cpp
054e7347cc60ad4b9dd2e8f456406f122f9f5879 03-May-2013 Lajos Molnar <lajos@google.com> stagefright: support for video decoder metadata mode

Change-Id: Id360f29236798163f9f3a82135f601083a8a5058
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 7093648
/frameworks/av/media/libstagefright/ACodec.cpp
63e9f73c2db01fec30246adbcfea2880671e2108 12-Jun-2013 Lajos Molnar <lajos@google.com> am f8af99b7: am 0662f7b6: Merge "stagefright: synchronously change nativewindow crop" into jb-mr2-dev

* commit 'f8af99b7c10f1441d9a52676724b168f20752270':
stagefright: synchronously change nativewindow crop
577db6d42b8d83b3578c7e56b1391bdaca9cb705 12-Jun-2013 Lajos Molnar <lajos@google.com> stagefright: synchronously change nativewindow crop

Only change the nativewindow crop before queuing frames
with the new crop.

Change-Id: Icd8a84c82e66a8be3d6bc1675c777b1de8dc39b9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9395753
/frameworks/av/media/libstagefright/ACodec.cpp
e532d37cf9342abbca398e4ce671b880369d90c6 27-Apr-2013 Lajos Molnar <lajos@google.com> stagefright: Fix port-reconfiguration & output-buffer-filled race condition

Remove the invalid assumption that when a port-reconfiguration event
is received, buffers cannot be downstream (waiting to be rendered).

Luckily, these buffers are properly handled (freed) after they are
sent to be rendered.

Change-Id: I1df39c1ffc2bfb96f8b7b4ee5be07cae654f956f
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 8736466
/frameworks/av/media/libstagefright/ACodec.cpp
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
/frameworks/av/media/libstagefright/ACodec.cpp
308bcaa44e578279e61be32b572fdb0b11b1e4c7 04-May-2013 Chong Zhang <chz@google.com> wifi-display: add support for metadata mode on encoder output

pass buffer_handle_t from encoder output to HDCP encryptor input

Bug: 8968123

Change-Id: Iea8007ce568641e213fd2e3cf6947a6f7a95746c
/frameworks/av/media/libstagefright/ACodec.cpp
d7107bf350e6e7720ab412396891348b092f330b 11-May-2013 Marco Nelissen <marcone@google.com> am b12caf7b: am 519f7624: Merge "Don\'t render buffers that have size 0" into jb-mr2-dev

* commit 'b12caf7be3759c6b322fe82792f7c6fbc3600c0c':
Don't render buffers that have size 0
6aade6058521b0dbd35a9a4620f4d04f02f90444 09-May-2013 Marco Nelissen <marcone@google.com> Don't render buffers that have size 0

b/8857451

Change-Id: I12a31a2f85af76602db9e6f0ec80632954b3f7ed
/frameworks/av/media/libstagefright/ACodec.cpp
b6ac8e2ce3574160714fd3c0c6d6b5fbf6c8eeab 09-May-2013 Marco Nelissen <marcone@google.com> Don't render buffers that have size 0

b/8857451

Change-Id: I12a31a2f85af76602db9e6f0ec80632954b3f7ed
/frameworks/av/media/libstagefright/ACodec.cpp
1f9374bad4f59d619ef30f227705a926dabf41d5 01-May-2013 Andreas Huber <andih@google.com> am 9db1b382: am deff6910: Merge "Support MediaCodec::getOutputFormat for encoders" into jb-mr2-dev

* commit '9db1b382c279f992dcd33a56226b1f5d2a24afca':
Support MediaCodec::getOutputFormat for encoders
e96ee699aca0f711d41e6c0833e5de2341c4a36d 01-May-2013 Andreas Huber <andih@google.com> Support MediaCodec::getOutputFormat for encoders

codec specific data is provided as part of the MediaFormat if available.

Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e
related-to-bug: 8616651
/frameworks/av/media/libstagefright/ACodec.cpp
cd4ac42ed448f1cb286ca4c3c7ea64621adf9d42 01-May-2013 Andreas Huber <andih@google.com> Support MediaCodec::getOutputFormat for encoders

codec specific data is provided as part of the MediaFormat if available.

Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e
related-to-bug: 8616651
/frameworks/av/media/libstagefright/ACodec.cpp
2ded8b53014602d25b20bade8ce46db95a8da4b5 27-Apr-2013 Lajos Molnar <lajos@google.com> stagefright: Fix port-reconfiguration & output-buffer-filled race condition

Remove the invalid assumption that when a port-reconfiguration event
is received, buffers cannot be downstream (waiting to be rendered).

Luckily, these buffers are properly handled (freed) after they are
sent to be rendered.

Also, the case where buffers have been sent onto the native window
is already handled.

Change-Id: I1df39c1ffc2bfb96f8b7b4ee5be07cae654f956f
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 8736466
/frameworks/av/media/libstagefright/ACodec.cpp
7e7013392e302a28364df1dcee79b82ad90978b4 19-Apr-2013 Andreas Huber <andih@google.com> A flush of a video decoder connected to a native window must reclaim

output buffers already queued for rendering before considering a flush
completed. Otherwise the decoder may not have enough output buffers to
continue decoding after the discontinuity and we'll never dequeue more
from the native window.

Change-Id: I42e275dc336568e180081c6d7c0dc05fc9637c79
related-to-bug: 8578467
/frameworks/av/media/libstagefright/ACodec.cpp
0ae2001f40587556e2f5ed56f791292fb5e9a329 19-Apr-2013 Andreas Huber <andih@google.com> A flush of a video decoder connected to a native window must reclaim

output buffers already queued for rendering before considering a flush
completed. Otherwise the decoder may not have enough output buffers to
continue decoding after the discontinuity and we'll never dequeue more
from the native window.

Change-Id: I42e275dc336568e180081c6d7c0dc05fc9637c79
related-to-bug: 8578467
/frameworks/av/media/libstagefright/ACodec.cpp
42392e49e167c6a0c573e55e1c1b4c7fa0ceb213 17-Apr-2013 Andreas Huber <andih@google.com> Apparently the mp3 decoder glitches if it was configured with the wrong

sample rate. Make sure we tell it about the one the extractor provides.

Change-Id: Ice5b9cf55485ca1a8f099a14be0202be9540e781
related-to-bug: 8621639
/frameworks/av/media/libstagefright/ACodec.cpp
2242fbd1d9327dff9c25ac2aba0fa7d5d471bb88 17-Apr-2013 Andreas Huber <andih@google.com> Apparently the mp3 decoder glitches if it was configured with the wrong

sample rate. Make sure we tell it about the one the extractor provides.

Change-Id: Ice5b9cf55485ca1a8f099a14be0202be9540e781
related-to-bug: 8621639
/frameworks/av/media/libstagefright/ACodec.cpp
089edf2e227c72b7ff4fd9b9ed96320e21811d50 12-Apr-2013 Marco Nelissen <marcone@google.com> Merge "Fix MediaCodec.flush()" into jb-mr2-dev
91b4e0d2b2dc0d3eeee375d51f48ff8cc243f6ca 12-Apr-2013 Marco Nelissen <marcone@google.com> Merge "Fix MediaCodec.flush()" into jb-mr2-dev
f3bd1972e039c6ded5154db715e5a32f1813a239 09-Apr-2013 Marco Nelissen <marcone@google.com> Fix MediaCodec.flush()

There were two problems here. One was that the skip/cut buffer
wasn't cleared when it should be, and the second was that we
were always sending the first buffer of encoded data to the AAC
decoder twice.
b/8543366

Change-Id: Ic040edabf16cccd1f6ef8c9e5c9cfbacbdd8a089
/frameworks/av/media/libstagefright/ACodec.cpp
b3ac921cae96686ec0902796bb8f8ef99ae08abd 09-Apr-2013 Marco Nelissen <marcone@google.com> Fix MediaCodec.flush()

There were two problems here. One was that the skip/cut buffer
wasn't cleared when it should be, and the second was that we
were always sending the first buffer of encoded data to the AAC
decoder twice.
b/8543366

Change-Id: Ic040edabf16cccd1f6ef8c9e5c9cfbacbdd8a089
/frameworks/av/media/libstagefright/ACodec.cpp
5157b1e8355ef3176536e4de793ec1b7679b7ad9 12-Apr-2013 Andreas Huber <andih@google.com> Merge "ACodec now signals an error if the mediaserver died while it is in" into jb-mr2-dev
99076b990cfc6514b7de3a4809b3b3ff3d76e43d 12-Apr-2013 Andreas Huber <andih@google.com> Merge "ACodec now signals an error if the mediaserver died while it is in" into jb-mr2-dev
ac0230da14a3d223c2144b165a3a163e8519d239 12-Apr-2013 Andreas Huber <andih@google.com> ACodec now signals an error if the mediaserver died while it is in

anything other than "uninitialized" state.

Change-Id: Id133d897ac65b455b34e5de17ff9c39b47285630
related-to-bug: 8397711
/frameworks/av/media/libstagefright/ACodec.cpp
6610a7d621c634fe059b855ca7eb3f58fb8d0757 12-Apr-2013 Andreas Huber <andih@google.com> ACodec now signals an error if the mediaserver died while it is in

anything other than "uninitialized" state.

Change-Id: Id133d897ac65b455b34e5de17ff9c39b47285630
related-to-bug: 8397711
/frameworks/av/media/libstagefright/ACodec.cpp
76ab6df08a2069eac6317715dadccbb6041e7fab 11-Apr-2013 Andreas Huber <andih@google.com> The framework really doesn't need to know the specifics of the codec

color format, so stop trying to enforce a whitelist.

Change-Id: I0ceb3bdd5bcc6c1bbd56740b0cd662a2b5820dfe
related-to-bug: 8596546
/frameworks/av/media/libstagefright/ACodec.cpp
3c09d025b60dedc605e893d630177bd54552f061 11-Apr-2013 Andreas Huber <andih@google.com> The framework really doesn't need to know the specifics of the codec

color format, so stop trying to enforce a whitelist.

Change-Id: I0ceb3bdd5bcc6c1bbd56740b0cd662a2b5820dfe
related-to-bug: 8596546
/frameworks/av/media/libstagefright/ACodec.cpp
6463e76d41430f9b03a79b221de84255f2475658 05-Apr-2013 Marco Nelissen <marcone@google.com> Make sure resume() and flush() are handled appropriately even if the codec

is in Loaded->Idle state.
b/8347958

Change-Id: Ic14d29502a7effc636251379bb1bbc25739db98e
/frameworks/av/media/libstagefright/ACodec.cpp
488bf2281134c549fcc9ffcec7bda9690c2d5617 05-Apr-2013 Marco Nelissen <marcone@google.com> Make sure resume() and flush() are handled appropriately even if the codec

is in Loaded->Idle state.
b/8347958

Change-Id: Ic14d29502a7effc636251379bb1bbc25739db98e
/frameworks/av/media/libstagefright/ACodec.cpp
d477b8d071826c0768620f7ac302f31d8b12b1ca 28-Mar-2013 Andreas Huber <andih@google.com> Make sure resume() and flush() are handled appropriately even if the codec

is in Idle->Executing state.

Change-Id: I16a10791fae0e062a19299732c472cc93e4ed971
related-to-bug: 8347958
/frameworks/av/media/libstagefright/ACodec.cpp
5e691cd3aed18b79cc7362b6689f67886ce90e56 28-Mar-2013 Andreas Huber <andih@google.com> Make sure resume() and flush() are handled appropriately even if the codec

is in Idle->Executing state.

Change-Id: I16a10791fae0e062a19299732c472cc93e4ed971
related-to-bug: 8347958
/frameworks/av/media/libstagefright/ACodec.cpp
6507d14c6d10f93d390de62b9eed267f9b544985 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/ACodec.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/ACodec.cpp
7cd58537932ef6f481f68be0b9c597a89cebdfec 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/ACodec.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/ACodec.cpp
a2eb22c1de262aa3fa7c356537ac2fe165afdf3d 07-Feb-2013 Andreas Huber <andih@google.com> Allow for dynamic reconfiguration of the video bitrate used

to encode video while running as a wfd source.

Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
/frameworks/av/media/libstagefright/ACodec.cpp
c71601c3b1dd63afc9be462194809813e4dbacf1 07-Feb-2013 Andreas Huber <andih@google.com> Allow for dynamic reconfiguration of the video bitrate used

to encode video while running as a wfd source.

Change-Id: I44f7b2350c88fc5807047c61bfe594ef8fa79275
/frameworks/av/media/libstagefright/ACodec.cpp
0f6675d5fdf15d4b8765545fb6a351138acccdf6 16-Jan-2013 SeungBeom Kim <sbcrux.kim@samsung.com> ACodec Fix.

Bug: 7961269

Change-Id: Ie12530f89dd96dbce82e873de0c2310490390c34
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
/frameworks/av/media/libstagefright/ACodec.cpp
14e4016259e18f6d88446145f8973d22d9884505 16-Jan-2013 SeungBeom Kim <sbcrux.kim@samsung.com> ACodec Fix.

Bug: 7961269

Change-Id: Ie12530f89dd96dbce82e873de0c2310490390c34
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
/frameworks/av/media/libstagefright/ACodec.cpp
21ad778dcfcddb8f8fd9dc3fe4992fbef246c511 18-Dec-2012 Marco Nelissen <marcone@google.com> Report buffer size even when using hardware buffers

This makes it so that the buffers dequeued from a MediaCodec show
a non-zero size when there's actually data in them, which allows
the caller to distinguish between a valid frame and an empty buffer.

Change-Id: I891b2301501e26f0b4e8cf2e24c169e501a6d026
/frameworks/av/media/libstagefright/ACodec.cpp
616d9ea56744a9aeb3ae93e850450732acfe96a8 18-Dec-2012 Marco Nelissen <marcone@google.com> Report buffer size even when using hardware buffers

This makes it so that the buffers dequeued from a MediaCodec show
a non-zero size when there's actually data in them, which allows
the caller to distinguish between a valid frame and an empty buffer.

Change-Id: I891b2301501e26f0b4e8cf2e24c169e501a6d026
/frameworks/av/media/libstagefright/ACodec.cpp
516dacfb02d0b0eafe21114330c98ce0e7d90da9 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
/frameworks/av/media/libstagefright/ACodec.cpp
e9810fae2ca6620337b75a787786cc0ea52adecd 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
/frameworks/av/media/libstagefright/ACodec.cpp
239a901bb320383eb1aa2820c02c80937053acb4 29-Nov-2012 James Dong <jdong@google.com> am 296cb9dd: am 0dbe5a93: Added optional intra macroblock refresh support for encoding

* commit '296cb9ddd916c43983bfb4ddab9c69ed555d4cc4':
Added optional intra macroblock refresh support for encoding
2e57f4c428be32a574e31b0f4aeeae8de24e5895 29-Nov-2012 James Dong <jdong@google.com> am 296cb9dd: am 0dbe5a93: Added optional intra macroblock refresh support for encoding

* commit '296cb9ddd916c43983bfb4ddab9c69ed555d4cc4':
Added optional intra macroblock refresh support for encoding
f6f38287b97ec69b169387add6458f859b770e65 29-Nov-2012 Andreas Huber <andih@google.com> Clear the sticky EOS flags when transitioning to LOADED state

instead of transitioning _from_ UNINITIALIZED state. This makes codec instances
reusable.

Change-Id: I8f0c11923978ffee58b553a5ac59c740b0223c54
/frameworks/av/media/libstagefright/ACodec.cpp
16572becd56c43a43ceffd8edd33263895d0c045 29-Nov-2012 Andreas Huber <andih@google.com> Clear the sticky EOS flags when transitioning to LOADED state

instead of transitioning _from_ UNINITIALIZED state. This makes codec instances
reusable.

Change-Id: I8f0c11923978ffee58b553a5ac59c740b0223c54
/frameworks/av/media/libstagefright/ACodec.cpp
0dbe5a9321b24b6883fbb2fe97cd9d525128b0b5 15-Nov-2012 James Dong <jdong@google.com> Added optional intra macroblock refresh support for encoding

o related-to-bug: 7524791

Change-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f
/frameworks/av/media/libstagefright/ACodec.cpp
e97adde42fabc3928a2ac0b8cdc88e35b24b85dc 15-Nov-2012 James Dong <jdong@google.com> Added optional intra macroblock refresh support for encoding

o related-to-bug: 7524791

Change-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f
/frameworks/av/media/libstagefright/ACodec.cpp
ba933df89521d63f75ca66af12ce9d7ae9496b9e 15-Nov-2012 Marco Nelissen <marcone@google.com> Add GSM 6.10 decoder

Supports Microsoft frame packing only, since that's what the sample
file used.
b/6620569

Change-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d
/frameworks/av/media/libstagefright/ACodec.cpp
2ed5cf016c1b45426ae25ab105e02ff4bb992f28 15-Nov-2012 Marco Nelissen <marcone@google.com> Add GSM 6.10 decoder

Supports Microsoft frame packing only, since that's what the sample
file used.
b/6620569

Change-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d
/frameworks/av/media/libstagefright/ACodec.cpp
4471e47ece77be5b4159cc9cbbcef4d43900d36f 14-Nov-2012 Andreas Huber <andih@google.com> Properly signal an error if codec configuration goes wrong.

previously any error signaled by setupXXX inside ACodec::configureCodec
would be overwritten with the result of setMinBufferSize at the end
of the function.

Change-Id: Id4beb571ca52ea4646239d0af006e09ce1130268
related-to-bug: 7542181
/frameworks/av/media/libstagefright/ACodec.cpp
b81ed713b09d6db0f01d052fcd3f6bdfb5dd05c1 14-Nov-2012 Andreas Huber <andih@google.com> Properly signal an error if codec configuration goes wrong.

previously any error signaled by setupXXX inside ACodec::configureCodec
would be overwritten with the result of setMinBufferSize at the end
of the function.

Change-Id: Id4beb571ca52ea4646239d0af006e09ce1130268
related-to-bug: 7542181
/frameworks/av/media/libstagefright/ACodec.cpp
96076964863ee6887f0bed9d0f11f424b48ab9b9 01-Nov-2012 Andreas Huber <andih@google.com> Make video encoders' bitrate mode (constant, variable, ...) configurable

through the desired output format. Configure the video encoder to use
constant bitrate mode for WFD.

Change-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333
related-to-bug: 7459597
/frameworks/av/media/libstagefright/ACodec.cpp
7b4262221c06951e9df75d5414c0a7daab365177 01-Nov-2012 Andreas Huber <andih@google.com> Make video encoders' bitrate mode (constant, variable, ...) configurable

through the desired output format. Configure the video encoder to use
constant bitrate mode for WFD.

Change-Id: Id7bd619598153c13448a9c5acd69d80f8a01f333
related-to-bug: 7459597
/frameworks/av/media/libstagefright/ACodec.cpp
3a0ef0dc71f3776d115f30d87f1d8867daefea88 28-Sep-2012 Andreas Huber <andih@google.com> Tell the encoder to emit SPS/PPS before IDR frames in wifi display code.

Change-Id: Ic40e09b66784dd2e370d30b688d50561a47ab85a
related-to-bug: 7245308
/frameworks/av/media/libstagefright/ACodec.cpp
13315ce05fbee1e1f5b920cfe4217c3a30167023 28-Sep-2012 Andreas Huber <andih@google.com> Tell the encoder to emit SPS/PPS before IDR frames in wifi display code.

Change-Id: Ic40e09b66784dd2e370d30b688d50561a47ab85a
related-to-bug: 7245308
/frameworks/av/media/libstagefright/ACodec.cpp
96fc6cc65ca93009a759a3a874b82a35771b9714 28-Sep-2012 Andreas Huber <andih@google.com> Various improvements to a cleaner shutdown of the wifi display connection.

Change-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239
related-to-bug: 7247918
/frameworks/av/media/libstagefright/ACodec.cpp
a7f7e0ac9436a8417bb9f31aecedfec1909d4630 28-Sep-2012 Andreas Huber <andih@google.com> Various improvements to a cleaner shutdown of the wifi display connection.

Change-Id: Id029a89939e53c2bd1d20e572d3975ec2795c239
related-to-bug: 7247918
/frameworks/av/media/libstagefright/ACodec.cpp
496238cc7551d414067dcbbb4fe3bd801f205f95 14-Sep-2012 Andreas Huber <andih@google.com> Support IDR requests in wifi display, MediaCodec and ACodec.

Change-Id: I596cf8dd61b63465437f78413186fad2be287244
/frameworks/av/media/libstagefright/ACodec.cpp
03e2ffa64470eec4e886614a4fa4facbae58a862 14-Sep-2012 Andreas Huber <andih@google.com> Support IDR requests in wifi display, MediaCodec and ACodec.

Change-Id: I596cf8dd61b63465437f78413186fad2be287244
/frameworks/av/media/libstagefright/ACodec.cpp
d7bee3a9d2ad76d073d91f0ee36d5ac5f9df480c 29-Aug-2012 Andreas Huber <andih@google.com> Initial checkin of support for acting as a wifi display source

Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
/frameworks/av/media/libstagefright/ACodec.cpp
35213f1420c669f43314cb75eadea450d21a75cb 29-Aug-2012 Andreas Huber <andih@google.com> Initial checkin of support for acting as a wifi display source

Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
/frameworks/av/media/libstagefright/ACodec.cpp
e671207115fac3914134c61b336d5fa0242c68ca 26-Jun-2012 Andreas Huber <andih@google.com> Make sure codec names and corresponding quirks are returned together.

Previously they were returned in separate vectors and only one of them was sorted if
software codecs were preferred, leaving the quirks no longer matching the codec name
at the same index.

Change-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604
related-to-bug: 6737884
/frameworks/av/media/libstagefright/ACodec.cpp
9fbe94294ce2053d102ff5de89846a0c5015fb58 30-Jul-2012 Ed Heyl <ed@google.com> Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev

Conflicts:
services/audioflinger/AudioFlinger.cpp

Change-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b
1e5b2b3361ddd07259bf4b29820ca4aa5f3a861b 14-Jun-2012 Jamie Gennis <jgennis@google.com> Update ANativeWindow client code for sync

This change updates all the uses of ANativeWindow to use the new ANW functions
that accept and return Sync HAL fence file descriptors.

Change-Id: Id7db42d8d6380f8b440d88476ce9211c6225fb16
/frameworks/av/media/libstagefright/ACodec.cpp
18faac2af4e3b27deec0a707757883e5e569c591 21-Jun-2012 Haynes Mathew George <hgeorge@codeaurora.org> Add vendor specific output color format

- Add Qualcomm specific color format support to OMXCodec and ACodec
- This is the default color format supported on QCom chipsets

Change-Id: Id947b158c3b403c2d347f708bc1e780b4d65e220
/frameworks/av/media/libstagefright/ACodec.cpp
755b9861197f1566f916785ba7d35cf86fd5b2d5 29-May-2012 Andreas Huber <andih@google.com> Unwedge ACodec if allocating output buffers fails while reconfiguring.

Change-Id: I871cf639167c01860e65c0408d3ce935f8f8f1ea
related-to-bug: 6571060
/frameworks/av/media/libstagefright/ACodec.cpp
bc098410be55f9d96f394b3981a0c482b83859b6 22-May-2012 Andreas Huber <andih@google.com> Tell surface flinger that we want to protect output buffers from being

sent to HDMI (without HDCP) and push a few black frames on IDLE->LOADED
similar to OMXCodec's behaviour.

Change-Id: Iea6055a115151ca881220a70a31af6ade2c58cb3
related-to-bug: 6537187
/frameworks/av/media/libstagefright/ACodec.cpp
91bfadb4aa75444c60e9949232de3c184cfe060a 21-May-2012 Andreas Huber <andih@google.com> If we encounter an error during buffer allocation change state back

to LOADED instead of remaining in the transitional state LOADED->IDLE
that won't properly handle flush or shutdown requests.

Change-Id: Ica1bf22eb884b220f18ed2a4f7a9c56eec228796
related-to-bug: 6516512
/frameworks/av/media/libstagefright/ACodec.cpp
1ec498e67f78fb0c3ab2a1cd9a071e6356618dad 15-May-2012 Andreas Huber <andih@google.com> Explicitly set the video scaling mode to "stretch".

Change-Id: I23b8848cfef51bc8ea72deb22783e21d093dbd98
related-to-bug: 6498150
/frameworks/av/media/libstagefright/ACodec.cpp
44f84ded62bffd5f04e0f5961e8304427a7b9f34 14-May-2012 Andreas Huber <andih@google.com> ACodec mustn't override the video scaling mod.

Change-Id: Id9b569446d73dcfe44ab4a3488812203758c9c42
related-to-bug: 6490687
/frameworks/av/media/libstagefright/ACodec.cpp
eb61431af13741aa8b7e57a39f69bba5a6c190dc 11-May-2012 Andreas Huber <andih@google.com> Increase AAC software decoder's buffer count. Refactor how clients

of ACodec get notified about codec buffers and buffer ids.

Change-Id: I962f873262dae7aa7b43f5f68a6d60268282f91e
related-to-bug: 6478823
/frameworks/av/media/libstagefright/ACodec.cpp
2f74ef3cdc192f817ee1121f41765f0852c1d81e 30-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> OMX IL wrapper for FLAC encoder

Add wrapper around libFLAC for FLAC encoding in OpenMAX IL.

Declare FLAC encoder in OMX component roles.

Bug 5525503

Change-Id: I19bbce41c216870669d09365693f4ea89f8bc0f7
/frameworks/av/media/libstagefright/ACodec.cpp
7c25df82dfc8bbedb58608242f0d923a4594bb14 07-May-2012 James Dong <jdong@google.com> Get rid of vendor specific video encoder component names from ACodec and OMXCodec

o related-to-bug: 6446245

Change-Id: I1fa07ad8a39337e3b19ac51c10533a2de8c11bb5
/frameworks/av/media/libstagefright/ACodec.cpp
9806555d3930be43e11106281dee354820ac1c88 03-May-2012 Andreas Huber <andih@google.com> Respect channel mask in ACodec and NuPlayer.

Refactor conversion from MetaData into AMessage while we're at it.

Change-Id: I5479129836ea4316e8de28cf1b472bf19e3ac4ab
related-to-bug: 6439076
/frameworks/av/media/libstagefright/ACodec.cpp
8b71241ce7353731ab75322c46e090ee35014a33 27-Apr-2012 Marco Nelissen <marcone@google.com> Fix mono gapless playback for decoders that output stereo

The old AAC decoder always outputs stereo, even for mono source material, so we
need to use the number of channels of the output when calculating the number of
bytes to skip, not the number of channels in the source.
This makes OMXCodec skip the right amount of data, and prevents NuPlayer from
writing half a frame and then asserting when the AudioSink doesn't accept it.
Also move use of the SkipCutBuffer from NuPlayer to ACodec, so that it also
works when using the new Java APIs, and make SkipCutBuffer derive from RefBase.
b/774846

Change-Id: I34df9fea3e6730617eae559afaa556f4085ef0a0
/frameworks/av/media/libstagefright/ACodec.cpp
aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b 19-Apr-2012 Dave Burke <daveburke@google.com> Add Fraunhofer AAC encoder with AAC-ELD support.

Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
/frameworks/av/media/libstagefright/ACodec.cpp
c1d8115e8a0bdaeb2b723d395b9a85a02c90c933 24-Apr-2012 Andreas Huber <andih@google.com> Make sure OMXCodec and ACodec both accept more than 2 channels of audio

and fill in the OMX channel mask properly.

Change-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305
/frameworks/av/media/libstagefright/ACodec.cpp
ecdd39c5af016e2fa57cbfd837aa670b706dabd3 29-Mar-2012 Andreas Huber <andih@google.com> Implementation of a raw audio "decoder".

Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
/frameworks/av/media/libstagefright/ACodec.cpp
ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
/frameworks/av/media/libstagefright/ACodec.cpp
c5255ac5b1bd313dcb50159566163b24dce7483f 16-Mar-2012 Andreas Huber <andih@google.com> ACodec is a little more aggressive in its error checking now.

Update components to do the right thing.

Change-Id: Ibfbad3f53effc16368cca4a0e978d01d54d08a1d
/frameworks/av/media/libstagefright/ACodec.cpp
afc16d667afa23f5aa00154ccad62f8c45cf5419 01-Mar-2012 Andreas Huber <andih@google.com> Instead of hardcoding OMX component names in our code, support

a config file instead.

Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
/frameworks/av/media/libstagefright/ACodec.cpp
c95c2ddcdfc974f42408a377fbe2de51b94a8c94 29-Feb-2012 Andreas Huber <andih@google.com> Separate the notion of "stop" from that of "release", i.e.

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
/frameworks/av/media/libstagefright/ACodec.cpp
df712ea86e6350f7005a02ab0e1c60c28a343ed0 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
/frameworks/av/media/libstagefright/ACodec.cpp
2d8bedd05437b6fccdbc6bf70f673ffd86744d59 21-Feb-2012 Andreas Huber <andih@google.com> Add new APIs AMessage::(set|find)Buffer to make it safer to pass

ABuffer objects through messages.

Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
/frameworks/av/media/libstagefright/ACodec.cpp
5778822d86b0337407514b9372562b86edfa91cd 21-Feb-2012 Andreas Huber <andih@google.com> Implementation of a java media codec interface and associated tools.

Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
/frameworks/av/media/libstagefright/ACodec.cpp
29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/av/media/libstagefright/ACodec.cpp
5ff1dd576bb93c45b44088a51544a18fc43ebf58 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
/frameworks/av/media/libstagefright/ACodec.cpp
7a3a2b2f9bb9421dcf83fbd47276e57917078aef 30-Nov-2011 James Dong <jdong@google.com> Fix the broken build

Change-Id: Ib508514891474d24f14ac69d721b0c9c700a0c3f
/frameworks/av/media/libstagefright/ACodec.cpp
8afbf8e07fd1d75dfa0a517267beb6c1fa818027 30-Nov-2011 Andreas Huber <andih@google.com> am 52607c53: am d12dc284: Merge "If an error occurs that prevents us from reallocating buffers during a format change" into ics-mr1

* commit '52607c5364446df6ac5b2f55cb50e146e6023a4f':
If an error occurs that prevents us from reallocating buffers during a format change
d3d822204249eaca4259bdf46f6f0357b96e8e21 28-Nov-2011 Andreas Huber <andih@google.com> If an error occurs that prevents us from reallocating buffers during a format change

we need to transition to executing state anyway to be able to properly flush/shutdown
in the future.

Change-Id: Ie48bc09ea31942009ae3a5a45aabc9ffad9fb91f
related-to-bug: 5655016
/frameworks/av/media/libstagefright/ACodec.cpp
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/av/media/libstagefright/ACodec.cpp
2944eca607304a095ea43ba2b8f0b9de61249f9f 08-Sep-2011 Andreas Huber <andih@google.com> Support for an MPEG2 Program Stream extractor.

Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
/frameworks/av/media/libstagefright/ACodec.cpp
729de186450f78c099637e1fce743fe531862c52 28-Sep-2011 Andreas Huber <andih@google.com> Support AMR, G.711 and vorbis audio in ACodec and friends.

Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
/frameworks/av/media/libstagefright/ACodec.cpp
dc9bacd838442a524585887e6ea6696836be2eda 26-Sep-2011 Andreas Huber <andih@google.com> Propagate error signalled by the source all the way to the output EOS notification.

Change-Id: I30e959a6d669f09745c59fbdebee08f869511cf7
related-to-bug: 5372901
/frameworks/av/media/libstagefright/ACodec.cpp
078cfcf7cce9185ec7559910d08b0bc02bfc88a3 15-Sep-2011 Andreas Huber <andih@google.com> Various improvements to nuplayer playback

- Drastically cut down the number of times we supply the AudioSink with data
by estimating the time until the sink would run out of data and then scheduling
a refill in advance of that.

- Use a dedicated looper for video decoders since they are currently taking
too long to return from OMX_FillThisBuffer (bug 5325201)

- Revise thread priorities for the OMX dispatcher and software codecs, instead
of running them at ANDROID_PRIORITY_AUDIO, they now only run at
ANDROID_PRIORITY_FOREGROUND

- Since threads created by pthread_create inherit all of the parent threads
attributes including thread priority, briefly reset thread priority to
ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then
restore it.

Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
/frameworks/av/media/libstagefright/ACodec.cpp
cc54fbaa69c0b69929467449d2c19192f15b5039 12-Sep-2011 Andreas Huber <andih@google.com> Turn an another assertion into a runtime error in ACodec's implementation

Change-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd
related-to-bug: 5284760
/frameworks/av/media/libstagefright/ACodec.cpp
cb67cd1b51ff9ab221e3124cf7e546515fef3c87 27-Aug-2011 Andreas Huber <andih@google.com> Signal errors to the client instead of asserting in ACodec.

Also make sure NuPlayer can properly shutdown in certain edge cases.

Change-Id: Iceb16d600d87ba66c802e60e95bf62f66487a453
/frameworks/av/media/libstagefright/ACodec.cpp
c92fd24c10a6bf80b346d7e261325434d9c6964b 16-Aug-2011 Andreas Huber <andih@google.com> Error handling in ACodec and Nuplayer.

Codec errors (and codec not found errors) now trigger a controlled shutdown
of playback and signal errors to the MediaPlayer client.

Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
/frameworks/av/media/libstagefright/ACodec.cpp
9bc7af17974f448291a44912566ec7472a0d798b 19-Jul-2011 Mathias Agopian <mathias@google.com> use SurfaceTexture new scaling mode in SF

SF now obeys SurfaceTexture's scaling mode instead
of inferring it from the buffer's size

Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
/frameworks/av/media/libstagefright/ACodec.cpp
0af941927ef8f35f2da5380dfd8d04b7f4ed3532 01-Jul-2011 Andreas Huber <andih@google.com> Ignore all flush-complete notifications with port == OMX_ALL

Use of this notification is not consistent across
implementations. We'll drop this notification and rely
on flush-complete notifications on the individual port
indices instead.

Change-Id: I76c0dfdcfc92a7c9acf57abf3027d2638d77efca
/frameworks/av/media/libstagefright/ACodec.cpp
e5bf6409774fe73f968b7db215f535b64de66139 30-Jun-2011 Andreas Huber <andih@google.com> Some (most) OMX decoders do not send a OMX_CmdComplete/Flush OMX_ALL notification

Change-Id: I1bdcc7be5f12dab301891a5f9ee5cc981e09ba82
/frameworks/av/media/libstagefright/ACodec.cpp
1065b3f17d3048948e7d522049d1980b90df3dc1 28-Jun-2011 Andreas Huber <andih@google.com> Multiple changes to ACodec/codec tools:

Make sure sf2 does not coalesce input buffers, generalize ACodec's codec
instantiation based on OMXCodec's list of eligible component names.

Some changes/additions to the "sf2" commandline tool

Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s'
New option '-R' renders surface-allocated buffers.

Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.

Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
/frameworks/av/media/libstagefright/ACodec.cpp
57ca262f8d1c0aabeea294ddb53e4db172fc6bec 03-Jun-2011 James Dong <jdong@google.com> Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h

Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
/frameworks/av/media/libstagefright/ACodec.cpp
386d609dc513e838c7e7c4c46c604493ccd560be 19-May-2011 Andreas Huber <andih@google.com> Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.

Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
/frameworks/av/media/libstagefright/ACodec.cpp
bbba88cb1bdc34705d1477208990a06904c022e7 11-May-2011 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c80992e419ed567abef451042f09c4958534b90d
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 14:00:07 2011 -0700

Support for the mp3 audio decoder as a software OMX component.

Change-Id: I66e10c4d0be4c3aecdef1c21b15a2c7359ceb807

commit a358d0e1bf2a88897887445f42ccdda0f5f2f528
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 13:11:23 2011 -0700

Support for G.711 alaw and mulaw decoders as software OMX components

Change-Id: Ia5c76c02cb83a9f94ce39a27b2251e5880218f03

commit 79088b9c9a5c8b8c97ea66cb4f90a2b0f0d34553
Author: Andreas Huber <andih@google.com>
Date: Thu May 5 15:43:32 2011 -0700

Instead of using an RGB surface and conversion yuv420->rgb565

convert from OMX_COLOR_FormatYUV420Planar to HAL_PIXEL_FORMAT_YV12 instead.

Change-Id: I8c4fc3c54c963f0d4ba6377f3c4ab4e0013152e5
related-to-bug: 4394005

commit 69469d3bd84425777b11b9fc938c5e0c61af26a7
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 15:46:42 2011 -0700

voip mustn't link against libstagefright.so

Change-Id: I4d0ba9a8b9dc9380b792a1bd04bcda231964862c

commit 2a9a9eeeeeb36ae3a9e680469c3016d509ff08c3
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 14:37:10 2011 -0700

Remove most non-OMX software decoders by default

Change-Id: Ic56514bc1b56b8fa952e8c4a164ea7379ecb69d0

commit a4de62c37b335c318217765403a9fb282b20a216
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:50:02 2011 -0700

Conditionally build the old-style software decoders.

Change-Id: I5de609e1d76c92d26d6eb81d1551462258f3f15f

commit 5d8b039f9449dc3dad1e77c42c80cc0b54b0c846
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:13:12 2011 -0700

Support for MPEG4 and H.263 video decoders as soft OMX components.

Change-Id: I5e3a4835afab89f98e3aa128d013628f5830eafe

commit b25a1bfbeb0ff6e62e1cc694ce2599c91489c7d0
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:49:10 2011 -0700

Boost Soft OMX thread priority, fix timestamp handling in vorbis Soft OMX decoder.

Change-Id: I68d26d4999f06fcc451d69e5303663fab0cba9e8

commit c0574362f8dc3319ce84d981097867062a698527
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:28:53 2011 -0700

Support for the AMR decoders (NB and WB) as Soft OMX components.

Change-Id: Ia565f59833fb52653e23f26536e7e41fc329a754

commit 3e5575a8f0e27a490cb7bde77bd9456087837f08
Author: Andreas Huber <andih@google.com>
Date: Wed May 4 13:41:25 2011 -0700

Signal an error if the aac decoder failed to initialize from codec specific data.

Change-Id: I01da7831bdf722edd7d6dc5974486daa2cf2b209
related-to-bug: 4272179

commit f94aeaa9886e772ff4823e671ed237096649f4af
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 13:07:38 2011 -0700

Software OMX nodes don't (yet?) support native_window mode.

Change-Id: I7d9ca9164ef4abf66b573ca21dba12d672f8b12d

commit eefdfabac8dc659e00daa56da69aea705c49cb67
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 12:57:16 2011 -0700

Fixing the OMX tests to refer to appropriate files from test content.

Change-Id: I5b61c3498749bfb876abbd3946a5132356e3f6ff

commit f31b7326aef14b6a1b7946520a9688f092e844d5
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 11:08:38 2011 -0700

Soft OMX components are now dynamiclly loaded/unloaded, not directly linked against.

Change-Id: I1e2ecfbfab67a8869886f738eaf0c7b3c948b6d9

commit b7f0343879e4df06f0a1c9bfece24df557954e2f
Author: Andreas Huber <andih@google.com>
Date: Mon May 2 15:58:36 2011 -0700

Support for the AVC software decoder as an OMX component.

Change-Id: I13c12df435ba4afbd968a9fc659f66b91c818bc2

commit 5bb9e616d6c8e1b13d531fe996b9a9affdfb2977
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:37 2011 -0700

Fix Vorbis OMX decoder's component role.

Change-Id: I5e871e5e11b3f951c93590210e63fd7987c467b5

commit 089c91f2333062e196c7afd5fb0ca914878aa474
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:18 2011 -0700

Support vorbis_decoder OMX testing.

Change-Id: I1985be178a12ae3f8768bc72067d9236238be170

commit 56e241fa36fc37219bc536b823bdc2ab82dc1fad
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:01:46 2011 -0700

SoftVorbis OMX component now respects the number of valid frames per page.

Change-Id: I82a117a064d9b083fc58a54ad900a987a763ef03

commit fcd618ec520c376fdb78f4cbb44b8d9f5d213e2b
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:59:38 2011 -0700

Support for the vorbis audio decoder as a soft OMX component.

Change-Id: Iaeb057e58ca306d3dce205c0445b74d5aefef492

commit d1fcc3203fc8003ad79c6e96b3a1fc4261743f16
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:07:50 2011 -0700

VPX decoder now properly resizes buffers after a port settings change.

Change-Id: I110749a31b6cba087891d8e5dfe420830bdbf831

commit 35c7168243cb69849d88911144a2c7fdfed5c54e
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 13:23:34 2011 -0700

Support for the VPX video decoder as a Software OMX component.

Change-Id: Ic345add2d6d768d4af631160153f2e9b97fcea71

commit 923b2534b4211fc5405377b5190bfa6f2dd27f32
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:34:40 2011 -0700

Table-based registration of soft omx components.

Change-Id: I7f45f0fa5b3a7950776e69c66349731f7674e937

commit 04a88f3edb2266a463da9c4481b80178be460902
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:22:31 2011 -0700

Apparently OMX_GetParameter is valid in any state other than OMX_StateInvalid

OMX_SetParameter is still constrained to OMX_StateLoaded or a disabled port.

Change-Id: I1032d7cf4011982d306aa369d4158a82830d26fb

commit 9d70ca68445e7c40f5c9b2d12466e468f514de88
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 27 15:03:18 2011 -0700

Use the new soft OMX aac decoder for HTTP live playback.

Change-Id: Ifbcfb732a9edb855cb46b49f6d0ac942170ee28f

commit 213fe4a10ea93cce08e8622dc3908053f29878a1
Author: Andreas Huber <andih@google.com>
Date: Tue Apr 12 16:39:45 2011 -0700

Foundation for supporting software decoders as OMX components

Change-Id: I7fdab256563b35d1d090617abaea9a26b198d816

Change-Id: I83e9236beed4af985d10333c203f065df9e09a42
/frameworks/av/media/libstagefright/ACodec.cpp
8ce2364512f7c32c824f5ec5719688830ba72427 01-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: android_native_buffer_t -> ANativeWindowBuffer

Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/av/media/libstagefright/ACodec.cpp
89c120e7adbe09c6283591789594c5e591aa5032 29-Mar-2011 Andreas Huber <andih@google.com> Surfaceflinger expects rectangles to be specified right/bottom edge exclusive.

Change-Id: Ib493572c614dbb74fa23b13c3e43899e3b31cf0e
related-to-bug: 4147205
/frameworks/av/media/libstagefright/ACodec.cpp
27c174483a8ae9688d5d4897c19074f62c7f1701 17-Mar-2011 James Dong <jdong@google.com> Fix missing AOSP copyright headers for a bunch of media framework files

bug - 4119349

Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
/frameworks/av/media/libstagefright/ACodec.cpp
9a5f9b7dbe9ecdebfbd9e8f96452c42213b08a31 03-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Stagefright: Use the ANW min undequeued bufs query."
59e7879a8482284a434268d51b4b438f0625d1be 01-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Stagefright: Query buffer usage from the component."
258d4e3aef7984574b0972a66871afc8a13d8e4e 28-Feb-2011 Jamie Gennis <jgennis@google.com> Stagefright: Use the ANW min undequeued bufs query.

This change modifies Stagefright's ANativeWindow initialization to use
the new MIN_UNDEQUEUED_BUFFERS query on the ANativeWindow.

Change-Id: I62565945e90ac40de326de77adcfa5577ed89975
Related-Bug: 3356050
/frameworks/av/media/libstagefright/ACodec.cpp
74006804065941841883c4b46ee785070164023f 23-Feb-2011 Jamie Gennis <jgennis@google.com> Fix error recovery in Stagefright init.

This change fixes the error path of
OMXCodec::allocateOutputBuffersFromNativeWindow so that it cancels the
correct number of buffers if a dequeueBuffer operation fails.

Change-Id: Ib7cdcdf24f1718bc070ad218a5980949c0e942eb
/frameworks/av/media/libstagefright/ACodec.cpp
3c14b9745c4afc88cec247d9dd0b003e087cbb52 24-Feb-2011 Jamie Gennis <jgennis@google.com> Stagefright: Query buffer usage from the component.

This change makes Stagefright query the gralloc buffer usage flags from
the OMX IL component and passing those flags on to the ANativeWindow.

Change-Id: Ic9af8a9e6df9ff4aadc7355890324d68841bc488
Related-Bug: 3479027
/frameworks/av/media/libstagefright/ACodec.cpp
1173118eace0e9e347cb007f0da817cee87579ed 09-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3438258 Add SurfaceTexture as MediaPlayer sink

This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
/frameworks/av/media/libstagefright/ACodec.cpp
349d3fcb4afacf754f7b5b5186d2f258f5bf35e7 04-Feb-2011 Andreas Huber <andih@google.com> Improvements/fixes to ACodec.

- Make sure ACodec reverts its state when it's shutdown
- Defer "resume" to after handling the OutputPortSettingsChange

- If the OMX_EventPortSettingsChanged event comes in while we're flushing, defer it
and make sure the output port can be disabled by deleting all buffers not already
owned by the component.

Change-Id: I1f8cdffa71237b57d4275a48b834647a7b263e8b
/frameworks/av/media/libstagefright/ACodec.cpp
31e2508c75018145a8238925ff1a08cbde4e799a 10-Jan-2011 Andreas Huber <andih@google.com> NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.

Change-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d
related-to-bug: 3336496
/frameworks/av/media/libstagefright/ACodec.cpp
5bc087c573c70c84c6a39946457590b42d392a33 23-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit eaeaa2672d4e0a82891493b2bde8bdd0c0e79a1b
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:26:48 2010 -0800

Remove lowest bandwidth stream if using the legacy player.

Change-Id: I2f885e26344996de9152f8fda9fd6bdef89bf953

commit 7d652972615b2750fd8f1c21b9fab0e136df2b82
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:14:36 2010 -0800

Don't clear the packet source's format for legacy discontinuities.

Change-Id: I9bd5a21b9bd28043ad38bd0658ccc8eda3c1079a

commit 2b18a45aac17cbfe1aa089d0f6510957d438dd64
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:13:55 2010 -0800

Use NuPlayer for HTTP live streaming based on runtime property.

adb shell setprop media.httplive.enable-nuplayer true

Change-Id: I22738df3403985dc8e6992b1ab5da5747309f773

commit 50d899fb7b9ea52c3994b0a58e993998d926aeed
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:25:22 2010 -0800

Make ACodec a lot less verbose.

Change-Id: I94c7e499b61032321ffaf999f5ad2c913cde6a48

commit b19e1740cb4d02990a56844654b5d019987c6405
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:22:22 2010 -0800

Wait until we have fresh codec-specific-data before instantiating the decoders

after a discontinuity involving a format change.

Change-Id: I7bcf9b5ae3319f08bf8978a117e8ee5220902e37

commit 06428c006906c9099e430aface3b439ff1d36ecc
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:38 2010 -0800

Disable random seeks in the streaming tool for now.

Change-Id: Ie86fde422dcfc4b2c7a01be51a193fda9c88cd71

commit e19db68f3bea8a61c191f60f6940f30e3a0d5f1b
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:27 2010 -0800

Tweak HTTP live parameters.

Change-Id: If4b71e12485facc523a8a43d8213d0feb190daab

commit 1e9942791538c2256b579d96c6c04264b0d8b087
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:48:23 2010 -0800

Enable http live streaming through NuPlayer for http URLs containing the string m3u8

Change-Id: I1691fe12ae8f1507fe3673313959cd50bc324624

commit 4c33f96a6e499ee0efe0e70b687094430cb7c1c0
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:40:27 2010 -0800

Support for HTTP live streaming in NuPlayer.

Change-Id: Iacba1c3ebaeb8d3b972185deaf4cff18c8009c54

commit ddf705ce553708bc5b13d89a878484cf839bd674
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:42:47 2010 -0800

StreamingSource now a subclass of abstract NuPlayer::Source

Change-Id: Ia6c7c639628910b9d1f37decc55da48b07a70de3

commit 9e04a8406b1882a8e3fdeb7b4d52db5ae70b970a
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:33:52 2010 -0800

Refactor media data sourcing to NuPlayer::Source.

Change-Id: I1db9fb08c4e527bf7b19c29978cf342c2b0a0bc9

Change-Id: I9610a097481dda58f22142eacda3ac2dba0b63f9
/frameworks/av/media/libstagefright/ACodec.cpp
3831a066bcf1019864a94d2bc7b4c9241efc5c22 21-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 63be8ceb8b2354fb997a277c0092abae015ecf10
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:45:34 2010 -0800

Enable handling of discontinuities that involve potential format changes.

Change-Id: I21848a113db8764abb54bdcf302b0923253eaf4d

commit d18a7f80ec09af382026809263dcbbfa9e7a9ec8
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:45:01 2010 -0800

Signal whether or not a format change occured as part of the discontinuity.

Change-Id: I06e64f542f4369549c9cebbb892dc612346ae43d

commit c400adbd5fdbd65cfef7aed9ec65bcaace4bb69b
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:44:46 2010 -0800

A little more instrumentation of ACodec

Change-Id: I07f4aeccbbd15cdd9f80f48c3f92ee984ef6d92b

commit 1d802ee01f47b3cdc5b89502cec7fbb595e197a3
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:43:58 2010 -0800

Only sync audio/video queues if both types of media are actually present.

Change-Id: Ic88edf9bb1ebd4034c08747cce9877a4e28e0d35

commit e402da39d9a4d8b75653a78f728e20a3ef0fb497
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:42:24 2010 -0800

Disable the random seek for now.

Change-Id: Iddd597b546e2f229e88214f9bdd6452bb188105e

Change-Id: I27c4d9ba916080be94ce6117dbb095e9022ed62b
/frameworks/av/media/libstagefright/ACodec.cpp
f933441648ef6a71dee783d733aac17b9508b452 16-Dec-2010 Andreas Huber <andih@google.com> Initial support for a true streaming player for mpeg2 transport streams.

Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
/frameworks/av/media/libstagefright/ACodec.cpp