Revert "Use aidl interface for Widevine service."
This reverts commit 96a8ccd4a1.
Reason for revert:
Could break DeviceManifest/SingleManifestTest#ManifestAidlHalsServed
Bug: 200055138
Bug: 170964303
Bug: 217241995
Change-Id: I9c42df15defec428c9ef8c62439c63d4a603fee6
This commit is contained in:
@@ -1,93 +0,0 @@
|
||||
//
|
||||
// Copyright 2021 Google LLC. All Rights Reserved. This file and proprietary
|
||||
// source code may only be used and distributed under the Widevine License
|
||||
// Agreement.
|
||||
//
|
||||
|
||||
#ifndef WV_CRYPTO_PLUGIN_H_
|
||||
#define WV_CRYPTO_PLUGIN_H_
|
||||
|
||||
#include <aidl/android/hardware/common/Ashmem.h>
|
||||
#include <aidl/android/hardware/drm/BnCryptoPlugin.h>
|
||||
#include <aidl/android/hardware/drm/Status.h>
|
||||
#include <android-base/thread_annotations.h>
|
||||
|
||||
#include <mutex>
|
||||
|
||||
#include "WVTypes.h"
|
||||
#include "log.h"
|
||||
#include "wv_content_decryption_module.h"
|
||||
|
||||
namespace wvdrm {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace widevine {
|
||||
|
||||
struct SharedBufferBase {
|
||||
uint8_t* mBase;
|
||||
int64_t mSize;
|
||||
SharedBufferBase(const ::aidl::android::hardware::common::Ashmem& mem);
|
||||
~SharedBufferBase();
|
||||
};
|
||||
|
||||
struct WVCryptoPlugin : public ::aidl::android::hardware::drm::BnCryptoPlugin {
|
||||
WVCryptoPlugin(const void* data, size_t size,
|
||||
const ::android::sp<wvcdm::WvContentDecryptionModule>& cdm);
|
||||
virtual ~WVCryptoPlugin();
|
||||
|
||||
::ndk::ScopedAStatus requiresSecureDecoderComponent(
|
||||
const std::string& in_mime, bool* _aidl_return) override;
|
||||
|
||||
::ndk::ScopedAStatus notifyResolution(int32_t in_width,
|
||||
int32_t in_height) override;
|
||||
|
||||
::ndk::ScopedAStatus setMediaDrmSession(
|
||||
const std::vector<uint8_t>& in_sessionId) override;
|
||||
|
||||
::ndk::ScopedAStatus setSharedBufferBase(
|
||||
const ::aidl::android::hardware::common::Ashmem& in_base,
|
||||
int32_t in_bufferId) override;
|
||||
|
||||
::ndk::ScopedAStatus decrypt(
|
||||
bool in_secure, const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_iv,
|
||||
::aidl::android::hardware::drm::Mode in_mode,
|
||||
const ::aidl::android::hardware::drm::Pattern& in_pattern,
|
||||
const std::vector<::aidl::android::hardware::drm::SubSample>&
|
||||
in_subSamples,
|
||||
const ::aidl::android::hardware::drm::SharedBuffer& in_source,
|
||||
int64_t in_offset,
|
||||
const ::aidl::android::hardware::drm::DestinationBuffer& in_destination,
|
||||
::aidl::android::hardware::drm::DecryptResult* _aidl_return) override;
|
||||
|
||||
::ndk::ScopedAStatus getLogMessages(
|
||||
std::vector<::aidl::android::hardware::drm::LogMessage>* _aidl_return)
|
||||
override;
|
||||
|
||||
private:
|
||||
WVDRM_DISALLOW_COPY_AND_ASSIGN_AND_NEW(WVCryptoPlugin);
|
||||
|
||||
// List this field first so it is destructed last; ensure logging uid
|
||||
// is cleared right before plugin is destructed.
|
||||
wvutil::LoggingUidSetter mLoggingUidSetter;
|
||||
|
||||
wvcdm::CdmSessionId mSessionId;
|
||||
std::map<uint32_t, std::shared_ptr<SharedBufferBase>> mSharedBufferMap
|
||||
GUARDED_BY(mSharedBufferLock);
|
||||
|
||||
::android::sp<wvcdm::WvContentDecryptionModule> const mCDM;
|
||||
uint32_t mUserId;
|
||||
|
||||
::aidl::android::hardware::drm::Status attemptDecrypt(
|
||||
const wvcdm::CdmDecryptionParametersV16& params,
|
||||
bool haveEncryptedSubsamples, std::string* errorDetailMsg);
|
||||
|
||||
std::mutex mSharedBufferLock;
|
||||
};
|
||||
|
||||
} // namespace widevine
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace wvdrm
|
||||
|
||||
#endif // WV_CRYPTO_PLUGIN_H_
|
||||
Reference in New Issue
Block a user