24 Commits

Author SHA1 Message Date
Chong Zhang
bc10185fa1 MediaDataSource: address API council comments
- throw IOExecption on fatal errors

- add offset argument to readAt

- and fix a crash in MediaExtractor

bug: 21045118
bug: 21163225
Change-Id: I3c0ff42e539868b9374a4f1f3a9852143f68ba68
2015-05-14 14:19:01 -07:00
Chris Watkins
4eaa293808 Unhide the android.media.[Media]DataSource interface.
This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.

MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)

Only NuPlayer supports this new data source.

The change introduces:
 * IDataSource:        The binder interface for DataSource.
 * JMediaDataSource:   The native counterpart to the java interface. It
                       implements IDataSource.
 * CallbackDataSource: A stagefright DataSource that wraps an IDataSource.

Change-Id: I6d9c1167b4a7384c469b1e928f31791a7ebed716
2015-04-15 16:33:15 -07:00
Bernhard Rosenkränzer
46c82b4cd2 Adjust format strings to work on both 32-bit and 64-bit builds
Adjust format strings to not produce Clang warnings in both 32-bit and
64-bit builds

Change-Id: I76c29d8d5d0fb4b5e9d9518077652370ffe9e871
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-12-05 16:14:07 -08:00
Lajos Molnar
7be24522ce MediaExtractor: set buffer offset/limit in readSampleData
also fix setting offset/limit in MediaCodec's getBuffer.

Bug: 13008204
Change-Id: Iadf0f006cfccc2546971cc5384058e1a2721780b
2014-07-15 02:30:32 +00:00
Narayan Kamath
37109819d0 am 303d666f: am 0e3f3c70: am 91bbb75c: Merge "Cast CallMethod\'s size_t parameters to jint"
* commit '303d666f2e2b37120e0e9de206ce127e2a532026':
  Cast CallMethod's size_t parameters to jint
2014-03-31 09:53:35 +00:00
Ashok Bhat
136c08a7d3 Cast CallMethod's size_t parameters to jint
This will avoid problems caused by automatic type
promotion of parameters when passed to a variadic function.

Change-Id: I9340cf4bc3afcb84ebb2843d2aaa1e832b0df7f4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-25 10:39:13 +00:00
Narayan Kamath
e78a747d35 am f7a6fe95: am 0425a51b: am 51ec4ec5: am 5de03b18: Merge "Don\'t assume that size_t is 32-bit"
* commit 'f7a6fe95b0b439d3c6288b0b9da152b4c70c2265':
  Don't assume that size_t is 32-bit
2014-03-07 20:22:15 +00:00
Ashok Bhat
e92416dfeb Don't assume that size_t is 32-bit
Crypto data was being copied to java jint array in chunks of
size_t. This will not work on LP64 as size_t will be 64-bit.
This patch changes copy to use int32_t chunks instead of size_t.

Change-Id: I75d910a1182ad2f58f432cd172127f048b4c393b
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-06 12:36:47 +00:00
Andreas Huber
d2506a5063 FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code
Change-Id: I7f6cdcfd2a28846d36d89dd5180ef20a22b03af8
2014-02-04 14:45:28 -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
Ruben Brunk
87eac99a21 Remove dependency on JNIHelp header side effects.
Bug: 10680559
Change-Id: I47870d6c48906e0a420c52b7bc5945ffe29c68a2
2013-09-10 20:47:43 -07:00
Marco Nelissen
e20a6d5c47 Add support for common encryption
Change-Id: I2d56a6a90dff3ce1c37296934fca01b8a2ca0f89
2013-04-08 14:32:34 -07:00
Marco Nelissen
c209a06cfd Let apps provide a custom data source for extractors
Adds android.media.DataSource, which is modeled after its native namesake,
and a new method on MediaExtractor that lets apps specify their implementation
of a DataSource as the source of data for the extractor.

Change-Id: If1b169bd18d2691ebc4f8996494dfc8ee0894b6c
2012-08-24 10:36:51 -07:00
Andreas Huber
f86374adec Remove SEEK_CLOSEST constant from MediaExtractor, its implementation makes no
sense for the java API.

Change-Id: I3f2eabb5ca5ffb6c1f03141bfd303310111e8774
related-to-bug: 6276111
2012-05-09 11:32:51 -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
f2855b3df5 The MediaExtractor can now unselect tracks and has more control over seeking.
Change-Id: I12c28bf31fe9fb4057352999fa38213ae289a417
related-to-bug: 6276111
2012-04-26 10:43:31 -07:00
Andreas Huber
74a78b0f6e Add the ability to query the amount of cached data to MediaExtractor.
Change-Id: I47ae60bc6fb8d88979c1f0d650b6ac528e811371
related-to-bug: 6364341
2012-04-20 11:57:26 -07:00
Andreas Huber
ab57d03bdb Fix a typo and choose a reasonable default for crypto-mode (0 would be unencrypted)
Change-Id: Ia46a7d7dd405bd569f319a64e43123d802c867d3
related-to-bug: 6275919
2012-04-18 15:59:43 -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
2b9d6bd092 Make seekTo not throw exceptions.
Change-Id: I9d0469962364b86fbab920e9ac65f468fc630737
related-to-bug: 6276111
2012-04-17 15:02:22 -07:00
Andreas Huber
07ea426e3a Unhide new media related java APIs.
Change-Id: If0b8201eaca74f51f3499b6ecdfb73088586ee24
2012-04-16 10:14:05 -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