Exemplo n.º 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;
 }
Exemplo n.º 2
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 cloneAttributes(DeliveryProfileDynamicAttributes $newObj)
 {
     $this->deliveryProfileIds = $newObj->getDeliveryProfileIds();
     $this->isDeliveryProfilesBlockedList = $newObj->getIsDeliveryProfilesBlockedList();
     $this->format = $newObj->getFormat();
     $this->extension = $newObj->getFileExtension();
     $this->containerFormat = $newObj->getContainerFormat();
     $this->seekFromTime = $newObj->getSeekFromTime();
     $this->clipTo = $newObj->getClipTo();
     $this->playbackRate = $newObj->getPlaybackRate();
     $this->storageId = $newObj->getStorageId();
     $this->entryId = $newObj->getEntryId();
     $this->tags = $newObj->getTags();
     $this->flavorAssets = $newObj->getFlavorAssets();
     $this->remoteFileSyncs = $newObj->getRemoteFileSyncs();
     $this->manifestFileSync = $newObj->getManifestFileSync();
     $this->preferredBitrate = $newObj->getPreferredBitrate();
     $this->responseFormat = $newObj->getResponseFormat();
     $this->mediaProtocol = $newObj->getMediaProtocol();
     $this->usePlayServer = $newObj->getUsePlayServer();
     $this->playerConfig = $newObj->getPlayerConfig();
     $this->uiConfId = $newObj->getUiConfId();
     $this->edgeServerIds = $newObj->getEdgeServerIds();
 }