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 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(); }