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
|