Rather than having a lib called libstagefright_foundation and one
called libstagefright_foundation_vendor, we now just have one library
and the build system keeps track of the vendor APIs that are exposed.
Test: (sanity) boot device, watch (part of) DRM protected movie.
Change-Id: I7495be3e8f546cac1b4909108313cf61fc85b1d8
As VTS tests are considered system and link against these.
Bug: 38302533
Bug: 62523241
Test: builds
Change-Id: Iac5c872c58ec9646d6d6974aacceb930daad7e5e
drm HAL has been using libmediadrm for android::SharedLibrary class and
android::PluginLoader class. This is a Treble violation since
libmediadrm is a framework-only library that is not available to
vendors.
To solve the problem, the two classes are copied into this directory
to form a small static library android.hardware.drm@1.0-helper.a.
Bug: 38302533
Test: mm under /hardware/interfaces/drm/1.0/default and
/hardware/interfaces/drm/1.0/vts/functional
Change-Id: I7b4e5cdb3bc815e971e0c3b7ec99ea86042e13eb
DRM HAL is a library in vendor. When BOARD_VNDK_VERSION is turned
on, any lib in vendor partition can only link against to other vendor
libs or libs marked as vendor_available:true. This lib is using
libstagefright_foundation and the lib is not available to vendors.
Instead, libstagefright_foundation_vendor is provided as a
vendor-variant of the foundation library. Thus switching to the vendor
variant.
Bug: 37462569
Test: m android.hardware.drm@1.0-impl
Change-Id: Iaee9886f9ba3643e1c19928690bad13c26ac29d7
This caused b/38343526 which is a chase list issue, reverting for now.
This reverts commit 4e1fe736af.
Change-Id: Ib9ffcd11e575e3f05f54cbea17fda2f2eb3780b5
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h
Test: pass
Merged-In: Iff316b21bef556bb026378b7f89e97ded3febef4
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
We are ready for devices to begin migrating to a 64-bit Legacy DRM
Loader. However, not all devices are ready to make this jump yet. A
device needs to have all of its Legacy DRM Plugins ready to run as
64-bit before it can do this. This includes having 64-bit hardware
integrations.
So that devices can turn on 64-bit support as they get ready, I am
adding flags that can be set in a device's device.mk file. There are two
parts:
* ENABLE_MEDIADRM_64 enables building the Legacy DRM Plugin HAL as
64-bit.
* Setting drm.64bit.enabled=true in PRODUCT_PROPERTY_OVERRIDES switches
the Legacy DRM Plugin HAL to searching for DRM Plugins in the 64-bit
directory.
Test: Validated that turning on these flags enables a 64-bit Legacy DRM
Plugin HAL that loads 64-bit Legacy DRM Plugins from the lib64
directory.
Bug: 36076017
Change-Id: I8d21fc7e7c0357eb6755839d41caa0f37ca20aff
hidl_string no longer will provide an implicit cast to const char* as it
interfers with other expected behaviors of the class. It now emulated
std::string in requiring a call to .c_str() to get the same behavior.
Bug: 36532780
Test: Build the tree
Change-Id: I265590c7c18f425e44863df062a56b67519a932a
Should abort program if registerPassthroughServiceImplementation returns
something other than OK.
Test: Play Movies & TV in non-binderized mode.
bug: 34640335
Change-Id: I94be98e7ae66cdb777a7d182123c8692aef915b7
MediaCodecTest.android.media.cts.MediaCodecTest.testCryptoError
was failing due to incorrect error code translation introduced
by the drm hidl hal.
bug: 35137940
Change-Id: Ibd02425a55194f3cb0acc0e53f90b156023fb1ab
Legacy error codes need to be converted into new Status values before
being reported. Decryption errors (that were negative) were changed to
absolute values. This caused their translation to new Status values to
fail.
b/35634335
Test: Verified with GtsExoPlayerTestCases. Some failures, but those
are unrelated to this CL and will be addressed separately.
Change-Id: I995cac33cb2725d02b0f1a3922e522ce07a9d1be
The legacy plugin listener was not set when used in
passthrough mode in Treble. This caused events (session renewal,
key expired etc) not to be propagated to the app.
b/35375500
Test: In progress
Change-Id: I7d74b3320c82e22f67d3c804ee93f9b9791080b2
The initial drm hidl hal implementation assumed one
codec per crypto instance, but in fact there can be
multiple codecs per crypto instance. This change
extends the drm hal to allow multiple memory heaps
per crypto plugin. It fixes the issue of mapping
memory frequently during playback.
bug:35275191
Test: manual verification with Play Movies on angler
and in binderized mode on marlin
Change-Id: I0ec36856248623d2ad8acb8ce9873e9274883a40
bug:35329920
Tests: Verfied playback on Ryu with Play Movies in combination with
ag/1907708, ag/1909159
This reverts commit fbf3650370.
Change-Id: I4a35a329b24e4cd9efcff4fe84e9d8901c714d57
We need google shims on the vendor partition because they are providing
an implementation of a vendor defined interface. They were written by
google just as a courtesy/to make the transition easier. They're
basically a set for vendors to assemble their hal implementations
from.
Bug: 34135607
Test: marlin persist.hal.binderization on/off
Change-Id: I2e2af5af39264cf290259755bb9b2eb9827a21f5
A feature in O requires a small change to the
drm HAL: adding a parameter to the createPlugin
method in the DrmFactory.
bug:31306973
Change-Id: Iab0f7ee58103b357f10cf05ea7986a8fc01eebf6
Previously the drm and crypto plugins were separate hals.
This implied a separation of implementation libraries which
causes problems for some drm schemes. The reorganization
combines the hals into a single interface under drm.
Tests: basic gtests passing
Change-Id: I5cde6ff9f60625a0219731c4dbfcaefbd9f27f88
related-to-bug: 32815560