Exemple #1
0
 public function getDeliveryServerNodeUrl($removeAfterUse = false)
 {
     $deliveryUrl = null;
     $deliveryNodeIds = $this->params->getEdgeServerIds();
     $deliveryNodes = ServerNodePeer::retrieveRegisteredServerNodesArrayByPKs($deliveryNodeIds);
     if (!count($deliveryNodes)) {
         KalturaLog::debug("No active delivery nodes found among the requested edge list: " . print_r($deliveryNodeIds, true));
         return null;
     }
     $deliveryNode = null;
     foreach ($deliveryNodes as $node) {
         /* @var $node EdgeServerNode */
         if ($node->validateEdgeTreeRegistered()) {
             $deliveryNode = $node;
             break;
         }
     }
     if (!$deliveryNode) {
         KalturaLog::debug("Active edges were found but non of them is active, Failed to build valid serving route");
         return null;
     }
     $deliveryUrl = $deliveryNode->getPlaybackHost($this->params->getMediaProtocol(), $this->params->getFormat(), $this->getType());
     if (count($deliveryNodes) && $removeAfterUse) {
         $this->params->setEdgeServerIds(array_diff($deliveryNodeIds, array($deliveryNode->getId())));
     }
     return $deliveryUrl;
 }
 public function applyDeliveryProfileDynamicAttributes(DeliveryProfileDynamicAttributes $deliveryAttributes)
 {
     $edgeServers = $this->getRegiteredNodeServers();
     if (!count($edgeServers)) {
         return false;
     }
     foreach ($edgeServers as $edgeServer) {
         $activeEdgeServerIds[] = $edgeServer->getId();
     }
     $deliveryAttributes->setEdgeServerIds($activeEdgeServerIds);
     return true;
 }
 public function applyDeliveryProfileDynamicAttributes(DeliveryProfileDynamicAttributes $deliveryAttributes)
 {
     $edgeServerIds = explode(',', $this->getEdgeServerIds());
     $edgeServers = ServerNodePeer::retrieveOrderedServerNodesArrayByPKs($edgeServerIds);
     if (!count($edgeServers)) {
         return false;
     }
     foreach ($edgeServers as $edgeServer) {
         $activeEdgeServerIds[] = $edgeServer->getId();
     }
     $deliveryAttributes->setEdgeServerIds($activeEdgeServerIds);
     return true;
 }
Exemple #4
0
 public function getDeliveryServerNodeUrl($removeAfterUse = false)
 {
     $deliveryUrl = null;
     $deliveryNodeIds = $this->params->getEdgeServerIds();
     $deliveryNodes = ServerNodePeer::retrieveRegisteredServerNodesArrayByPKs($deliveryNodeIds);
     if (!count($deliveryNodes)) {
         KalturaLog::debug("No active delivery nodes found among the requested edge list: " . print_r($deliveryNodeIds, true));
         return null;
     }
     /* @var $deliveryNode EdgeServerNode */
     $deliveryNode = array_shift($deliveryNodes);
     $deliveryUrl = $deliveryNode->getPlaybackHost($this->params->getMediaProtocol(), $this->params->getFormat(), $this->getType());
     if (count($deliveryNodes) && $removeAfterUse) {
         $this->params->setEdgeServerIds(array_diff($deliveryNodeIds, array($deliveryNode->getId())));
     }
     return $deliveryUrl;
 }
 public function applyDeliveryProfileDynamicAttributes(DeliveryProfileDynamicAttributes $deliveryAttributes)
 {
     $edgeServers = $this->getRegiteredNodeServers();
     if (!count($edgeServers)) {
         return false;
     }
     $activeEdgeServerIds = array();
     foreach ($edgeServers as $edgeServer) {
         /* @var $edgeServer EdgeServerNode */
         if ($edgeServer->validateEdgeTreeRegistered()) {
             $activeEdgeServerIds[] = $edgeServer->getId();
         }
     }
     if (!count($activeEdgeServerIds)) {
         return false;
     }
     $deliveryAttributes->setEdgeServerIds($activeEdgeServerIds);
     return true;
 }
 public function applyDeliveryProfileDynamicAttributes(DeliveryProfileDynamicAttributes $deliveryAttributes)
 {
     $edgeServerIds = explode(',', $this->getEdgeServerIds());
     $deliveryAttributes->setEdgeServerIds($edgeServerIds);
     //Check if there are any edge server that override the delivery profiles
     $edgeServers = EdgeServerPeer::retrieveByPKs($edgeServerIds);
     if (!count($edgeServers)) {
         return false;
     }
     $edgeDeliveryProfilesIds = array();
     foreach ($edgeServers as $edgeServer) {
         if (!$edgeServer->getDeliveryProfileIds()) {
             continue;
         }
         $edgeDeliveryProfilesIds = array_merge($edgeDeliveryProfilesIds, explode(",", $edgeServer->getDeliveryProfileIds()));
     }
     if (count($edgeDeliveryProfilesIds)) {
         $deliveryAttributes->setDeliveryProfileIds($edgeDeliveryProfilesIds, false);
     }
     return true;
 }