See build/soong/README.md for more information.
Also moves a few headers into the same library as their
implementation, and fixes a few includes to go through the
global frameworks/av/include path instead of manually adding
frameworks/av/include/drm.
Test: m -j checkbuild
Change-Id: I0c2d2f2262e7ed78d80a0d44795705c64b797ff0
* 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
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
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
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
- Generate unique ID for each DrmManagerClient in native side
- Fix the bug where multiple clients could use the same ID
- Return the correct unique ID back to Java
- Add a flag in the unique ID to separate native client and Java client
Change-Id: Ia4574b6b0a526f2335a65380975dc62f9a6e7f9b
- Add death listener to clean-up drmserver appropriately
when drmserver died.
- Remove "static" declaration of mUniqueIdVector because it was not
needed to be static variable.
- Remove "class DrmContentIds;" because the class does not exist.
- contentPath in saveRights() could be empty because
it is not required by some DRM schemes.
- Fix naming convention to use sXXX for static variables.
- Fix typo
Change-Id: I7d440488fc074c200f1009d1bafafeffebd690b2
Use full string comparisons instead of partial for
file extension and MIME type.
Do case-insensitive comparison of MIME type and file extensions.
Fix error in comment for String8::getPathExtension.
Remove dead code -- StringTokenizer is unused.
Change-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29
In DrmManager, we currently lock both processDrmInfo() and onInfo() which is
ok for now since processDrmInfo() is async call, and it will return without
waiting for onInfo() call. However, if we send an event in processDrmInfo(),
we will got deadlock here because we need to invoke onInf() which will wait
for processDrmInfo() to release the lock. Use different lock for onInfo().
- Remove some redundent mutex lock.
Change-Id: I59c794f95ba1693425723224114fa975cf9b235f
are not error logs from non-DRMed content's point of view.
- Add more mutex lock to avoid crash by multi-thread calls.
- Fix for bug 4050039
Change-Id: I52fed22069f0cda6c4ac6a5363469168c797a33b