private static function getSourceFlavorAssets(flavorAsset $flavorAsset, flavorParamsOutput $flavor) { $srcFlavorParamsIds = explode(',', trim($flavor->getSourceAssetParamsIds())); $c = new Criteria(); $c->add(assetPeer::ENTRY_ID, $flavorAsset->getEntryId()); $c->add(assetPeer::STATUS, array(flavorAsset::ASSET_STATUS_READY, flavorAsset::ASSET_STATUS_NOT_APPLICABLE, flavorAsset::ASSET_STATUS_EXPORTING), Criteria::IN); $c->add(assetPeer::FLAVOR_PARAMS_ID, $srcFlavorParamsIds, Criteria::IN); $readyAndNonApplicableAssetsCount = assetPeer::doCount($c); KalturaLog::info('Verify source flavors are ready: number of ready and NA assets [' . $readyAndNonApplicableAssetsCount . '], number of source params ids [' . count($srcFlavorParamsIds) . ']'); if ($readyAndNonApplicableAssetsCount < count($srcFlavorParamsIds)) { KalturaLog::info('Not all source flavors are ready, changing status to WAIT_FOR_CONVERT'); $flavorAsset->setStatus(flavorAsset::ASSET_STATUS_WAIT_FOR_CONVERT); $flavorAsset->setDescription("Source flavor assets are not ready"); $flavorAsset->save(); return false; } $srcFlavors = assetPeer::retrieveLocalReadyByEntryIdAndFlavorParams($flavorAsset->getEntryId(), $srcFlavorParamsIds); if (!count($srcFlavors)) { //assuming all source flavors are Not Applicable KalturaLog::log("Flavor [" . $flavorAsset->getFlavorParamsId() . "] is set to N/A since all it's sources are N/A"); $flavorAsset->setStatus(flavorAsset::ASSET_STATUS_NOT_APPLICABLE); $flavorAsset->save(); return false; } return $srcFlavors; }
private static function isSourceFlavor(flavorParamsOutput $a, flavorParamsOutput $b) { $aSources = explode(',', $a->getSourceAssetParamsIds()); $bSources = explode(',', $b->getSourceAssetParamsIds()); if (in_array($a->getFlavorParamsId(), $bSources)) { KalturaLog::info('Flavor ' . $a->getId() . ' is source of flavor ' . $b->getId()); return -1; } if (in_array($b->getFlavorParamsId(), $aSources)) { KalturaLog::info('Flavor ' . $b->getId() . ' is source of flavor ' . $a->getId()); return 1; } return 0; }