Ejemplo n.º 1
0
 /**
  * Signs the input and forwards license request to Widevine license server
  * @param $requestParams - original parameters
  * @param $overrideParamsStr - additional parameters passed on KS
  * @param $isAdmin - true/false, identifies if called with admin KS
  * @return byte sequence
  */
 public static function sendLicenseRequest($requestParams, $overrideParamsStr = null, $isAdmin = false)
 {
     self::validateRequest($requestParams);
     $ptime = time();
     $signInput = $requestParams[self::ASSETID] . $requestParams[self::CLIENTID] . $requestParams[self::MK] . $requestParams[self::MD] . $ptime;
     $dbDrmProfile = DrmProfilePeer::retrieveByProvider(WidevinePlugin::getWidevineProviderCoreValue());
     if ($dbDrmProfile) {
         $key = $dbDrmProfile->getKey();
         $iv = $dbDrmProfile->getIv();
         $baseUrl = $dbDrmProfile->getLicenseServerUrl();
         $portal = $dbDrmProfile->getPortal();
     } else {
         $key = WidevinePlugin::getWidevineConfigParam('key');
         $iv = WidevinePlugin::getWidevineConfigParam('iv');
         $baseUrl = WidevinePlugin::getWidevineConfigParam('license_server_url');
         $portal = WidevinePlugin::getWidevineConfigParam('portal');
     }
     KalturaLog::info("sign input: " . $signInput);
     $sign = self::createRequestSignature($signInput, $key, $iv);
     $requestParams[self::PTIME] = $ptime;
     $requestParams[self::SIGN] = $sign;
     $overrideParams = self::getLicenseOverrideParams($overrideParamsStr, $isAdmin);
     $requestParams = array_merge($requestParams, $overrideParams);
     if (!$baseUrl) {
         throw new KalturaWidevineLicenseProxyException(KalturaWidevineErrorCodes::LICENSE_SERVER_URL_NOT_SET);
     }
     if (!$portal) {
         $portal = WidevinePlugin::KALTURA_PROVIDER;
     }
     $requestParams[self::PORTAL] = $portal;
     $baseUrl .= '/' . $portal;
     return self::doCurl($baseUrl, $requestParams);
 }
Ejemplo n.º 2
0
 public static function getObjectClass($baseClass, $enumValue)
 {
     if ($baseClass == 'KalturaFlavorParams' && $enumValue == WidevinePlugin::getAssetTypeCoreValue(WidevineAssetType::WIDEVINE_FLAVOR)) {
         return 'KalturaWidevineFlavorParams';
     }
     if ($baseClass == 'KalturaFlavorParamsOutput' && $enumValue == WidevinePlugin::getAssetTypeCoreValue(WidevineAssetType::WIDEVINE_FLAVOR)) {
         return 'KalturaWidevineFlavorParamsOutput';
     }
     if ($baseClass == 'KalturaFlavorAsset' && $enumValue == WidevinePlugin::getAssetTypeCoreValue(WidevineAssetType::WIDEVINE_FLAVOR)) {
         return 'KalturaWidevineFlavorAsset';
     }
     if ($baseClass == 'assetParams' && $enumValue == WidevinePlugin::getAssetTypeCoreValue(WidevineAssetType::WIDEVINE_FLAVOR)) {
         return 'WidevineFlavorParams';
     }
     if ($baseClass == 'assetParamsOutput' && $enumValue == WidevinePlugin::getAssetTypeCoreValue(WidevineAssetType::WIDEVINE_FLAVOR)) {
         return 'WidevineFlavorParamsOutput';
     }
     if ($baseClass == 'asset' && $enumValue == WidevinePlugin::getAssetTypeCoreValue(WidevineAssetType::WIDEVINE_FLAVOR)) {
         return 'WidevineFlavorAsset';
     }
     if ($baseClass == 'flavorAsset' && $enumValue == WidevinePlugin::getAssetTypeCoreValue(WidevineAssetType::WIDEVINE_FLAVOR)) {
         return 'WidevineFlavorAsset';
     }
     if ($baseClass == 'KOperationEngine' && $enumValue == KalturaConversionEngineType::WIDEVINE) {
         return 'KWidevineOperationEngine';
     }
     if ($baseClass == 'KDLOperatorBase' && $enumValue == self::getApiValue(WidevineConversionEngineType::WIDEVINE)) {
         return 'KDLOperatorWidevine';
     }
     if ($baseClass == 'KalturaSerializer' && $enumValue == self::WIDEVINE_RESPONSE_TYPE) {
         return 'KalturaWidevineSerializer';
     }
     if ($baseClass == 'KalturaJobData') {
         if ($enumValue == WidevinePlugin::getApiValue(WidevineBatchJobType::WIDEVINE_REPOSITORY_SYNC)) {
             return 'KalturaWidevineRepositorySyncJobData';
         }
     }
     if ($baseClass == 'KalturaDrmProfile' && $enumValue == WidevinePlugin::getWidevineProviderCoreValue()) {
         return 'KalturaWidevineProfile';
     }
     if ($baseClass == 'KalturaDrmProfile' && $enumValue == self::getApiValue(WidevineProviderType::WIDEVINE)) {
         return 'KalturaWidevineProfile';
     }
     if ($baseClass == 'DrmProfile' && $enumValue == WidevinePlugin::getWidevineProviderCoreValue()) {
         return 'WidevineProfile';
     }
     if (class_exists('Kaltura_Client_Client')) {
         if ($baseClass == 'Kaltura_Client_Drm_Type_DrmProfile' && $enumValue == Kaltura_Client_Drm_Enum_DrmProviderType::WIDEVINE) {
             return 'Kaltura_Client_Widevine_Type_WidevineProfile';
         }
         if ($baseClass == 'Form_DrmProfileConfigureExtend_SubForm' && $enumValue == Kaltura_Client_Drm_Enum_DrmProviderType::WIDEVINE) {
             return 'Form_WidevineProfileConfigureExtend_SubForm';
         }
     }
     return null;
 }