Use aidl interface for Widevine service.

The interface is defined in
hardware/interfaces/drm/aidl(http://go/ag/15329852).

Test: build
  m android.hardware.drm-service.widevine -j128

Test: build_and_run_all_unit_tests.sh
  for hidl tests

Test: atest VtsAidlHalDrmTargetTest

Bug: 200055138
Bug: 170964303
Change-Id: If2f2a129914436ba5cef1c46f6cb9415e12c3d1c
This commit is contained in:
Edwin
2021-12-30 11:39:14 -08:00
parent 642965c678
commit 96a8ccd4a1
75 changed files with 7077 additions and 1479 deletions

View File

@@ -19,9 +19,9 @@
#include <vector>
#include "HidlTypes.h"
#include "log.h"
#include "media/stagefright/MediaErrors.h"
#include "HidlTypes.h"
#include "utils/Errors.h"
namespace android {
@@ -32,15 +32,15 @@ namespace widevine {
inline ::drm::V1_4::LogPriority toHidlPriority(wvutil::LogPriority p) {
switch (p) {
case wvutil::LogPriority::LOG_ERROR:
case wvutil::LogPriority::CDM_LOG_ERROR:
return ::drm::V1_4::LogPriority::ERROR;
case wvutil::LogPriority::LOG_WARN:
case wvutil::LogPriority::CDM_LOG_WARN:
return ::drm::V1_4::LogPriority::WARN;
case wvutil::LogPriority::LOG_INFO:
case wvutil::LogPriority::CDM_LOG_INFO:
return ::drm::V1_4::LogPriority::INFO;
case wvutil::LogPriority::LOG_DEBUG:
case wvutil::LogPriority::CDM_LOG_DEBUG:
return ::drm::V1_4::LogPriority::DEBUG;
case wvutil::LogPriority::LOG_VERBOSE:
case wvutil::LogPriority::CDM_LOG_VERBOSE:
return ::drm::V1_4::LogPriority::VERBOSE;
default:
return ::drm::V1_4::LogPriority::UNKNOWN;
@@ -48,7 +48,7 @@ inline ::drm::V1_4::LogPriority toHidlPriority(wvutil::LogPriority p) {
return ::drm::V1_4::LogPriority::UNKNOWN;
}
template<typename T, typename U>
template <typename T, typename U>
hidl_vec<T> toHidlVec(const std::vector<U> &vec);
template<>
@@ -58,9 +58,9 @@ inline hidl_vec<::drm::V1_4::LogMessage> toHidlVec(const std::vector<wvutil::Log
for (auto msg : vec) {
if (uid == msg.uid_) {
vec2.push_back({
msg.time_ms_,
toHidlPriority(msg.priority_),
msg.message_,
msg.time_ms_,
toHidlPriority(msg.priority_),
msg.message_,
});
}
}
@@ -68,42 +68,46 @@ inline hidl_vec<::drm::V1_4::LogMessage> toHidlVec(const std::vector<wvutil::Log
return hidl_vec<::drm::V1_4::LogMessage>(vec2);
}
template<typename T> const hidl_vec<T> toHidlVec(const std::vector<T> &vec) {
hidl_vec<T> hVec;
hVec.setToExternal(const_cast<T *>(vec.data()), vec.size());
return hVec;
template <typename T>
const hidl_vec<T> toHidlVec(const std::vector<T> &vec) {
hidl_vec<T> hVec;
hVec.setToExternal(const_cast<T *>(vec.data()), vec.size());
return hVec;
}
template<typename T> hidl_vec<T> toHidlVec(std::vector<T> &vec) {
hidl_vec<T> hVec;
hVec.setToExternal(vec.data(), vec.size());
return hVec;
template <typename T>
hidl_vec<T> toHidlVec(std::vector<T> &vec) {
hidl_vec<T> hVec;
hVec.setToExternal(vec.data(), vec.size());
return hVec;
}
template<typename T> const std::vector<T> toVector(const hidl_vec<T> &hVec) {
std::vector<T> vec;
vec.assign(hVec.data(), hVec.data() + hVec.size());
return *const_cast<const std::vector<T> *>(&vec);
template <typename T>
const std::vector<T> toVector(const hidl_vec<T> &hVec) {
std::vector<T> vec;
vec.assign(hVec.data(), hVec.data() + hVec.size());
return *const_cast<const std::vector<T> *>(&vec);
}
template<typename T> std::vector<T> toVector(hidl_vec<T> &hVec) {
std::vector<T> vec;
vec.assign(hVec.data(), hVec.data() + hVec.size());
return vec;
template <typename T>
std::vector<T> toVector(hidl_vec<T> &hVec) {
std::vector<T> vec;
vec.assign(hVec.data(), hVec.data() + hVec.size());
return vec;
}
template<typename T, size_t SIZE> const std::vector<T> toVector(
const hidl_array<T, SIZE> &hArray) {
std::vector<T> vec;
vec.assign(hArray.data(), hArray.data() + hArray.size());
return vec;
template <typename T, size_t SIZE>
const std::vector<T> toVector(const hidl_array<T, SIZE> &hArray) {
std::vector<T> vec;
vec.assign(hArray.data(), hArray.data() + hArray.size());
return vec;
}
template<typename T, size_t SIZE> std::vector<T> toVector(
hidl_array<T, SIZE> &hArray) {
std::vector<T> vec;
vec.assign(hArray.data(), hArray.data() + hArray.size());
return vec;
template <typename T, size_t SIZE>
std::vector<T> toVector(hidl_array<T, SIZE> &hArray) {
std::vector<T> vec;
vec.assign(hArray.data(), hArray.data() + hArray.size());
return vec;
}
} // namespace widevine
@@ -112,4 +116,4 @@ template<typename T, size_t SIZE> std::vector<T> toVector(
} // namespace hardware
} // namespace android
#endif // WVDRM_ANDROID_HARDWARE_DRM_V1_0_TYPECONVERT
#endif // WVDRM_ANDROID_HARDWARE_DRM_V1_0_TYPECONVERT