History log of /frameworks/av/drm/libmediadrm/DrmHal.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
630092e11dcff57a3a70e2fe1935bf58c5331e2f 02-May-2018 Adam Stone <blueeyes@google.com> Fix an incorrect CHECK in the code.

This is a trivial fix for an incorrect check.

Bug: 77262269
Test: Re-ran unit tests and GTS tests. Verified Google Play.
Change-Id: I807d8488f65c60c03779064cb92bbbd6c60267e4
/frameworks/av/drm/libmediadrm/DrmHal.cpp
e641294b59e2a0792d894139d739228f182409b4 01-May-2018 Jeff Tinker <jtinker@google.com> Fix abort due to missing hidl status check

Two methods in DrmHal were not checking the
hidl transaction status which causes an abort
if the transaction fails.

Change-Id: Ie4b6d4ae6507f073efa55412c21ceba317e2881d
related-to-bug:78646354
test:gts media tests, netflix playback
/frameworks/av/drm/libmediadrm/DrmHal.cpp
32494f5438db362e96b69e5fda7b2fd34633b562 27-Feb-2018 Adam Stone <blueeyes@google.com> Fixes serialization of vendor metrics

Uses an updated proto model that's more efficient for serialization.

Test: Unit tests, google play and CTS tests.
Bug: 73724218

Change-Id: I936bc18216c0c67de580424b4c62344d94be6b38
/frameworks/av/drm/libmediadrm/DrmHal.cpp
5830c5a1b0e10057589eff3b4d0015fe849374a2 28-Feb-2018 Adam Stone <blueeyes@google.com> Merge "Adds HAL metrics support for Media Drm"
4f8f900d3cb8ee117980705ac5df250f9df63bfc 27-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move mediadrm-related headers"
58ad475e3aa567bec63108970855e6518c90d42e 17-Feb-2018 Jeff Tinker <jtinker@google.com> Fix hidl return checks

Some drm HAL methods were not properly checking
their hidl Return<Status> values which would cause
aborts in some cases. This CL adds checks as needed

Test: GTS media tests
bug:73500808
Change-Id: I47ae0f82d4e614b1e78923ed48fbe4c024df5d71
/frameworks/av/drm/libmediadrm/DrmHal.cpp
28f27c3bee88b0f47b1086feeaa904bcdec37af6 06-Feb-2018 Adam Stone <blueeyes@google.com> Adds HAL metrics support for Media Drm

Adds support to fetch metrics from vendor and convert them to a proto
bundle returned from a call to getMetrics.

Bug: 64001676

Test: CTS test for metrics and GPlay test
Change-Id: I05634dd1bf092e64e2d0e77c4c0e243340af48e3
/frameworks/av/drm/libmediadrm/DrmHal.cpp
7d2c6e8be2c9a4f3c1364d243856a345f17f851e 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: I7d1b5944f261f9b1fdeed7605e4c0b4b4ca43e1a
/frameworks/av/drm/libmediadrm/DrmHal.cpp
81b4dff2763c795792f524e1e4cb068b64e659ad 16-Feb-2018 Jeff Tinker <jtinker@google.com> Merge "Fix missing check of hidl return status"
987ac7056040ed1594dc975c8a9d7cee463fa834 16-Feb-2018 Jeff Tinker <jtinker@google.com> Minor code cleanups to DrmHal

Test: builds

Change-Id: I0bec98033e4de020c09374dadaade9d9906f0d40
related-to-bug:64001676
/frameworks/av/drm/libmediadrm/DrmHal.cpp
7dfe28f246bce404778f94e977b52699adfcb4ea 15-Feb-2018 Jeff Tinker <jtinker@google.com> Fix missing check of hidl return status

closeAllSessions() was calling into the hidl interface closeSession
directly, and neglected to check the return status which resulted in
an abort. Instead, call the DrmHal::closeSession() method which handles
the hidl return status correctly.

Test: gts media tests

bug:72400509
Change-Id: I697997eb73ef6d8746fe695509671c4695124cee
/frameworks/av/drm/libmediadrm/DrmHal.cpp
fb679e38bbc91614faa917024adddeb51ff07d0a 07-Feb-2018 Adam Stone <blueeyes@google.com> Add logging support for FW metrics

Adds proto serialization and logging support for media drm framework metrics.

Bug: 64001676

Test: Ran CTS tests, unit tests and Google Play.
Change-Id: Ie350ac93caa6b35610eb63e4acc860c8e8a5cf5b
/frameworks/av/drm/libmediadrm/DrmHal.cpp
8cc97b178bc6c744eaeef526eca7a4e3f24a1a0e 13-Feb-2018 Adam Stone <blueeyes@google.com> Merge changes from topic "media-drm-fix-list-metrics"

* changes:
Fix Metrics with PersistableBundle support
Fix DrmHal implementation to return all metrics
568b3c45d48fab64c80b2780e8547564d35722e9 31-Jan-2018 Adam Stone <blueeyes@google.com> Fix Metrics with PersistableBundle support

Some metrics required a conversion to using PersistableBundle to support
slightly richer structure (lists, and nested PBs).

BUG: 64001676

Test: Ran updated CTS test and verified Google Play works.
Change-Id: I8f8d67ba04b234f2ac5ac348a8945e20837f98d6
/frameworks/av/drm/libmediadrm/DrmHal.cpp
e307dc4e7b2c9d3c4018a755db687309cf590369 11-Feb-2018 Jeff Tinker <jtinker@google.com> Revert "Revert "Update drm hal to find drm@1.1 factories""

This reverts commit d3eece8aa39560e8458ba8231b8684d99f11ee6b.

Change-Id: I15ca1dba1a384ccc026406f0a9a02c2598873456
/frameworks/av/drm/libmediadrm/DrmHal.cpp
41d279a7f3bc55a63b510d4dce07e18964cda152 11-Feb-2018 Jeff Tinker <jtinker@google.com> Revert "Revert "Fix MediaDrm security level APIs""

This reverts commit 5f5e43fa83551a3636b92871bd2ad6b260a8815b.

Change-Id: I72d585fd3768730eef6ad9effdbda81b32418dea
/frameworks/av/drm/libmediadrm/DrmHal.cpp
5f5e43fa83551a3636b92871bd2ad6b260a8815b 11-Feb-2018 Tobias Thierer <tobiast@google.com> Revert "Fix MediaDrm security level APIs"

This reverts commit 56134cc9e790f39b3b10a18b701b0607c20b6154.

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: I0de7738748ab793249df68bcbf18232d6a2d120a
/frameworks/av/drm/libmediadrm/DrmHal.cpp
637b7855829920114a8863b93fe52203b7471eea 30-Jan-2018 Adam Stone <blueeyes@google.com> Fix DrmHal implementation to return all metrics

This change in DrmHal allows us to transfer a PersistableBundle containing
previously unavailable metrics.

Bug: 64001676
Test: CTS test for metrics and GPlay test
Change-Id: I1fa87c76dd980a3f91b4e2d02b37329f6c0a88ec
/frameworks/av/drm/libmediadrm/DrmHal.cpp
56134cc9e790f39b3b10a18b701b0607c20b6154 05-Feb-2018 Jeff Tinker <jtinker@google.com> Fix MediaDrm security level APIs

Vendors implementing the newly added MediaDrm.setSecurityLevel
HAL found that it was difficult to implement properly. Also the
semantics are somewhat ambiguous from the Java platform API
level. This CL binds the security level assignment to openSession
which clarifies the API for apps as well as making it more
natural to implement in HAL modules.

bug:72831697
bug:64001680

test: VtsHalDrmV1_1TargetTest, GTS media tests
Change-Id: Iaa07727be86ec2bc92be907d5a48c92136dc2014
/frameworks/av/drm/libmediadrm/DrmHal.cpp
5641aa251bf9a6e7b6bf8a73214f92e42c393a2f 31-Jan-2018 Edwin Wong <edwinwong@google.com> Reset drmPluginV1_1 when destroyPlugin is called.

Also check for NULL mDrmPlugin before casting to V1_1.

Test: Play Movies and NetFlix

bug: 72687425
Change-Id: I47aa18730332a17860b7e27440d417ffd612810f
/frameworks/av/drm/libmediadrm/DrmHal.cpp
7fbc087b2187bc67f921d843a59a367c6431eb14 30-Jan-2018 Jeff Tinker <jtinker@google.com> Merge "Revert "Fix missing check of hidl return status""
b2b66fa4da5528cf9cdfc32f619e81e4d97ca654 30-Jan-2018 Jeff Tinker <jtinker@google.com> Revert "Fix missing check of hidl return status"

This reverts commit 09a90ab544a785b36c5b2d1ef352289e2b6f5633.

Fix for regressed b/72666743

Test: manual test to confirm problem is fixed.
See bug for repro steps.

Change-Id: Ifac9a2c3a3a92063d544e39ace48ab14c90b8050
/frameworks/av/drm/libmediadrm/DrmHal.cpp
15177d7eab8c2300b4f1d577267e528bd7e4eedc 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.

Tests: gts media tests

bug:67361434
bug:64001680
Change-Id: If6cb180cb4d2e3b655028955d105aee0cb8d70b6
/frameworks/av/drm/libmediadrm/DrmHal.cpp
566a7290c6af684947c1a757a60eae5da8ab9dee 25-Jan-2018 Adam Stone <blueeyes@google.com> Merge "Adds most remaining framework metrics"
eefbdd95b6c0614527bddc188fb112b9b486212e 25-Jan-2018 Adam Stone <blueeyes@google.com> Merge "Add EventMetric and a single use case."
cea91ce60260d7ebb94449ad7674150fdc227886 23-Jan-2018 Adam Stone <blueeyes@google.com> Adds most remaining framework metrics

Adds nearly all of the remaining specified framework level metrics.
Also adds a basic unit test to verify that metrics are exported
correctly. A follow-up CL will update the CTS test to touch all metric
values in DrmHal.

BUG: 64001676
Test: New unit test. Smoke tested with GPlay/Walleye.
Change-Id: I4df90675ae304d3c62b7886537328b3d848fd77c
/frameworks/av/drm/libmediadrm/DrmHal.cpp
91b1f83220c6fc643e2618f92b28482fa880c7fd 25-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix missing check of hidl return status"
f0e618d0ee16c63f918c7bb87ec1ff264d177746 18-Jan-2018 Adam Stone <blueeyes@google.com> Add EventMetric and a single use case.

Adds an EventMetric class, associated unit tests, and an instance of the
EventMetric to DrmHal. Also added a unit test for CounterMetric and
created a class to hold all of the future metric instances.

BUG: 64001676

Test: Added and ran unit tests. Also added a CTS test case.
Change-Id: Ic94bedd5f8293a58a939613a4ae69ce656a772be
/frameworks/av/drm/libmediadrm/DrmHal.cpp
09a90ab544a785b36c5b2d1ef352289e2b6f5633 24-Jan-2018 Jeff Tinker <jtinker@google.com> Fix missing check of hidl return status

closeAllSessions() was calling into the hidl interface closeSession
directly, and neglected to check the return status which resulted in
an abort. Instead, call the DrmHal::closeSession() method which handles
the hidl return status correctly.

Test: gts media tests

bug:72400509
Change-Id: I444be998702aeaca2905ddf560a5138d5775a316
/frameworks/av/drm/libmediadrm/DrmHal.cpp
e05a10f6d8783f7bc3cd2f78a9115bf3ab63efff 24-Jan-2018 Adam Stone <blueeyes@google.com> Merge "Add CounterMetric and a single use case."
aaf87dd09686bdb47df0a638b622a4c2ea37a331 08-Jan-2018 Adam Stone <blueeyes@google.com> Add CounterMetric and a single use case.

This adds a new class CounterMetric which is used to hold metric
information. It also adds a single use case for recording and
reporting a counter metric.

BUG: 64001676

Test: Added and ran a new test for the specific CounterMetric use case.
Change-Id: I39cab8328f135e579f80b6c2fab721da5f569795
/frameworks/av/drm/libmediadrm/DrmHal.cpp
59bc3fa914467f37c32aea1963e9354355b244e7 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
Test: GtsMediaTestCases
Change-Id: I36a8b334c70140098a01e4a3bea3159fc0a4584f
/frameworks/av/drm/libmediadrm/DrmHal.cpp
c42670b837dc6e0d63dad891f66735fd7cb3d969 23-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement new MediaDrm methods"
6d998b67be330843f633a563c23c606593060165 18-Dec-2017 Jeff Tinker <jtinker@google.com> Implement 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: I7c84df02ec33d305b6bd5ac7479922f87aa64863
/frameworks/av/drm/libmediadrm/DrmHal.cpp
ab394d13bab3a84f23677357576cee7a6f0c7899 22-Dec-2017 Adam Stone <blueeyes@google.com> Add support for getMetrics to IDrm

Adds support for the new getMetrics call to the IDrm interface and the
DrmHal implementation. The implementation currently returns a dummy
metric collection. Follow-up CLs will flesh out the implementation.

Bug: 64001676

Test: Ran the new unit test created in a related CL; ran Google Play.
Change-Id: Ia6a3af5b59a30ca55267f7e3ba278a510fc8c81e
/frameworks/av/drm/libmediadrm/DrmHal.cpp
29f736992434dbac608db3a2ff4426d9f108ad64 09-Aug-2017 Jeff Tinker <jtinker@google.com> Merge "Fix failure to check HIDL return status" into oc-dr1-dev am: 3373ab6abe
am: 76abba2b61

Change-Id: I46613ce9604f5e00cb6a0aef13c5fdc254d731ad
f0e89b0b248976f622fc41da4f678955399def08 08-Aug-2017 Jeff Tinker <jtinker@google.com> Fix failure to check HIDL return status

HIDL transaction status wasn't being checked
resulting in a SIGABRT from createPlugin when the
remote process dies.

bug: 64441780
test: run Play Movies and repeat killing
android.hardware.drm@1.0-service.widevine, check
log for transaction failed messages.

Change-Id: I0ea70578d60bb84cf693f158963181781d7e35c3
/frameworks/av/drm/libmediadrm/DrmHal.cpp
81b06822a7ad5034eee0a85fc32c527e669ab274 27-Jul-2017 Jeff Tinker <jtinker@google.com> Fix failure to check HIDL return status

Test: run Play Movies and repeat killing
android.hardware.drm@1.0-service.widevine, check
log for transaction failed messages. This uncovered
a related problem in closeSession which is also fixed
in this CL.

bug: 64022042
Change-Id: I4e86414aa1625c35689339389391e9fa6d377b1c
Merged-In: I4e86414aa1625c35689339389391e9fa6d377b1c
/frameworks/av/drm/libmediadrm/DrmHal.cpp
319d5f43d196ca1fc26c5d6169ae0bdd14a81d54 27-Jul-2017 Jeff Tinker <jtinker@google.com> Fix failure to check HIDL return status

Test: run Play Movies and repeat killing
android.hardware.drm@1.0-service.widevine, check
log for transaction failed messages. This uncovered
a related problem in closeSession which is also fixed
in this CL.

bug: 64022042
Change-Id: I4e86414aa1625c35689339389391e9fa6d377b1c
/frameworks/av/drm/libmediadrm/DrmHal.cpp
33ecc4f6b0e53ea7088ff4f151323e29183070c5 04-Apr-2017 John W. Bruce <juce@google.com> Marshal Metrics

Because DRM Plugins will not be allowed to call the AMI API under
Treble, the mediadrmservice will need to marshal the metrics out of the
plugin in protobuf format and report them to the AMI API instead. This
patch implements the pulling and interpreting of metrics from DRM
Plugins.

Bug: 36497276
Test: Played Google Play Movies, verified that playback still worked and
Widevine metrics appeared in a dump of the system media metrics.
Change-Id: If07717c1b87022bc1fcdedfbc62b9193899742d5
/frameworks/av/drm/libmediadrm/DrmHal.cpp
6133281c9b06c1d1176eca7f07401bba1067081e 16-May-2017 Jeff Tinker <jtinker@google.com> Close all open drm sessions before destroying a plugin.

MediaDrm relies on each plugin to close its open sessions
when the plugin is destroyed. This change ensures that all
sessions will be closed even if the plugin does not do it.

b/38323088

Change-Id: I8b6e36182f3b3bc765963819101868fc46001527
/frameworks/av/drm/libmediadrm/DrmHal.cpp
70367f525a7bf5be52115608d190d72756e972ea 16-Jun-2017 Jeff Tinker <jtinker@google.com> Check for drmhal plugin null pointer deref

If binderDied is invoked after a plugin is destroyed
the pointer can already be null. Also reset the init check
state after the plugin is deleted to make sure the
checks in other methods remain valid.

bug:62667492

Test: Play Movies, ExoPlayer
Change-Id: Ie12191b744331a7a435b4c64bbd1c179918553ac
/frameworks/av/drm/libmediadrm/DrmHal.cpp
3e2891674ef57a74e59ca5e27f89647b3f06861b 01-Jun-2017 Jeff Tinker <jtinker@google.com> Allow drm plugin to be released when binder dies

A plugin's listener reference was preventing the plugin
from being released in binderDied, which caused
drm sessions to be kept open if an app was abnormally
terminated. Setting the plugin's listener to NULL
in binderDied resolves the problem.

Test: repeat {launch netflix app, kill <app-pid>}
Prior to this change the netflix app would always fail to
run on the second iteration and the log showed
ERROR_TOO_MANY_SESSIONS. After this change, the netflix app
can be killed and restarted without failures.

Also verified with gts tests and play movies app.

bug:37720811
Change-Id: Iceb1c23e2a1d518da85641336f017bb8b2948863
/frameworks/av/drm/libmediadrm/DrmHal.cpp
593111f4460f2b2e8f541e936670e3577d45fff6 26-May-2017 Jeff Tinker <jtinker@google.com> Don't leak hwservicemanager binders

Use defaultServiceManager() instead of IServiceManager::getService()

bug:62073349
test:
repeat {launch Play Movies, play a movie, exit} while monitoring
adb shell cat /sys/kernel/debug/binder/stats |
grep -A10 '^proc <mediadrmserver PID>'
--> Make sure number of nodes is stable

Change-Id: Ibea0437ed21a9d58f3eb7ffa9461fb71d9c2b4ab
/frameworks/av/drm/libmediadrm/DrmHal.cpp
f53d96676da2d672d03e35fa0894cb299ac9e318 09-May-2017 Jeff Tinker <jtinker@google.com> Fix resource leaks in drm hal

bug:36408047
test: manual testing to verify leaks are fixed
Change-Id: I3ade65eff4bbe8603fe4cf04b00ab1f3e1122f90
/frameworks/av/drm/libmediadrm/DrmHal.cpp
e309b22bff1719f1fea84b247e4b2bc4c5f09eb5 05-Apr-2017 Jeff Tinker <jtinker@google.com> Change drm/crypto service names to "default"

bug: 36371166

Test: vts drm hidl test, Play Movies

Change-Id: I942f91ab0be1f237017e88910f8d3738bf54447f
/frameworks/av/drm/libmediadrm/DrmHal.cpp
b86f4b3ce066eadbfe9c2f420b16aaf2de741edb 28-Mar-2017 Rahul Frias <rfrias@google.com> Fix reclaim sessions (DO NOT MERGE)

[ Merged from master ag/2027840 ]

The SESSION_RECLAIMED event needed to be propagated to the jni native
interface.

Test: Verified by
com.google.android.media.gts.DrmSessionManagerTest#testReclaimSession
(GtsMediaTestCases) test

b/36589391

Change-Id: Ia3f17e20be19bc2e7bb88a2354d231917bfce1e8
/frameworks/av/drm/libmediadrm/DrmHal.cpp
6a4921ae044186bf64dab3903e8fead9499fc7f6 10-Mar-2017 Jeff Tinker <jtinker@google.com> Fix mediadrmserver not finding IServiceManager instance

bug: 36113291
Change-Id: I8d459e0edd61555a874cce68e178afd8d468e2e4
/frameworks/av/drm/libmediadrm/DrmHal.cpp
abeb36a8c2f044772297536e70340c3b245863e4 17-Feb-2017 Jeff Tinker <jtinker@google.com> Load vendor-provided drm hidl hal modules

Prior to this change, the default legacy hal
module was explicitly referenced. This change
uses the service manager to iterate through
any hal instances so vendor-provided hals
can be loaded.

bug:34507158
Change-Id: I23bc4fdb2dc7d5254833c9a977241f1fede726a9
/frameworks/av/drm/libmediadrm/DrmHal.cpp
38875a41d62003ee9ad1f537106a86289fb0c437 16-Feb-2017 Edwin Wong <edwinwong@google.com> Fix isCryptoSchemeSupported's return value.

If mimeType is not defined, isCryptoSchemeSupported will always
return false.

Test: Netflix on Fugu

Test:
ANDROID_BUILD_Troid-gts/tools/gts-tradefed run gts -m GtsMediaTestCases
--test com.google.android.media.gts.MediaDrmTest#testWidevineSanity

bug: 35363342
Change-Id: I579dd6d41d17c1520404a5b45baae3f730f8245a
/frameworks/av/drm/libmediadrm/DrmHal.cpp
c82b9c335e69b617817dace0ef64ad3df3f5080f 14-Feb-2017 Jeff Tinker <jtinker@google.com> Don't segfault on fail to create drm factory

bug:35329920
Change-Id: Id65254447d76222b78f977f6598751c5c51c87f3
/frameworks/av/drm/libmediadrm/DrmHal.cpp
f3a591cc9d604133e2c5cae3d34322b52cd7575d 02-Feb-2017 Jeff Tinker <jtinker@google.com> Enable DRM HIDL HAL by default

Eliminate ENABLE_TREBLE since it is obsolete.
Switching back to legacy DRM is still possible
by building with DISABLE_TREBLE_DRM=true

Change-Id: I6b921050dff6162112c60df21549fc93bc46e379
/frameworks/av/drm/libmediadrm/DrmHal.cpp
68b3d9f49e68a11af5225175dc9e60ce88819e84 07-Jan-2017 Edwin Wong <edwinwong@google.com> Pass application packagename to drm plugin.

Pass application package name to createPlugin and createDrmPlugin.
The application packagename will be used as part of a unique
identifier for drm plugin.

Test: Play Movies.

Test: ANDROID_BUILD_TOP= ./android-gts/tools/gts-tradefed run gts -m
GtsMediaTestCases --test
com.google.android.media.gts.WidevineH264PlaybackTests#testL1With480P60

Verify the application's packagename is reachable in the drm plugin's
debug log.

bug: 27101531

Change-Id: I84fb09b591a7af63f6e20004e910112a4ce6ebac
/frameworks/av/drm/libmediadrm/DrmHal.cpp
a53d6553fce1818bdf87833f93633c93ad1b5915 20-Jan-2017 Jeff Tinker <jtinker@google.com> Implement client code to use Drm and Crypto HALs

This change adds DrmHal & CryptoHal classes that connect to the Treble
HAL interfaces for drm. These classes mirror the existing Drm and
Crypto classes that connect to the DrmPlugin and CryptoPlugin
interfaces. Having both allows mediadrmserver to run in either mode
while the HAL is stabilized.

The shared memory interfaces between mediaserver's ACodecBufferChannel
and ICrypto had to be reworked to use the Treble HALs. Specifically,
the shared memory path for returning decrypted buffers in the
non-secure case had to become separate instead of piggy-backing on the
source shared memory buffer. A separate shared memory destination
buffer is now allocated on the buffer channel. An abstraction for a
decrypt destination buffer was also introduced to clarify ICrypto's
decrypt method.

Tests: Playback using Play Movies and ExoPlayer works on angler
with and without the treble hal enabled.

bug: 32815560
Change-Id: I5a3dc84f99902eb8cf8eabab9ad074d307744950
/frameworks/av/drm/libmediadrm/DrmHal.cpp