Exemplo n.º 1
0
 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;
 }