Commit Graph

39 Commits

Author SHA1 Message Date
Mikhail Naganov
29f479d502 Merge "Add audio presentation interface to Java API" 2018-02-01 16:46:07 +00:00
Previr Rangroo
58822bec4e Add audio presentation interface to Java API
In order to enable applications to query audio sub-selection
information of one audio programme delivered by Next Generation Audio
streams, implement presentation API in MediaExtractor.

Bug: 63901775
Test: make
Change-Id: I2b0bfc5d1089614aa93d58fec99324d7a0ed464b
Signed-off-by: Previr Rangroo <prang@dolby.com>
2018-01-26 15:49:57 -08:00
Robert Shih
d908f38e19 MediaExtractor: getSampleSize API
Return size of the current sample in bytes.

Bug: 63934228
Change-Id: I5e1a173b218304a4b2eb5aff9d6325f6442cf727
2018-01-23 15:34:44 -08:00
Chong Zhang
2659c2f16c cas: convert MediaCas to HIDL
- Replace AIDL interfaces with corresponding HIDL ones.

bug: 22804304
Change-Id: I8c552ce6fc3766715cd1bc0ea05c0988d56f590e
2017-06-23 16:18:55 -07:00
Ray Essick
10353e3601 Rework getMetrics() api per API council
Reworking the media metrics getMetrics() calls (currently in MediaCodec,
MediaExtractor, MediaPlayer, and MediaRecorder) to fit new direction
from the API Council.

Drop the MediaMetricsSet that we had in the first round; go back
to a PersistableBundle as the return type. Moves the key definitions
from MediaMetricsSet.MediaCodec to MediaCodec.MetricsConstants

Bug: 37083862
Test: ran the corresponding CTS tests
Change-Id: I7905959ad2109887dd8fd16f0eb2831247abab2a
2017-04-14 17:24:42 -07:00
Chong Zhang
addc39ec27 MediaCas: address comments for API reviews
- Wrap session id byte array in Session object

- Move session operations from MediaCas to Session

- Remove position prarameters on descramble() method

- Retrieve cas info for a track by getCasInfo() instead
  of getDrmInitData().

bug: 22804304
bug: 36791613
bug: 36783335

Change-Id: Ib3ad8d6a2f679c0e60d2bb025ac5999339722306
2017-04-11 13:13:22 -07:00
Ray Essick
f2d0e40bf0 Integrate API Council feedback into Media Metrics APIs
Integrates the API Council's feedback into the Media Metrics
related APIs.
-- return types for the getMetrics() calls
-- definition of keys in the set of data that comes back

Bug: 35811992
Test: booted, CTS subset, checked dumpsys media.metrics output
Change-Id: Ib750f9631bd3453be3132760273ccfff0a891f88
2017-03-15 11:43:08 -07:00
Ray Essick
f0f6685eeb Javadoc for the recently added getMetrics()
Add javadoc comments for the getMetrics() functions that
we've added to android.media.Media{Codec,Extractor,Player}.
This describes the currently implemented functionality.

Bug: 35096098
Test: Compilation
2017-03-01 17:23:48 -08:00
Chong Zhang
d5927ae883 MediaCas: add framework APIs
Java API changes to support MediaCas framework.

Also add partial-frame related enums to MediaCodec,
MediaCodecInfo, and MediaExtractor as a way to indicate
a input frame contains partial data.

Test: basic test app and test plugin to execise the code path;
impelenting playback of CAS-secured MPEG2TS streams, including
a Widevine-based CAS plugin, locally modified ExoPlayer and
Android TV Tuner input.

bug: 22804304
Change-Id: Ia4ba1d4046f7588e42bfb21e726390457d2fc8e3
2017-02-22 17:27:01 -08:00
Ray Essick
ba5ce2c0f8 API android.media.MediaExtractor.getMetrics()
adds the API getMetrics() to android.media.MediaExtractor
includes plumbing through JNI to the underlying mediaextractor
code in frameworks/av.

Tested with some CTS modifications; a more formal set of CTS
updates will be along later.

Bug: 35094936
Test: modified CTS to invoke new API and output results
Change-Id: Id8d56c9c3273b86bbd11e248bdf5004be90b91ef
2017-02-07 15:35:39 -08:00
Robert Shih
692bca0628 MediaExtractor: clarify EOS behavior for local files am: e6b987c569 am: 7709e7831e
am: 061a018055

Change-Id: I5e049b0f4e38ee4831f383c4490afb3bac3faecf
2016-09-15 20:24:05 +00:00
Robert Shih
e6b987c569 MediaExtractor: clarify EOS behavior for local files
Bug: 30726795
Change-Id: Iecd0ceb2bd0e32e0ae3387c534e181a2daf2005b
2016-09-14 23:30:27 +00:00
Robert Shih
a1c7483429 MediaExtractor: Javadoc should mention INTERNET permission
Bug: 10673034
Change-Id: Iea1196c76b09fa5b8f5b2d11a461eeb4c6578a1b
2016-07-20 17:46:11 -07:00
Lajos Molnar
db56549ff2 media: document format keys for MediaExtractor/CodecCapabilities
Bug: 29618892
Change-Id: I78049997c153fe00fbcf4475eeefdc937de284dd
2016-06-28 17:20:09 +00:00
Robert Shih
c67abec674 Fix MediaExtractor.getDrmInitData implementation for webm
Should lookup "crypto-key" in individual track formats instead of file format.

Bug: 26070802
Change-Id: I1a0f59e7bca1d311631e7ad90b9a403ac20d319b
2016-04-01 16:25:53 -07:00
Jeff Sharkey
a3c1c2297d Add AssetFileDescriptor to MediaExtractor.
Mirrors API on MediaPlayer.

Bug: 27506874
Change-Id: Ibc07cf8151c362ff7375b89e7a9044bef1d9e94d
2016-03-05 16:07:46 -07:00
Robert Shih
21b0008db6 MediaExtractor: add getDrmInitData API
Bug: 26070802
Change-Id: I32e256f5988e206188f43d1bef0ad2ffdce8caec
2016-01-27 20:42:27 -08:00
Lajos Molnar
99f8072386 media: add annotations to low-level Media* classes
Also remove explicit runtime exception added to
MediaExtractor.setDataSource, as other methods don't
explicitly declare it.

Includes MediaCodec, Crypto, Drm, Extractor, Muxer, Sync.

Bug: 19756615
Bug: 19967103
Bug: 16906375
Change-Id: If511d85af7f61808fbe63fbdc6e04a3d2e7e262c
2015-04-22 09:44:03 -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
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
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
Marco Nelissen
ecba2e4b95 Unhide MediaExtractor.getPsshInfo()
b/9373882

Change-Id: I2af42656d6a7eb19e8e9ec798b615dab0d9d33cb
2013-06-10 15:06:28 -07:00
Andreas Huber
a57da0dc5a MediaExtractor.setDataSource(...) has always thrown IOExceptions from
within jni code, but failed to document this fact. No more.

Change-Id: If55980616e974637209dea2b7a28b2481b55cea4
related-to-bug: 8470755
2013-04-11 10:54:55 -07:00
Marco Nelissen
e20a6d5c47 Add support for common encryption
Change-Id: I2d56a6a90dff3ce1c37296934fca01b8a2ca0f89
2013-04-08 14:32:34 -07:00
Teng-Hui Zhu
a242deb1de Fix a typo in the sample code
Change-Id: I27ee1b0ef8abf5decefae1ec1706a9f142016344
2012-08-30 14:36:58 -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
Jeff Smith
a45746efad Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
2012-07-25 10:49:25 -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
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
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
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
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