libwvhidl: upgrade to android.hardware.drm@1.4
Bug: 136119370 Test: GtsMediaTestCases MediaDrmTest#testRequiresSecureDecoder Change-Id: Iaaa7c225c0056904b5fd98c4557ec47f661b2c7d
This commit is contained in:
@@ -93,6 +93,7 @@ cc_defaults {
|
||||
"android.hardware.drm@1.1",
|
||||
"android.hardware.drm@1.2",
|
||||
"android.hardware.drm@1.3",
|
||||
"android.hardware.drm@1.4",
|
||||
"libbase",
|
||||
"libhidlbase",
|
||||
"liblog",
|
||||
@@ -168,6 +169,39 @@ cc_binary {
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Builds android.hardware.drm@1.4-service.widevine
|
||||
//
|
||||
cc_binary {
|
||||
name: "android.hardware.drm@1.4-service.widevine",
|
||||
defaults: [
|
||||
"common_widevine_service-multilib-first",
|
||||
"common_widevine_service-multilib-defaults",
|
||||
],
|
||||
|
||||
srcs: ["src_hidl/service.cpp"],
|
||||
init_rc: ["src_hidl/android.hardware.drm@1.4-service.widevine.rc"],
|
||||
vintf_fragments: ["manifest_android.hardware.drm@1.4-service.widevine.xml"],
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Builds android.hardware.drm@1.4-service-lazy.widevine
|
||||
//
|
||||
cc_binary {
|
||||
name: "android.hardware.drm@1.4-service-lazy.widevine",
|
||||
defaults: [
|
||||
"common_widevine_service-multilib-first",
|
||||
"common_widevine_service-multilib-defaults",
|
||||
],
|
||||
|
||||
srcs: ["src_hidl/serviceLazy.cpp"],
|
||||
overrides: ["android.hardware.drm@1.4-service.widevine"],
|
||||
init_rc: ["src_hidl/android.hardware.drm@1.4-service-lazy.widevine.rc"],
|
||||
vintf_fragments: ["manifest_android.hardware.drm@1.4-service.widevine.xml"],
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Builds libcdm_utils.a
|
||||
//
|
||||
@@ -323,6 +357,7 @@ cc_library_shared {
|
||||
"android.hardware.drm@1.1",
|
||||
"android.hardware.drm@1.2",
|
||||
"android.hardware.drm@1.3",
|
||||
"android.hardware.drm@1.4",
|
||||
"android.hidl.memory@1.0",
|
||||
"libbase",
|
||||
"libcrypto",
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
#define HIDL_TYPES_H_
|
||||
|
||||
#include <android/hardware/drm/1.1/types.h>
|
||||
#include <android/hardware/drm/1.2/ICryptoPlugin.h>
|
||||
#include <android/hardware/drm/1.2/IDrmPlugin.h>
|
||||
#include <android/hardware/drm/1.2/IDrmPluginListener.h>
|
||||
#include <android/hardware/drm/1.2/types.h>
|
||||
#include <android/hardware/drm/1.3/ICryptoFactory.h>
|
||||
#include <android/hardware/drm/1.3/IDrmFactory.h>
|
||||
#include <android/hardware/drm/1.2/IDrmPluginListener.h>
|
||||
#include <android/hardware/drm/1.4/ICryptoFactory.h>
|
||||
#include <android/hardware/drm/1.4/ICryptoPlugin.h>
|
||||
#include <android/hardware/drm/1.4/IDrmFactory.h>
|
||||
#include <android/hardware/drm/1.4/IDrmPlugin.h>
|
||||
#include <hidl/HidlTransportSupport.h>
|
||||
|
||||
using ::android::hardware::configureRpcThreadpool;
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
extern "C" {
|
||||
IDrmFactory* createDrmFactory();
|
||||
ICryptoFactory* createCryptoFactory();
|
||||
::drm::V1_4::IDrmFactory* createDrmFactory();
|
||||
::drm::V1_4::ICryptoFactory* createCryptoFactory();
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
struct WVCryptoFactory : public ICryptoFactory {
|
||||
struct WVCryptoFactory : public ::drm::V1_4::ICryptoFactory {
|
||||
public:
|
||||
WVCryptoFactory() {}
|
||||
virtual ~WVCryptoFactory() {}
|
||||
@@ -34,7 +34,7 @@ struct WVCryptoFactory : public ICryptoFactory {
|
||||
};
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using ::android::hardware::hidl_handle;
|
||||
using ::android::hardware::hidl_vec;
|
||||
|
||||
struct WVDrmFactory : public IDrmFactory {
|
||||
struct WVDrmFactory : public ::drm::V1_4::IDrmFactory {
|
||||
WVDrmFactory() {}
|
||||
virtual ~WVDrmFactory() {}
|
||||
|
||||
@@ -60,7 +60,7 @@ struct WVDrmFactory : public IDrmFactory {
|
||||
extern "C" IDrmFactory* HIDL_FETCH_IDrmFactory(const char* name);
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.drm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.4::ICryptoFactory/widevine</fqname>
|
||||
<fqname>@1.4::IDrmFactory/widevine</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
@@ -83,6 +83,7 @@ cc_library_static {
|
||||
"android.hardware.drm@1.1",
|
||||
"android.hardware.drm@1.2",
|
||||
"android.hardware.drm@1.3",
|
||||
"android.hardware.drm@1.4",
|
||||
"android.hidl.memory@1.0",
|
||||
"libcrypto",
|
||||
"libhidlmemory",
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_2 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using ::android::hidl::memory::V1_0::IMemory;
|
||||
|
||||
struct WVCryptoPlugin : public ICryptoPlugin {
|
||||
struct WVCryptoPlugin : public ::drm::V1_4::ICryptoPlugin {
|
||||
WVCryptoPlugin(const void* data, size_t size,
|
||||
const sp<wvcdm::WvContentDecryptionModule>& cdm);
|
||||
virtual ~WVCryptoPlugin() {}
|
||||
@@ -75,7 +75,7 @@ struct WVCryptoPlugin : public ICryptoPlugin {
|
||||
};
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_2
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -40,7 +40,7 @@ inline Status toStatus_1_0(Status_V1_2 status) {
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_2 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using android::hardware::drm::V1_2::widevine::toVector;
|
||||
@@ -345,7 +345,7 @@ Status_V1_2 WVCryptoPlugin::attemptDecrypt(
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_2
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -96,6 +96,7 @@ LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.drm@1.1 \
|
||||
android.hardware.drm@1.2 \
|
||||
android.hardware.drm@1.3 \
|
||||
android.hardware.drm@1.4 \
|
||||
android.hidl.memory@1.0 \
|
||||
libbase \
|
||||
libbinder \
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_2 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using ::android::MemoryDealer;
|
||||
@@ -637,7 +637,7 @@ TEST_F(WVCryptoPluginTest, DisallowsUnopenedSessionIdChanges) {
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_2
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -88,6 +88,7 @@ cc_library_static {
|
||||
"android.hardware.drm@1.1",
|
||||
"android.hardware.drm@1.2",
|
||||
"android.hardware.drm@1.3",
|
||||
"android.hardware.drm@1.4",
|
||||
"android.hidl.memory@1.0",
|
||||
"libcrypto",
|
||||
"liblog",
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_2 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using std::map;
|
||||
@@ -34,7 +34,7 @@ using wvcdm::WvContentDecryptionModule;
|
||||
const OEMCrypto_Algorithm kInvalidCryptoAlgorithm =
|
||||
static_cast<OEMCrypto_Algorithm>(-1);
|
||||
|
||||
struct WVDrmPlugin : public IDrmPlugin, IDrmPluginListener,
|
||||
struct WVDrmPlugin : public ::drm::V1_4::IDrmPlugin, IDrmPluginListener,
|
||||
wvcdm::WvCdmEventListener {
|
||||
|
||||
WVDrmPlugin(const sp<WvContentDecryptionModule>& cdm,
|
||||
@@ -220,6 +220,11 @@ struct WVDrmPlugin : public IDrmPlugin, IDrmPluginListener,
|
||||
Return<void> sendSessionLostState(
|
||||
const hidl_vec<uint8_t>& sessionId) override;
|
||||
|
||||
Return<bool> requiresSecureDecoder(const hidl_string& mime, SecurityLevel level)
|
||||
override;
|
||||
|
||||
Return<bool> requiresSecureDecoderDefault(const hidl_string& mime) override;
|
||||
|
||||
// The following methods do not use hidl interface, it is used internally.
|
||||
virtual Status unprovisionDevice();
|
||||
|
||||
@@ -484,7 +489,7 @@ struct WVDrmPlugin : public IDrmPlugin, IDrmPluginListener,
|
||||
};
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_2
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -41,7 +41,7 @@ static const std::string kKeyOrigin = "origin";
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_2 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using android::hardware::drm::V1_2::widevine::toHidlVec;
|
||||
@@ -1926,6 +1926,35 @@ Return<void> WVDrmPlugin::sendSessionLostState(
|
||||
return err;
|
||||
}
|
||||
|
||||
Return<bool> WVDrmPlugin::requiresSecureDecoder(
|
||||
const hidl_string& mime, SecurityLevel level) {
|
||||
if (!strncasecmp(mime.c_str(), "video/", 6)) {
|
||||
// Type is video, so check level to see if we require a secure decoder.
|
||||
return level == SecurityLevel::HW_SECURE_ALL
|
||||
|| level == SecurityLevel::HW_SECURE_DECODE;
|
||||
} else {
|
||||
// Type is not video, so never require a secure decoder.
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Return<bool> WVDrmPlugin::requiresSecureDecoderDefault(const hidl_string& mime) {
|
||||
if (!strncasecmp(mime.c_str(), "video/", 6)) {
|
||||
// Type is video, so check level to see if we require a secure decoder.
|
||||
std::string level(mPropertySet.security_level());
|
||||
|
||||
if (level == kResetSecurityLevel) {
|
||||
mCDM->QueryStatus(wvcdm::kLevelDefault,
|
||||
wvcdm::QUERY_KEY_SECURITY_LEVEL, &level);
|
||||
}
|
||||
|
||||
return level == wvcdm::QUERY_VALUE_SECURITY_LEVEL_L1;
|
||||
} else {
|
||||
// Type is not video, so never require a secure decoder.
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void WVDrmPlugin::OnSessionRenewalNeeded(const CdmSessionId& cdmSessionId) {
|
||||
const std::vector<uint8_t> sessionId = StrToVector(cdmSessionId);
|
||||
const hidl_vec<uint8_t> data; // data is ignored
|
||||
@@ -2313,7 +2342,7 @@ uint32_t WVDrmPlugin::CdmIdentifierBuilder::getNextUniqueId() {
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_2
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -100,6 +100,7 @@ LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.drm@1.1 \
|
||||
android.hardware.drm@1.2 \
|
||||
android.hardware.drm@1.3 \
|
||||
android.hardware.drm@1.4 \
|
||||
android.hidl.memory@1.0 \
|
||||
libbinder \
|
||||
libbase \
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_2 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using android::hardware::drm::V1_2::widevine::toHidlVec;
|
||||
@@ -3427,7 +3427,7 @@ TEST_F(WVDrmPluginTest, RemoveOfflineLicense) {
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_2
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -12,22 +12,22 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
extern "C" {
|
||||
|
||||
IDrmFactory* createDrmFactory() {
|
||||
::drm::V1_4::IDrmFactory* createDrmFactory() {
|
||||
return new WVDrmFactory();
|
||||
}
|
||||
|
||||
ICryptoFactory* createCryptoFactory() {
|
||||
::drm::V1_4::ICryptoFactory* createCryptoFactory() {
|
||||
return new WVCryptoFactory();
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using wvdrm::hardware::drm::V1_2::widevine::WVCryptoPlugin;
|
||||
using wvdrm::hardware::drm::V1_4::widevine::WVCryptoPlugin;
|
||||
|
||||
Return<bool> WVCryptoFactory::isCryptoSchemeSupported(
|
||||
const hidl_array<uint8_t, 16>& uuid) {
|
||||
@@ -54,7 +54,7 @@ Return<void> WVCryptoFactory::createPlugin(
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using wvdrm::hardware::drm::V1_2::widevine::WVDrmPlugin;
|
||||
using wvdrm::hardware::drm::V1_4::widevine::WVDrmPlugin;
|
||||
|
||||
WVGenericCryptoInterface WVDrmFactory::sOemCryptoInterface;
|
||||
|
||||
@@ -269,7 +269,7 @@ Return<void> WVDrmFactory::debug(const hidl_handle& fd,
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
on property:init.svc.mediadrm=running
|
||||
mkdir /data/vendor/mediadrm 0770 media mediadrm
|
||||
start vendor.move_data_sh
|
||||
|
||||
service vendor.move_data_sh /system/bin/move_widevine_data.sh
|
||||
class late_start
|
||||
user media
|
||||
group media mediadrm system
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
service vendor.drm-widevine-hal-1-4 /vendor/bin/hw/android.hardware.drm@1.4-service-lazy.widevine
|
||||
interface android.hardware.drm@1.0::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.0::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.1::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.1::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.2::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.2::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.3::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.3::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.4::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.4::IDrmFactory widevine
|
||||
interface android.hidl.base@1.0::IBase widevine
|
||||
oneshot
|
||||
disabled
|
||||
class hal
|
||||
user media
|
||||
group media mediadrm drmrpc system
|
||||
ioprio rt 4
|
||||
writepid /dev/cpuset/foreground/tasks
|
||||
@@ -0,0 +1,28 @@
|
||||
on property:init.svc.mediadrm=running
|
||||
mkdir /data/vendor/mediadrm 0770 media mediadrm
|
||||
start vendor.move_data_sh
|
||||
|
||||
service vendor.move_data_sh /system/bin/move_widevine_data.sh
|
||||
class late_start
|
||||
user media
|
||||
group media mediadrm system
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
service vendor.drm-widevine-hal-1-4 /vendor/bin/hw/android.hardware.drm@1.4-service.widevine
|
||||
interface android.hardware.drm@1.0::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.0::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.1::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.1::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.2::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.2::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.3::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.3::IDrmFactory widevine
|
||||
interface android.hardware.drm@1.4::ICryptoFactory widevine
|
||||
interface android.hardware.drm@1.4::IDrmFactory widevine
|
||||
interface android.hidl.base@1.0::IBase widevine
|
||||
class hal
|
||||
user media
|
||||
group media mediadrm drmrpc system
|
||||
ioprio rt 4
|
||||
writepid /dev/cpuset/foreground/tasks
|
||||
@@ -22,8 +22,8 @@
|
||||
#include "WVCryptoFactory.h"
|
||||
#include "WVDrmFactory.h"
|
||||
|
||||
using wvdrm::hardware::drm::V1_3::widevine::WVCryptoFactory;
|
||||
using wvdrm::hardware::drm::V1_3::widevine::WVDrmFactory;
|
||||
using wvdrm::hardware::drm::V1_4::widevine::WVCryptoFactory;
|
||||
using wvdrm::hardware::drm::V1_4::widevine::WVDrmFactory;
|
||||
|
||||
int main(int /* argc */, char** /* argv */) {
|
||||
sp<IDrmFactory> drmFactory = new WVDrmFactory;
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
#include "WVCryptoFactory.h"
|
||||
#include "WVDrmFactory.h"
|
||||
|
||||
using wvdrm::hardware::drm::V1_3::widevine::WVCryptoFactory;
|
||||
using wvdrm::hardware::drm::V1_3::widevine::WVDrmFactory;
|
||||
using wvdrm::hardware::drm::V1_4::widevine::WVCryptoFactory;
|
||||
using wvdrm::hardware::drm::V1_4::widevine::WVDrmFactory;
|
||||
using android::hardware::LazyServiceRegistrar;
|
||||
|
||||
int main(int /* argc */, char** /* argv */) {
|
||||
|
||||
@@ -76,6 +76,7 @@ LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.drm@1.1 \
|
||||
android.hardware.drm@1.2 \
|
||||
android.hardware.drm@1.3 \
|
||||
android.hardware.drm@1.4 \
|
||||
libbase \
|
||||
libcrypto \
|
||||
libdl \
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using ::android::sp;
|
||||
@@ -32,7 +32,7 @@ TEST(CreatePluginFactoriesTest, CreatesCryptoFactory) {
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using ::android::sp;
|
||||
@@ -48,7 +48,7 @@ TEST(WVCryptoFactoryTest, DoesNotSupportUnsupportedCryptoSchemes) {
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace V1_3 {
|
||||
namespace V1_4 {
|
||||
namespace widevine {
|
||||
|
||||
using namespace android;
|
||||
@@ -144,7 +144,7 @@ TEST(WVDrmFactoryTest, CalculatesBlankAppPackageNamePermissibilityCorrectly) {
|
||||
}
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace V1_3
|
||||
} // namespace V1_4
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
Reference in New Issue
Block a user