private function makeProgram($name, $channel) { $asset = new Asset(Asset::OPTIONS_NONE); $asset->setName(TestResources::MEDIA_SERVICES_ASSET_NAME . $this->createSuffix()); $asset = $this->createAsset($asset); $policy = new AssetDeliveryPolicy(); $policy->setName("Clear Policy"); $policy->setAssetDeliveryProtocol(AssetDeliveryProtocol::SMOOTH_STREAMING | AssetDeliveryProtocol::DASH | AssetDeliveryProtocol::HLS); $policy->setAssetDeliveryPolicyType(AssetDeliveryPolicyType::NO_DYNAMIC_ENCRYPTION); $policy = $this->createAssetDeliveryPolicy($policy); $this->restProxy->linkDeliveryPolicyToAsset($asset, $policy); $program = new Program(); $program->setName($name); $program->setAssetId($asset->getId()); $program->setArchiveWindowLength(new \DateInterval("PT1H")); $program->setChannelId($channel->getId()); return $program; }
function createAndStartProgram($restProxy, $asset, $channel, $options) { // 1 - create a new program and link to the asset and channel $program = new Program(); $program->setName($options->programName); $program->setAssetId($asset->getId()); $program->setArchiveWindowLength($options->archiveWindowLenght); $program->setChannelId($channel->getId()); echo "Creating program... "; $program = $restProxy->createProgram($program); // 2 - start the program echo "Done!" . PHP_EOL . "Starting program... "; $restProxy->startProgram($program); echo "Done!" . PHP_EOL; return $restProxy->getProgram($program); }