Merge of http://go/wvgerrit/70163 New codes are being added to handle resource contention, lost session state, frame size too large and insufficient security level for decryption. Also cleans up inconsistent use of tamper detected error where invalid state error should have been used. bug:111504510 bug:111505796 test: cts and gts media tests, widevine integration tests Change-Id: I96ee441717d32ccbcabaa85c8f6a0013055ce16e
54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
//
|
|
// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
|
|
// source code may only be used and distributed under the Widevine Master
|
|
// License Agreement.
|
|
//
|
|
|
|
#ifndef WV_DRM_FACTORY_H_
|
|
#define WV_DRM_FACTORY_H_
|
|
|
|
#include "HidlTypes.h"
|
|
#include "WVGenericCryptoInterface.h"
|
|
#include "WVTypes.h"
|
|
|
|
namespace wvdrm {
|
|
namespace hardware {
|
|
namespace drm {
|
|
namespace V1_2 {
|
|
namespace widevine {
|
|
|
|
struct WVDrmFactory : public IDrmFactory {
|
|
WVDrmFactory() {}
|
|
virtual ~WVDrmFactory() {}
|
|
|
|
Return<bool> isCryptoSchemeSupported(const hidl_array<uint8_t, 16>& uuid)
|
|
override;
|
|
|
|
Return<bool> isContentTypeSupported(const hidl_string &mimeType)
|
|
override;
|
|
|
|
Return<void> createPlugin(
|
|
const hidl_array<uint8_t, 16>& uuid,
|
|
const hidl_string& appPackageName,
|
|
createPlugin_cb _hidl_cb) override;
|
|
|
|
private:
|
|
WVDRM_DISALLOW_COPY_AND_ASSIGN(WVDrmFactory);
|
|
|
|
static WVGenericCryptoInterface sOemCryptoInterface;
|
|
|
|
static bool areSpoidsEnabled();
|
|
|
|
friend class WVDrmFactoryTest_CalculatesSpoidUseCorrectly_Test;
|
|
};
|
|
|
|
extern "C" IDrmFactory* HIDL_FETCH_IDrmFactory(const char* name);
|
|
|
|
} // namespace widevine
|
|
} // namespace V1_2
|
|
} // namespace drm
|
|
} // namespace hardware
|
|
} // namespace wvdrm
|
|
|
|
#endif // WV_DRM_FACTORY_H_
|