本文整理汇总了PHP中assetParamsPeer::retrieveFlavorsByPKs方法的典型用法代码示例。如果您正苦于以下问题:PHP assetParamsPeer::retrieveFlavorsByPKs方法的具体用法?PHP assetParamsPeer::retrieveFlavorsByPKs怎么用?PHP assetParamsPeer::retrieveFlavorsByPKs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类assetParamsPeer
的用法示例。
在下文中一共展示了assetParamsPeer::retrieveFlavorsByPKs方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: continueProfileConvert
public static function continueProfileConvert(BatchJob $parentJob)
{
$convertProfileJob = $parentJob->getRootJob();
if ($convertProfileJob->getJobType() != BatchJobType::CONVERT_PROFILE) {
throw new Exception("Root job [" . $convertProfileJob->getId() . "] is not profile conversion");
}
KalturaLog::log("Conversion decision layer continued for entry [" . $parentJob->getEntryId() . "]");
$convertProfileData = $convertProfileJob->getData();
$entryId = $convertProfileJob->getEntryId();
$entry = $convertProfileJob->getEntry();
if (!$entry) {
throw new APIException(APIErrors::INVALID_ENTRY, $convertProfileJob, $entryId);
}
$profile = myPartnerUtils::getConversionProfile2ForEntry($entryId);
if (!$profile) {
$errDescription = "Conversion profile for entryId [{$entryId}] not found";
self::setError($errDescription, $convertProfileJob, BatchJobType::CONVERT_PROFILE, $entryId);
throw new Exception($errDescription);
}
$originalFlavorAsset = assetPeer::retrieveOriginalByEntryId($entryId);
if (is_null($originalFlavorAsset)) {
$errDescription = 'Original flavor asset not found';
self::setError($errDescription, $convertProfileJob, BatchJobType::CONVERT_PROFILE, $entryId);
throw new Exception($errDescription);
}
// gets the list of flavor params of the conversion profile
$list = flavorParamsConversionProfilePeer::retrieveByConversionProfile($profile->getId());
if (!count($list)) {
$errDescription = "No flavors match the profile id [{$profile->getId()}]";
self::setError($errDescription, $convertProfileJob, BatchJobType::CONVERT_PROFILE, $entryId);
$originalFlavorAsset->setStatus(flavorAsset::FLAVOR_ASSET_STATUS_DELETED);
$originalFlavorAsset->setDeletedAt(time());
$originalFlavorAsset->save();
throw new Exception($errDescription);
}
// gets the ids of the flavor params
$flavorsIds = array();
$conversionProfileFlavorParams = array();
foreach ($list as $flavorParamsConversionProfile) {
$flavorsId = $flavorParamsConversionProfile->getFlavorParamsId();
$flavorsIds[] = $flavorsId;
$conversionProfileFlavorParams[$flavorsId] = $flavorParamsConversionProfile;
}
// gets the flavor params by the id
$flavors = assetParamsPeer::retrieveFlavorsByPKs($flavorsIds);
self::checkConvertProfileParams($flavors, $conversionProfileFlavorParams, $entry);
KalturaLog::log(count($flavors) . " destination flavors found for this profile[" . $profile->getId() . "]");
if (!count($flavors)) {
return false;
}
$mediaInfo = mediaInfoPeer::retrieveByFlavorAssetId($originalFlavorAsset->getId());
try {
return self::decideProfileFlavorsConvert($parentJob, $convertProfileJob, $flavors, $conversionProfileFlavorParams, $profile->getId(), $mediaInfo);
} catch (Exception $e) {
KalturaLog::err('decideProfileFlavorsConvert - ' . $e->getMessage());
}
}
示例2: continueProfileConvert
public static function continueProfileConvert(BatchJob $parentJob)
{
$convertProfileJob = $parentJob->getRootJob();
if ($convertProfileJob->getJobType() != BatchJobType::CONVERT_PROFILE) {
throw new Exception("Root job [" . $convertProfileJob->getId() . "] is not profile conversion");
}
KalturaLog::log("Conversion decision layer continued for entry [" . $parentJob->getEntryId() . "]");
$convertProfileData = $convertProfileJob->getData();
$entryId = $convertProfileJob->getEntryId();
$entry = $convertProfileJob->getEntry();
if (!$entry) {
throw new APIException(APIErrors::INVALID_ENTRY, $convertProfileJob, $entryId);
}
$profile = myPartnerUtils::getConversionProfile2ForEntry($entryId);
if (!$profile) {
$errDescription = "Conversion profile for entryId [{$entryId}] not found";
$convertProfileJob = kJobsManager::failBatchJob($convertProfileJob, $errDescription, BatchJobType::CONVERT_PROFILE);
kBatchManager::updateEntry($convertProfileJob->getEntryId(), entryStatus::ERROR_CONVERTING);
KalturaLog::err("No flavors created: {$errDescription}");
throw new Exception($errDescription);
}
$originalFlavorAsset = assetPeer::retrieveOriginalByEntryId($entryId);
if (is_null($originalFlavorAsset)) {
$errDescription = 'Original flavor asset not found';
KalturaLog::err($errDescription);
$convertProfileJob = kJobsManager::failBatchJob($convertProfileJob, $errDescription, BatchJobType::CONVERT_PROFILE);
kBatchManager::updateEntry($convertProfileJob->getEntryId(), entryStatus::ERROR_CONVERTING);
throw new Exception($errDescription);
}
// gets the list of flavor params of the conversion profile
$list = flavorParamsConversionProfilePeer::retrieveByConversionProfile($profile->getId());
if (!count($list)) {
$errDescription = "No flavors match the profile id [{$profile->getId()}]";
KalturaLog::err($errDescription);
$convertProfileJob = kJobsManager::failBatchJob($convertProfileJob, $errDescription, BatchJobType::CONVERT_PROFILE);
kBatchManager::updateEntry($convertProfileJob->getEntryId(), entryStatus::ERROR_CONVERTING);
$originalFlavorAsset->setStatus(flavorAsset::FLAVOR_ASSET_STATUS_DELETED);
$originalFlavorAsset->setDeletedAt(time());
$originalFlavorAsset->save();
throw new Exception($errDescription);
}
// gets the ids of the flavor params
$flavorsIds = array();
$conversionProfileFlavorParams = array();
foreach ($list as $flavorParamsConversionProfile) {
$flavorsId = $flavorParamsConversionProfile->getFlavorParamsId();
$flavorsIds[] = $flavorsId;
$conversionProfileFlavorParams[$flavorsId] = $flavorParamsConversionProfile;
}
$dynamicFlavorAttributes = $entry->getDynamicFlavorAttributes();
// gets the flavor params by the id
$flavors = assetParamsPeer::retrieveFlavorsByPKs($flavorsIds);
$entryIngestedFlavors = explode(',', $entry->getFlavorParamsIds());
foreach ($flavors as $index => $flavor) {
if (!isset($conversionProfileFlavorParams[$flavor->getId()])) {
continue;
}
$conversionProfileFlavorParamsItem = $conversionProfileFlavorParams[$flavor->getId()];
if ($flavor->hasTag(flavorParams::TAG_SOURCE)) {
unset($flavors[$index]);
continue;
}
if ($conversionProfileFlavorParamsItem->getOrigin() == assetParamsOrigin::INGEST) {
unset($flavors[$index]);
continue;
}
if (in_array($flavor->getId(), $entryIngestedFlavors) && $conversionProfileFlavorParamsItem->getOrigin() == assetParamsOrigin::CONVERT_WHEN_MISSING) {
unset($flavors[$index]);
continue;
}
// if flavor is not source (checked above), apply dynamic attributes defined for id -2 (all flavors)
if (isset($dynamicFlavorAttributes[flavorParams::DYNAMIC_ATTRIBUTES_ALL_FLAVORS_INDEX])) {
foreach ($dynamicFlavorAttributes[flavorParams::DYNAMIC_ATTRIBUTES_ALL_FLAVORS_INDEX] as $attributeName => $attributeValue) {
$flavor->setDynamicAttribute($attributeName, $attributeValue);
}
}
// overwrite dynamic attributes if defined for this specific flavor
if (isset($dynamicFlavorAttributes[$flavor->getId()])) {
foreach ($dynamicFlavorAttributes[$flavor->getId()] as $attributeName => $attributeValue) {
$flavor->setDynamicAttribute($attributeName, $attributeValue);
}
}
}
KalturaLog::log(count($flavors) . " destination flavors found for this profile[" . $profile->getId() . "]");
if (!count($flavors)) {
return false;
}
$mediaInfo = mediaInfoPeer::retrieveByFlavorAssetId($originalFlavorAsset->getId());
return self::decideProfileFlavorsConvert($parentJob, $convertProfileJob, $flavors, $conversionProfileFlavorParams, $mediaInfo);
}
示例3: generateThumbnailsFromFlavor
/**
* @param BatchJob $parentJob
* @param int $srcParamsId
*/
public static function generateThumbnailsFromFlavor($entryId, BatchJob $parentJob = null, $srcParamsId = null)
{
$entry = entryPeer::retrieveByPK($entryId);
if (!$entry) {
KalturaLog::notice("Entry id [{$entryId}] not found");
return;
}
if ($entry->getType() != entryType::MEDIA_CLIP || $entry->getMediaType() != entry::ENTRY_MEDIA_TYPE_VIDEO) {
KalturaLog::notice("Cupture thumbnail is not supported for entry [{$entryId}] of type [" . $entry->getType() . "] and media type [" . $entry->getMediaType() . "]");
return;
}
$profile = null;
try {
$profile = myPartnerUtils::getConversionProfile2ForEntry($entryId);
} catch (Exception $e) {
KalturaLog::err('getConversionProfile2ForEntry Error: ' . $e->getMessage());
}
if (!$profile) {
KalturaLog::notice("Profile not found for entry id [{$entryId}]");
return;
}
$assetParamsIds = flavorParamsConversionProfilePeer::getFlavorIdsByProfileId($profile->getId());
if (!count($assetParamsIds)) {
KalturaLog::notice("No asset params objects found for profile id [" . $profile->getId() . "]");
return;
}
// the alternative is the source or the highest bitrate if source not defined
$alternateFlavorParamsId = null;
if (is_null($srcParamsId)) {
$flavorParamsObjects = assetParamsPeer::retrieveFlavorsByPKs($assetParamsIds);
foreach ($flavorParamsObjects as $flavorParams) {
if ($flavorParams->hasTag(flavorParams::TAG_SOURCE)) {
$alternateFlavorParamsId = $flavorParams->getId();
}
}
if (is_null($alternateFlavorParamsId)) {
$srcFlavorAsset = assetPeer::retrieveHighestBitrateByEntryId($entryId);
if ($srcFlavorAsset) {
$alternateFlavorParamsId = $srcFlavorAsset->getFlavorParamsId();
}
}
if (is_null($alternateFlavorParamsId)) {
KalturaLog::notice("No source flavor params object found for entry id [{$entryId}]");
return;
}
}
// create list of created thumbnails
$thumbAssetsList = array();
$thumbAssets = assetPeer::retrieveThumbnailsByEntryId($entryId);
if (count($thumbAssets)) {
foreach ($thumbAssets as $thumbAsset) {
if (!is_null($thumbAsset->getFlavorParamsId())) {
$thumbAssetsList[$thumbAsset->getFlavorParamsId()] = $thumbAsset;
}
}
}
$thumbParamsObjects = assetParamsPeer::retrieveThumbnailsByPKs($assetParamsIds);
foreach ($thumbParamsObjects as $thumbParams) {
if (isset($thumbAssetsList[$thumbParams->getId()])) {
KalturaLog::log("Thumbnail asset already created [" . $thumbAssetsList[$thumbParams->getId()]->getId() . "]");
continue;
}
if (is_null($srcParamsId) && is_null($thumbParams->getSourceParamsId())) {
// alternative should be used
$thumbParams->setSourceParamsId($alternateFlavorParamsId);
} elseif ($thumbParams->getSourceParamsId() != $srcParamsId) {
KalturaLog::log("Only thumbnails that uses source params [{$srcParamsId}] should be generated for now");
continue;
}
kBusinessPreConvertDL::decideThumbGenerate($entry, $thumbParams, $parentJob);
}
}