Commit Graph

38 Commits

Author SHA1 Message Date
Andy McFadden
cdf1d1895a Update createInputSurface() doc
The Surface returned by MediaCodec#createInputSurface() is configured
for HW_VIDEO_ENCODER by the consumer.  Accessing the Surface through
Surface#lockCanvas() sets SW_READ_OFTEN | SW_WRITE_OFTEN, and some
devices choke on the combination.

Bug 11418094

Change-Id: Ic182802386146d19b1bdecdb894c5130c563a3ed
2014-02-14 20:54:18 +00:00
Andreas Huber
329eec5349 Fix invocation of notification callback in case the callback is modified
from a separate thread.

Change-Id: I741c1f2f9c796ec977a742a69cedcca10c5218ad
2014-01-27 16:30:09 -08:00
Andreas Huber
aba671392d API that allows usage of MediaCodec APIs without polling.
Change-Id: Iebccdd3aec74a2cfa9ad0bf16c0c6006a3b72999
related-to-bug: 11990118
2014-01-27 10:52:18 -08:00
Andy Hung
bdf8db0828 Merge "Add "throws IOException" to MediaCodec factory methods" 2014-01-21 23:03:33 +00:00
Andy Hung
83511d2f49 Add "throws IOException" to MediaCodec factory methods
android.media.MediaCodec
(createByCodecName|createDecoderByType|createEncoderByType)
now explicitly throws IOException.

Requires changes to existing code for declaration compatibility.

Bug: 11364276
Change-Id: I105ecb7c4bd49bf803111253cd23bab161c988f9
Signed-off-by: Andy Hung <hunga@google.com>
2014-01-16 12:35:15 -08:00
Ashok Bhat
075e9a19ce AArch64: Use long for pointers in media classes
For storing pointers, long is used in media classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Idc4ca0124d03df7f9cef412488abafd020e5e774
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-15 13:09:27 +00:00
Andy Hung
8ca55fc980 Revert "Add "throws IOException" to MediaCodec constructors (3)"
This reverts commit 52d8aa79a3.

Change-Id: Ic706e0fb469931664499d00fa3a221726b258673
2013-11-07 04:06:31 +00:00
Andy Hung
52d8aa79a3 Add "throws IOException" to MediaCodec constructors (3)
Change to add "throws IOException" to android.media.MediaCodec
(createByCodecName|createDecoderByType|createEncoderByType).  The exception was
previously thrown through the native JNI, but not explicitly declared.

Requires changes to existing code for declaration compatibility.

Bug: 11364276
Change-Id: Ia0d3481397285cb1503bedde37d4651934b3a481
Signed-off-by: Andy Hung <hunga@google.com>
2013-11-05 18:54:43 -08:00
Lajos Molnar
8a39021dfa Misc. media API changes
- MediaCodec.setParameter signature to take android.os.Bundle
- PARAMETER_KEY_VIDEO_BITRATE value
- comments for MediaFormat.KEY_LANGUAGE and createSubtitleFormat

Change-Id: I092e9830cb21df08b331854cbd28c758db06bc10
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 10461617
2013-09-17 19:05:37 -07:00
Jeff Tinker
b6f0f962d9 Part of corrections from KLP API Review: Media
b/10461617

Change-Id: Ic2e102c39428f7cef2923d00a67aec8c77cd108e
2013-09-13 15:32:08 -07:00
Andreas Huber
226065bbe6 Expose MediaCodec.setParameters API to
- change video target bitrate on the fly
- request sync frames
- temporarily suspend feeding input buffers to the encoder

Change-Id: If5cf1162b2eeb28ac08288ecfa9f0e9823dd972e
2013-08-12 10:14:11 -07:00
Jeff Tinker
3ed38266c1 Define error codes for MediaCodec.CryptoException
Define specific failure cases so apps have the information they
need to deal with these conditions.

Also adds a new ResourceBusyException to MediaDrm

Change-Id: Iaecf269d58108f28179974b05671bf29b9fe4b7d
related-to-bug: 10157154
related-to-bug: 9695816
2013-08-03 10:23:41 -07:00
hkuang
63a6473a56 Change the comments to incorporate change for VP9 decoder.
Change-Id: I9a4f3af9278c90962856516df5930e8924c28f9d
2013-06-26 00:35:41 +00:00
Marco Nelissen
d563cede5c am c4ad3cb0: Merge "Add support for common encryption" into jb-mr2-dev
* commit 'c4ad3cb07ed76c5697c60285456d9c49675174d9':
  Add support for common encryption
2013-04-08 16:42:17 -07:00
Marco Nelissen
e20a6d5c47 Add support for common encryption
Change-Id: I2d56a6a90dff3ce1c37296934fca01b8a2ca0f89
2013-04-08 14:32:34 -07:00
Andreas Huber
9a1ff831b7 am c9a1ca3c: Merge "MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM"
* commit 'c9a1ca3c1a9f8591b675b980c1e390be8d901b39':
  MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM
2013-04-03 13:38:34 -07:00
Andy McFadden
47a2db4943 Tweak comment.
Change-Id: Ic99fefde512fa3a5b1fca2bc65cd37c8170e7f2c
2013-03-07 17:56:40 -08:00
Andy McFadden
34f17dd1f6 Publish new MediaCodec API
Un-hide two new methods in MediaCodec, one new constant, and a new
EGL extension.

Bug 7991062
Bug 8191230

Change-Id: I028669132d9ffda1e4b34a561bab3997bbd7dae5
2013-03-07 14:20:46 -08:00
Andy McFadden
2621e40d0e Implement Surface input to MediaCodec.
Adds two new public methods to MediaCodec, and one new public
constant to MediaCodecInfo (currently @hidden).

Bug 7991062

Change-Id: I830a9794e92334ad05c870cc5fc90be4652147a5
2013-03-04 15:04:12 -08:00
Martin Storsjo
d2aaff582a MediaCodec: docs: Clarify that audio/mp4a-latm is plain AAC, not in LATM
The mime type name is unfortunate since it implies that the data
should be provided as a LATM bitstream, which it should not.

Change-Id: I3c997025342e3298729db2bfaeace9fcac001af9
2013-02-26 14:03:47 +02:00
Martin Storsjo
93077a2902 MediaCodec: Allow getting the codec info directly
This saves the caller from manually iterating through the
MediaCodecList for finding the right codec.

This adds new public API.

Change-Id: I8462f040573427542d86d1b957a5aef53dd55e8e
2012-11-14 20:52:01 +02:00
Martin Storsjo
056ef2ed5f MediaCodec: Allow getting the chosen component name
Currently, when the codec was opened by createDecoder/EncoderByType,
the caller does not know what codec actually was chosen, and
(for encoders) thus cannot know what color formats it supports.

This adds new public API.

Change-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b
2012-11-14 14:46:57 +02:00
Martin Storsjo
b529e4c9ca mediacodec: Don't suggest calling getOutputFormat() immediately
Calling getOutputFormat() at this point currently crashes in
native code. (After a fix to the native code, this gives an
IllegalStateException instead.)

Change-Id: Ia45c4820bb3d9ed435a0aeef1ff8c230524f2e1f
2012-08-07 11:07:12 -07:00
Andreas Huber
2ac3f2e285 Minor corrections to the javadoc overview to reflect late API changes.
Change-Id: If64e7ea0fa9c892d728282e5e18547a4da115989
2012-06-27 11:46:21 -07:00
Andreas Huber
68b1a6eed8 Document some of the more common mimetypes to be used when instantiating
MediaCodec components.

Change-Id: I810507d1d76a28666eb6fb63e3b597d38e5f1389
2012-06-25 14:38:16 -07:00
Andreas Huber
8aa735f71e Clarification of MediaCodec behaviour when codec specific data is included
in the format passed to configure().

Change-Id: I150f52e8092c0f7d897891f02ba6b1d89b6230f4
related-to-bug: 6364139
2012-05-08 11:33:12 -07:00
Andreas Huber
60d610bf10 Various changes to Media* APIs requested by the api council.
Change-Id: Iec2f50c99cf5f00a442737231361334e9ab46340
related-to-bug: 6432753
2012-05-03 16:02:29 -07:00
Andreas Huber
48dc91b514 Make java constants consistent with native counterparts.
Change-Id: I481dfc18c170b4c60682ef1b38b57e10fb73d004
2012-05-01 12:27:26 -07:00
Andreas Huber
b12a539069 New API to set the video rendering mode on a MediaCodec instance.
Change-Id: I6d765bb4cab7bcf29f09364293c24e8a6930078b
related-to-bug: 6364139
2012-04-30 14:46:22 -07:00
Andreas Huber
bfc56f497d DRM errors signaled by the CryptoPlugin are now visible to MediaCodec clients
through a custom exception "MediaCodec.CryptoException".

Change-Id: I30215e9e13bab68abad23e27dcead7c1accd07f1
related-to-bug: 6365261
2012-04-19 13:42:14 -07:00
Andreas Huber
91befdc0c4 Information required to decrypt buffers is now packaged into MediaCodec.CryptoInfo
New API on MediaExtractor to retrieve a CryptoInfo structure where applicable.

Change-Id: I18edfc9ac56a4544c8f17cba24401b96dacbff7d
related-to-bug: 6275919
2012-04-18 12:19:51 -07:00
Andreas Huber
07ea426e3a Unhide new media related java APIs.
Change-Id: If0b8201eaca74f51f3499b6ecdfb73088586ee24
2012-04-16 10:14:05 -07:00
Andreas Huber
9e6bcce17d New JAVA API to support submitting encrypted buffers of input data.
Change-Id: Ib0df9a9427b4580946179860495b26f743558597
related-to-bug: 6275919
2012-04-06 12:14:47 -07:00
Andreas Huber
8240d9239d New Crypto JAVA class to facilitate decryption via MediaCodec.
Change-Id: Ic4e395faa84f003793c2804f2badabab9e7f1034
related-to-bug: 6275919
2012-04-04 14:06:32 -07:00
Andreas Huber
0e97fc248e More DRM/crypto support.
related-to-bug: 6275919
Change-Id: I9179c03f1f91f939afcb3b1c6514a200bf586c93
2012-04-03 14:16:07 -07:00
Andreas Huber
9b8e496f4d Provisional support for secure decryption of media streams.
Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
2012-03-26 11:24:04 -07:00
Andreas Huber
c52b980277 Documentation/API update for MediaCodec/MediaExtractor, fixes to MediaCodec.
and MediaExtractor.readSampleData now works with a non-direct byte buffer.

Change-Id: Ifbe5c152d9550c34d3b1d493e12a223eb98e8b4e
2012-03-12 14:49:43 -07:00
Andreas Huber
88572f7a3e Implementation of a java media codec interface and associated tools.
Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
2012-02-22 15:06:06 -08:00