The listener member of a Drm object wasn't
being released, causing memory to be leaked
every time a MediaDrm instance was created.
bug:32277525
Change-Id: I5582056fff3d20a5fd2b178bf028008d7f9ad1b4
AMediaDrm_getKeyRequest() passes mimeType to drm plugin's getKeyRequest()
based on the UUID. If the drm scheme is clearkey UUID, clearkey plugin will
return ERROR_DRM_CANNOT_HANDLE because it is expecting initDataType
(e.g. "cenc") instead of mimeType (e.g. "video/mp4").
Replace initDataType parameter in clearkey DrmPlugin::getKeyRequest() with
mimeType.
bug: 30790899
Change-Id: I60c77c458d8d836d3eb2f9f52296a86efa73a4eb
* Add explicit keyword to conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1
Change-Id: Idf1c48d7bfe3f0da20401cb3ff1983ec00be170d
Memory heap check updated and restored to mediaserver,
added as new option to audioserver.
Requires properties to be set (example for audioserver):
$ adb shell setprop libc.debug.malloc.program audioserver
$ adb shell setprop libc.debug.malloc.options backtrace=8
$ adb shell pkill audioserver
...
and to dump:
$ adb shell dumpsys media.audio_flinger -m
Bug: 28909124
Bug: 27500825
Change-Id: Ifa8c2c02b022daf1a799ee4a1d75282a3c921763
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: Ie5d83bfeb4c4a824e1d0edb4c9452c782d6fd386
When creating this static lib, explicitly reference libbinder
to pick up its header include paths.
Bug: 27804373
Test: lib compiles when libbinder's header include
paths change.
Change-Id: I6cd034703db8ef13f0bcaece27373a60fcde7b4e
This change also enables -Werror flag that causes
all warning to fail this target's build to prevent regressions.
Bug: 27151704
Change-Id: I5d815d20aea151eb40292b8e2bffb144240413a2
drmserver need to be in the readproc group to access /proc files
associated with other UIDs, due to enabling hidepid=2 in
https://android-review.googlesource.com/181345
Bug: 25925909
Change-Id: If477214a6cd598cebbe440a94aa1d58ea8f7114a
To support adding cts tests for new APIs in M, the
clearkey DRM plugin needs to be updated.
Change-Id: If672ecec8f570d1dd5130e8e4419d37bd931a9e2
related-to-bug: 21527003
This file needs stdlib.h for malloc, free and realloc, but was
previously getting it only via the OpenSSL headers that it was
including.
BoringSSL, in the future, will be tider about what it includes via its
headers and so this file will need to include stdlib.h itself.
(cherry picked from commit 2544611b6f)
Bug: 21085331
Change-Id: I864c679ba5a9f0041dd49d063ad1190ffa87b30a
This file needs stdlib.h for malloc, free and realloc, but was
previously getting it only via the OpenSSL headers that it was
including.
BoringSSL, in the future, will be tider about what it includes via its
headers and so this file will need to include stdlib.h itself.
Change-Id: Ic0ee43ed74ff96f1a57e6e153c65e80e0115c0e9
The libcrypto and libssl modules (and their respective static and host
versions) use LOCAL_EXPORT_C_INCLUDE_DIRS thus just including the module
is sufficient.
Change-Id: If9df76e6fefb7419cbb2fb33a0264626c748561e
to use the new static version.
Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
Conflicts:
media/libmedia/IAudioFlinger.cpp
media/libmedia/IMediaPlayer.cpp
media/libstagefright/CameraSource.cpp
Clang (correctly) interprets
if ("." == sName)
as
if ("." == (const char*)sName)
and recognizes that comparing the pointers isn't what was meant.
With
if (sName == ".")
both clang and gcc see and use String8::operator==(const char *),
ensuring we get the wanted behavior.
Change-Id: Ide240e13214a56f6899f72de3db75dac647e6d4b
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
To run individual test suite, follow the example shown below:
adb shell LD_LIBRARY_PATH=/system/vendor/lib/mediadrm /system/bin/ClearKeyDrmUnitTest
--gtest_filter=JsonWebKeyTest.*
Change-Id: I8ecc944a734cde351505a7cd8c3997976d74553b
Parses JSON Web Key Set in the response data; extracts and base64 decode
key id(s) and key(s).
bug: 12035506
Change-Id: Ib71bce942d6eca1e569dfad0a9adb6dee1cdf75e
Implements an object that can convert ISO-CENC or WebM initialization
data into a ClearKey license request.
Change-Id: Ib95012afcf40fc9e3f45510a468c305fb7bc216e
Java API version
Update frameworks to enable support for CAST
V2 Authentication in the DRM Plugin.
Change-Id: I9066ada0edf8e0d777c503897d8c7fc7f76f2861
related-to-bug: 12702350
Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
Moving the build of the mock MediaDrm plugin back to
frameworks/av since it can't be installed by cts.
b/10668350
Change-Id: Id662bdb0775389b458f86a299392217f2d959422
This reverts commit 5ff7836da0.
Fixes Fatal signal 6 (SIGABRT)" when playing or downloading a video
bug: 10542864
Change-Id: I7f81a41c3acdbeb571a514b3f65e7ba37d403cca
1. Don't expect plugins to support an empty mimeType in isContentTypeSupported
2. Move the cts test mock drm plugin to the cts tree so it is always used
b/10528466
Change-Id: I6023f6165b1e9d294986f7e5cd0896e056e376f1
In DRM framework, plugins can transmit DrmInfoEvent to Java layer.
Although DrmInfoEvent has several entries, current implementation
can only convey integer and String. This change enables plugins
uto propagate a hashmap to Java layer. The hashmap can have
one or more Strings and one byte array as value.
Changes are made by Sony Corporation.
bug: 10459159
Change-Id: Ic19265d4ad3db4eda66a3c27e1e08873a8f2a4d7
(cherry picked from commit 4f782bf0cb69929ebf03de239e2c9bf8e82adf5e)
Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.
Change-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc
In the original code a random number is used to get try
to find an empty slot in the list of free DRM id's.
When you reached the limit of 0xfff id's you ended up
in an eternal loop causing ANRs.
Updated by James Dong <jdong@google.com>.
Change-Id: I70176cc3f770223c4a8060f9739fe2bc03a703d9
Part of CL https://googleplex-android-review.googlesource.com/#/c/222797/
This modifies the marshall/unmarshall of IDrmManagerService::
acquireDrmInfo() to watch for DrmInfoRequest tag "FileDescriptorKey".
If tag is present convert string to binary FD, then back to string
after passage through the interface's Binder.
Relevant bug reports:
bug: 6426185
Change-Id: I63748b7c986ca0a89613ed3f1c81f24cffb7a9b2
This patch enables the drm framework to avoid opening files directly.
As a result, the drm framework no longer needs the sdcard read permision.
o related-to-bug: 6426185
Change-Id: Ib176c35ef4b1a1a405e8e954f19a7985266f2510
In case of DRM streaming, decrypt session can start just after
receiving the header, and it doesn't need to wait for the entire
content. However, current API of DRM framework only accepts file
handle or URI. With this new API, DRM session can start
without waiting for the entire content.
Changes are made by SEMC and Sony.
Change-Id: I74375fe127df636067f1c300ea91654ba3d1aa3c
o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc
o remove some runtime dependencies to libandroid, libandroid_runtime, etc
Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
This avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened
o The change is backward compatibile in that no update is required
for existing drm plug-ins if they do not plan to provide separate
sniffer/extractor
related-to-bug: 5725548
Change-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c
* commit '3f6a7d1ee961a4544563932b7499535dc1cac1ec':
Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix." This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.
1. Revert "Fix drm flag setting missed in false drm recognition fix."
This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.
2. Revert "Fixed the false drm recognition."
This reverts commit aadbd80b307c817698ce5110ff8e002804d1b230.
3. Revert "Fix drm enumeration order, resolves failure to play forward lock ringtones"
This reverts commit a5cbf023e349f2394ba6fc58d73b4375cfec4369.
4. Revert "Fix ANRs due to Widevine DRM plugin sniff taking too long."
This reverts commit d0d19db1ca1c289b069db33f4665bcb9386064e9.
As a result of the reverting, many ANRs from WV sniffing are back.
related-to-bug: 5739618
A couple of fixes in the Forward Lock Agent.
The DRM Framework isn't thread safe so the Forward Lock Agent needs
to protect the private structures.
Base64-encoded content with LF-only instead of CRLF line breaks is now
accepted.
A fix for non-standard boundary characters.
The debug prints are also turned off as default.
Change-Id: I8ab417231380fbe1c371d18a147773ceabc6f69f