History log of /frameworks/base/media/jni/android_media_MediaDrm.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cbbab8339c686453f0401bff1661844d3134d636 29-Mar-2018 Jeff Tinker <jtinker@google.com> Rename MediaDrm security levels

API review requested that MediaDrm security
levels be prefixed with a common string.

bug:76449152
bug:74831432
Change-Id: I2b4d5ed2c881f736659f29aa76c556a79d1335f4
/frameworks/base/media/jni/android_media_MediaDrm.cpp
cd4d28fefeab0afe4555feeb962109c644547812 17-Feb-2018 Jeff Tinker <jtinker@google.com> Move mediadrm-related headers

Relocate drm and crypto headers from media
to mediadrm to have finer grained ownership

bug:73556221

Change-Id: I2f795fd22b6c36c8e4de9bf3b961acb0c1c5485e
/frameworks/base/media/jni/android_media_MediaDrm.cpp
ea7d4f3b6a2915548c2267ca4c62db509a431ec4 13-Feb-2018 Adam Stone <blueeyes@google.com> Merge "Fix getMetrics to return all relevant metrics"
2bca525460ee030f4f4003331618ad2a44f76437 11-Feb-2018 Jeff Tinker <jtinker@google.com> Revert "Revert "Fix MediaDrm security level APIs""

This reverts commit fda717d50127c35f52880e94690042c7603600e3.

Change-Id: I5e51c7e8d7ab0626fdfd9726278cb762b79a512e
/frameworks/base/media/jni/android_media_MediaDrm.cpp
fda717d50127c35f52880e94690042c7603600e3 11-Feb-2018 Tobias Thierer <tobiast@google.com> Revert "Fix MediaDrm security level APIs"

This reverts commit 778639efbe1db003487f788a4e7f513414bcfd7c.

Reason for revert: Build cop here. The CL topic that I'm reverting broke several builds: Drm.h's openSession(Vector<uint8_t> &sessionId) hides overloaded virtual function openSession(DrmPlugin::SecurityLevel securityLevel, ..) from IDrm.h.

https://android-build.googleplex.com/builds/submitted/4598692/full-eng/latest/view/logs/build_error.log

Change-Id: I86bb202125b17bdeea12c414f3eca2a9e016dac2
/frameworks/base/media/jni/android_media_MediaDrm.cpp
778639efbe1db003487f788a4e7f513414bcfd7c 06-Feb-2018 Jeff Tinker <jtinker@google.com> Fix MediaDrm security level APIs

During development of the vendor/widevine HAL module, the newly added
MediaDrm.setSecurityLevel method was found to be difficult to
implement efficiently since the security level is needed at the time
a session is opened. This CL moves the security level parameter to
openSession to resolve this problem.

bug:72831697
bug:64001680

test: GTS media tests
Change-Id: I74b3d1013405805c18b9794bbf7c46348e0ccda9
/frameworks/base/media/jni/android_media_MediaDrm.cpp
94395c994b7a5fa35d991af6ee41c9115ce8ca20 30-Jan-2018 Adam Stone <blueeyes@google.com> Fix getMetrics to return all relevant metrics

This allows us to transfer a PersistableBundle containing the previously
unavailable metrics.

Bug: 64001676

Test: CTS test for metrics and GPlay test
Change-Id: Ia6a41225cb551e38233b67bb4161b294c40260f1
/frameworks/base/media/jni/android_media_MediaDrm.cpp
1bfb3d2160367ef11615e0b024cf5f6179d282dc 25-Jan-2018 Jeff Tinker <jtinker@google.com> Add new secure stop methods

Methods are needed to release a secure stop by ID and
return a list of secure stops.

Test: gts media tests

bug:67361434
bug:64001680
Change-Id: Id35fb082175a0b152e7a6032b147f1d3b221719b
/frameworks/base/media/jni/android_media_MediaDrm.cpp
bbf96b1af19a3e83a93bcd9d1cf62e5af0d50f67 24-Jan-2018 Rahul Frias <rfrias@google.com> Merge "Add new values to KeyRequestType"
8f761ba1cdceab9e8e800148e00419399163b832 23-Jan-2018 Rahul Frias <rfrias@google.com> Add new values to KeyRequestType

Two additional KeyRequestTypes have been added, None and Update. None
indicates that no key request is needed as keys have already been
loaded. Update indicates that while keys have previously been loaded,
an additional (non-renewal) license request is needed.

Bug: 70335058
Change-Id: Id8575fd4c8e8d71009373235a3944b4ec47849da
/frameworks/base/media/jni/android_media_MediaDrm.cpp
c06e10e241cbafb475a25b026d95d501f6a311c7 19-Dec-2017 Adam Stone <blueeyes@google.com> Add definition and stub for getMetrics.

This adds a stub for supporting retrieving metrics from the MediaDrm
interface.

BUG: 64001676

Test: Ran the new CTS unit test added in a related CL.

Change-Id: I84cafb79dd6e6f860b058a58fb52113a4e699f7d
/frameworks/base/media/jni/android_media_MediaDrm.cpp
3eb07f46a793c4c2af998c84ab7cf940508a5d99 09-Dec-2017 Jeff Tinker <jtinker@google.com> Add new MediaDrm methods

Methods for querying HDCP, security levels and
number of sessions

bug:64001680
bug:33657579

Test: cts: MediaDrmMockTest, ClearKeySystemTest
gts: GtsMediaTestCases

Change-Id: Ie616f96ab6b74410a3d7548a7f34b20cf0831d0c
/frameworks/base/media/jni/android_media_MediaDrm.cpp
eb13c764c641e9819bf525780c3f15b447ebe394 01-Nov-2017 Jeff Tinker <jtinker@google.com> Fix exception on MediaDrm invalid property access

Accessing an invalid MediaDrm property would result in
an IllegalStateException. This change causes
IllegalArgumentException to be thrown instead, which
is more appropriate.

Test: android.media.cts.ClearKeySystemTest passes
and it fails prior to this CL.

bug:68765217
Change-Id: I858575dc8fe643a88381da49b543c5cc0d266e02
/frameworks/base/media/jni/android_media_MediaDrm.cpp
5c091dc9449b583e18656a8850a61f557dfcc945 20-Jul-2017 Steven Moreland <smoreland@google.com> Merge "frameworks/base: use proper nativehelper headers"
am: 826eafd958

Change-Id: I36f10ff4d963284a313f1cc5b368f82549a4adb2
2279b2534272282a5b5152723235da397e49195c 19-Jul-2017 Steven Moreland <smoreland@google.com> frameworks/base: use proper nativehelper headers

libnativehelper exports headers under nativehelper. These were
available before incorrectly as global headers in order to give
access to jni.h.

Test: modules using frameworks/base find headers
Bug: 63762847
Change-Id: I0f9f231acdebe460f279135462f43d3e32eff64d
/frameworks/base/media/jni/android_media_MediaDrm.cpp
4d1d84e8a05a35673d76db0eb4f7954015a24d18 04-Jan-2017 Edwin Wong <edwinwong@google.com> Pass application packagename to drm plugin.

Get the application packagename to be used as part of a unique
identifier for drm plugin.

Test: Stream movies through Play Movies, Netflix and
Gts MediaCodecCencPlayer tests.
Verify the application's packagename is reachable in the drm plugin's
debug log.

bug: 27101531

Change-Id: I6473b58d78bc34191aca5896bb1f5fb79107ae47
/frameworks/base/media/jni/android_media_MediaDrm.cpp
0b5608015b1175c52acbcb97ca8337cde7d66397 24-May-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in audio media jni." am: 9ecb10d1b5
am: ca3f49d594

* commit 'ca3f49d594f5c00e6b5d6817bcdb0af02e7224e6':
Fix misc-macro-parentheses warnings in audio media jni.

Change-Id: I3828c9720f7fe91bc60058daeca2d598f0302d32
0ca16ef3b8f42f74fdd3d32e7826f9df670bdf90 20-May-2016 Chih-Hung Hsieh <chh@google.com> Fix misc-macro-parentheses warnings in audio media jni.

Bug: 28705665
Change-Id: Iff476943a0a2c2ae68778d1f4bca5d3e9e04bd26
/frameworks/base/media/jni/android_media_MediaDrm.cpp
d12b7c0600a9568549f8571c43dcfa22cdbb03ac 23-Apr-2016 Jeff Tinker <jtinker@google.com> Remove MediaDrm stack from mediaserver

Part of media security hardening

MediaDrm was temporarily allowed to
run in either mediaserver or mediadrmserver
while all nexus devices were implementing
support for the native_handle representation
of secure buffers. Now that all nexus
devices support native_handle, the MediaDrm
stack can be removed from mediaserver.

b/22990512

Change-Id: I96a5222f94cd1580ac411de5b48beb44b99cc8d7
/frameworks/base/media/jni/android_media_MediaDrm.cpp
dc614f86a5a61d0b4287796dfa028c637f615d34 12-Feb-2016 Jeff Tinker <jtinker@google.com> Add mediadrm service

Part of media security hardening

This is an intermediate step toward moving
mediadrm to a new service separate from mediaserver.
This first step allows mediadrmservice to run based
on the system property media.mediadrmservice.enable
so it can be selectively enabled on devices that
support using native_handles for secure buffers.

bug: 22990512
Change-Id: I9af073d8383f25657938d07be90c21c0dc6126b7
/frameworks/base/media/jni/android_media_MediaDrm.cpp
dade24c12a5972d92dd16267acf6c11229276e2c 09-Dec-2015 Jeff Tinker <jtinker@google.com> Remove unused MediaDrm.unprovisionDevice

bug:25726218
Change-Id: Ibbd51aaa1ee4c21c9ec8b162fc6e378ab7ba6e7b
/frameworks/base/media/jni/android_media_MediaDrm.cpp
b57dd722f1dc0663417da37d3a82f8283ad3c982 24-Sep-2015 Elliott Hughes <enh@google.com> resolved conflicts for a884d81e to stage-aosp-master

Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
76f6a86de25e1bf74717e047e55fd44b089673f3 19-Sep-2015 Daniel Micay <danielmicay@gmail.com> constify JNINativeMethod function pointer tables

Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
/frameworks/base/media/jni/android_media_MediaDrm.cpp
314b7f3af3b253593f45778ba67a519e74829aa4 16-Jun-2015 Jeff Tinker <jtinker@google.com> Improve robustness of MediaDrm after mediaserver crash

If DEAD_OBJECT is returned from binder calls due to
mediaserver crash, throw new MediaDrmResetException.
This allows the app to detect the condition and handle
it properly.

bug: 20614102
Change-Id: Id08b08fb612672fd94383f0470f5fa3f267b944f
/frameworks/base/media/jni/android_media_MediaDrm.cpp
5ffbae64920bf38e16c5831996f00c3d28ae1186 14-May-2015 Jeff Tinker <jtinker@google.com> MediaDrm API Updates per api council review

bug: 21044671

Change-Id: Ifb34e7b8cb53f7bd5737c0869fc6c1f731ba1c9c
/frameworks/base/media/jni/android_media_MediaDrm.cpp
74797f843c209520e6cc5b74249e3e118556a61b 01-Apr-2015 Jeff Tinker <jtinker@google.com> Add expiration update and keys change events

In support of unprefixed EME

bug: 19771612
bug: 19771431
Change-Id: Iddef695cfa1a56363a4c173249597e415cb93f50
/frameworks/base/media/jni/android_media_MediaDrm.cpp
4cdc2de0e4bb01b903fad12b0251fb41498e71ba 16-Mar-2015 Jeff Tinker <jtinker@google.com> Report key request message type for unprefixed EME

bug: 19771299
Change-Id: If76fa2988ca45632d0afff601c12f8f5f9908ed1
/frameworks/base/media/jni/android_media_MediaDrm.cpp
5609a323664d1e4402172d34f81db9be72c02654 13-Mar-2015 Jeff Tinker <jtinker@google.com> am 0d22633e: am 62632e25: Merge "Handle NULL keys and NULL values in MediaDrm JNI HashMap"

* commit '0d22633e07a6911403383a22bb3164f53b4f4409':
Handle NULL keys and NULL values in MediaDrm JNI HashMap
62632e25f57989d5e5ac406e21f037a3e2f39b9c 13-Mar-2015 Jeff Tinker <jtinker@google.com> Merge "Handle NULL keys and NULL values in MediaDrm JNI HashMap"
a6d72095eda4163a70c0ba07cb74a1abac40fe48 04-Mar-2015 Ronghua Wu <ronghuawu@google.com> drm: add EVENT_SESSION_RECLAIMED for resource manager.

Bug: 19265536
Change-Id: Ifa15a4c7d3a7c20cb00bd4aefb57d239c0efaafa
/frameworks/base/media/jni/android_media_MediaDrm.cpp
2888e90701bdce0f04e7ab08f08b6a3cccb1bf9d 12-Dec-2014 Jeff Tinker <jtinker@google.com> Revert "Fix Crash when sending null in HashMap to getKeyRequest"

This reverts commit 5bec0266358f28a91b38f8aefbcb918219aa4ce9.

Change-Id: I78c2f04be03dbdf8da6ea1e1f600c7c12668e433
/frameworks/base/media/jni/android_media_MediaDrm.cpp
35d6a4f75bc3e02e5983fb800bc7538d51d01a45 29-Sep-2014 Daniel Broms <daniel.broms@sonymobile.com> Handle NULL keys and NULL values in MediaDrm JNI HashMap

If getKeyRequest() of MediaDrm was called with a HashMap containing
NULL keys or NULL values then the mediaserver crashed.

This modification adds NULL checks and throw
IllegalArgumentException as expected.

Change-Id: Ide82efe0f6bd28c8ac3f9aa048d9794f2ccc8fac
/frameworks/base/media/jni/android_media_MediaDrm.cpp
5bec0266358f28a91b38f8aefbcb918219aa4ce9 11-Nov-2014 Jeff Tinker <jtinker@google.com> Fix Crash when sending null in HashMap to getKeyRequest

Merge of partner https://android-review.googlesource.com/#/c/115665

Change-Id: I50235dc09be584165155019a70708377ca9688a0
/frameworks/base/media/jni/android_media_MediaDrm.cpp
cba06c2272c8bce7d10b2a7ee762d12043f3252a 11-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 6957369d to lmp-mr1-dev-plus-aosp

Change-Id: Ie3bd0e24c69c0c7ae500b8eb4a1198650e993a19
5a15d0d31b877ef512b3379eac033c6bb041c86a 11-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in media/jni

Turn on -Wall -Werror in media/jni. Fix warnings.

Change-Id: I9da54ad379d8172ee535b52ee2b0637a2533f4e3
/frameworks/base/media/jni/android_media_MediaDrm.cpp
1b51c72e910a91e79efe34c6252e01862516e73d 31-Oct-2014 Jeff Tinker <jtinker@google.com> Add missing secure stop methods

b/18053197
b/18076411

Change-Id: Ide9ecab2fd2021f3544491f23ae84c394c48ac14
/frameworks/base/media/jni/android_media_MediaDrm.cpp
2979986b576ffbf0e22057cf135626bc54b9880b 27-Aug-2014 Jeff Tinker <jtinker@google.com> Fix exception message string formatting in MediaDrm

bug: 17281760
Change-Id: If527234d2efb1507eca8703027e3cbdd53961b9e
/frameworks/base/media/jni/android_media_MediaDrm.cpp
6bf5b600d6d1e98f7eabbbc884dd286b335acd66 30-Apr-2014 Jeff Tinker <jtinker@google.com> Allow device to be unprovisioned

bug: 12247651
Change-Id: Ie2e77566d2c65925091296da5bcbec327985c946
/frameworks/base/media/jni/android_media_MediaDrm.cpp
d712e1a387f06fedb33d083730d279b26ed5e399 19-Jun-2014 Jeff Tinker <jtinker@google.com> Add diagnostic error code to MediaDrm IllegalStateExceptions

bug: 13976775
Change-Id: I682dd66a79252a9ee030b3cab5deb350e653e933
/frameworks/base/media/jni/android_media_MediaDrm.cpp
600071ca78bb3fa52b4b3e04112ed6664ffe0e30 12-Apr-2014 Jeff Tinker <jtinker@google.com> Allow DRM plugins to be destroyed when released

bug: 13411994
Change-Id: I5b4ac137ebfbaa61bc37f8344ab6ff3a7f6c0099
/frameworks/base/media/jni/android_media_MediaDrm.cpp
65c94e695929ffa1aaa49d7b5938b34aaf078b6c 02-Apr-2014 Jeff Tinker <jtinker@google.com> Add signature|system permission to MediaDrm signer APIs

Also addresses style issues noted in post-submit review from
https://googleplex-android-review.git.corp.google.com/#/c/439054/

Change-Id: If177b11dbcc049bc271529c119bc5c36ae0107b5
related-to-bug: 12702350
/frameworks/base/media/jni/android_media_MediaDrm.cpp
e4095a80b674642e0e0e8f0883dee3b22f32f19a 04-Mar-2014 Jeff Tinker <jtinker@google.com> Support CAST V2 Authentication in MediaDrm

Java API version

Update frameworks to enable support for CAST
V2 Authentication in the DRM Plugin.

Change-Id: I23cfbbbc89c1226b7a3968ce8bc1e2d4bd41014a
related-to-bug: 12702350
/frameworks/base/media/jni/android_media_MediaDrm.cpp
868173a53f0d1059408b049f30af3402d5b0de64 11-Jan-2014 Jason Sams <jsams@google.com> Merge "Fix a JNI local reference leak in MediaDrm"
265551a164ac7757d1f2dacc0e2ab0afa0f850c7 10-Dec-2013 Patrik2 Carlsson <patrik2.carlsson@sonymobile.com> Fix a JNI local reference leak in MediaDrm

A reference leak was found in the subtitle usecase that also
applies to android_media_MediaDrm.cpp
(Code taken from the similar fix in android_media_MediaPlayer.cpp)

Change-Id: Icc4b25e4adc9a600ff4ac99a7a8478bb55a6e348
/frameworks/base/media/jni/android_media_MediaDrm.cpp
f11dd63e0c5c8cf02d382351004000b243013b5f 18-Dec-2013 Narayan Kamath <narayan@google.com> MediaDrm#mNativeContext is a long, not int.

Therefore, we must use SetLongField and not SetIntField.

Change-Id: I2a805dd6b7c8e4905e742d8632d941f381a05930
/frameworks/base/media/jni/android_media_MediaDrm.cpp
656fd0402613cec0196d5e2ae0a460d044d2805b 28-Nov-2013 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in MediaDrm and MediaMuxer

For storing pointers, long is used in MediaDrm and
MediaMuxer classes, as native pointers can be 64-bit.

Change-Id: I77f26cde627baf0dce70b6aa3a4dbd974051d9a6
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
/frameworks/base/media/jni/android_media_MediaDrm.cpp
87eac99a21772ae56018cb81db6966557b459554 10-Sep-2013 Ruben Brunk <rubenbrunk@google.com> Remove dependency on JNIHelp header side effects.

Bug: 10680559
Change-Id: I47870d6c48906e0a420c52b7bc5945ffe29c68a2
/frameworks/base/media/jni/android_media_MediaDrm.cpp
7cda491321b9bd2e8faf956824312ea6a30e6457 21-Aug-2013 Jeff Tinker <jtinker@google.com> Add ability to test supported content types to MediaDrm

bug: 10244066
Change-Id: Ic96c2e23f36809faf1c88ede500f4bc2bad4142a
/frameworks/base/media/jni/android_media_MediaDrm.cpp
8117d8f7023f8981bc4b2651efed5b28104d83d3 16-Aug-2013 Jeff Tinker <jtinker@google.com> Fix JNI method called with exception pending

bug: 10313912
Change-Id: I8390905334f2e37f210adced52c31e7a431d4f55
/frameworks/base/media/jni/android_media_MediaDrm.cpp
3ed38266c1647c6219ae5ad89cb3f867cf66caaa 03-Aug-2013 Jeff Tinker <jtinker@google.com> 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
/frameworks/base/media/jni/android_media_MediaDrm.cpp
606ab4706df372974cc86eb1bb1c50d79422d7cc 22-May-2013 Jeff Tinker <jtinker@google.com> Merge "Improve exception error messages to help diagnose app errors" into jb-mr2-dev
17b8922785987afa002fb5f081781f056e3ca1c7 21-May-2013 Jeff Tinker <jtinker@google.com> Fix invalid keyType translation in MediaDrm.getKeyRequest

bug: 9070897
Change-Id: Ib9b4174e08b1c828d0204e0ab65bc3d7c2efcedf
/frameworks/base/media/jni/android_media_MediaDrm.cpp
eada5376d9c34f77bd3ba86a2ea674e3bde5e961 21-May-2013 Jeff Tinker <jtinker@google.com> Improve exception error messages to help diagnose app errors

bug: 9072051

Change-Id: I45057951d1a62b1b4a996e85f01601239e1b7161
/frameworks/base/media/jni/android_media_MediaDrm.cpp
1d7c218ba23185c58ae27f59e4ec6b8526b2d04a 26-Apr-2013 Jeff Tinker <jtinker@google.com> MediaDrm API: Add two exceptions to handle error path scenarios

bug: 8725707
Change-Id: Ia00c495ac591cc2993f4d11ad3480b59833d009e
/frameworks/base/media/jni/android_media_MediaDrm.cpp
f7568b5ee96b3d80721c76ab3d47f1368a99bf98 17-Apr-2013 Jeff Tinker <jtinker@google.com> Improve error handling for DRM errors reported by plugins

Change-Id: I25df78f16379b32c54189949daa3ab9c91187375
related-to-bug: 8621516
/frameworks/base/media/jni/android_media_MediaDrm.cpp
e1c76bebef41d362369627ed0c06ea9a01c6bddb 04-Apr-2013 Jeff Tinker <jtinker@google.com> Make MediaDrm APIs public

bug: 8603279

Change-Id: I9fab2673867ad413a084933cee7239d13e8b7893
/frameworks/base/media/jni/android_media_MediaDrm.cpp
54cfbd6dc28334119c33b6a77779bfe244c71e69 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I451b7c6f766aafac39ce432a71ef5a03bffe29f1
/frameworks/base/media/jni/android_media_MediaDrm.cpp
16b8cffb2893c10c35788191847500004da466d1 31-Mar-2013 Jeff Tinker <jtinker@google.com> MediaDrm API update

Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: Id3f8c706e9e3034b09af8e2a6a2f26bd74a49f93
/frameworks/base/media/jni/android_media_MediaDrm.cpp
8a0c80fdcc46faa8cb8c9f4dda06f4b63ec2f906 08-Feb-2013 Jeff Tinker <jtinker@google.com> Implementing MediaDrm APIs

Change-Id: Ib6eeb9c04c5c5cf1d485f9004cd3e6a1047a1d19
/frameworks/base/media/jni/android_media_MediaDrm.cpp