/** * @param BatchJob $parentJob * @param liveAsset $asset * @param int $mediaServerIndex * @param string $filePath * @param float $endTime */ public static function addConvertLiveSegmentJob(BatchJob $parentJob = null, liveAsset $asset, $mediaServerIndex, $filePath, $endTime) { $keyType = liveAsset::FILE_SYNC_ASSET_SUB_TYPE_LIVE_PRIMARY; if ($mediaServerIndex == MediaServerIndex::SECONDARY) { $keyType = liveAsset::FILE_SYNC_ASSET_SUB_TYPE_LIVE_SECONDARY; } $key = $asset->getSyncKey($keyType); $files = array(); if (kFileSyncUtils::fileSync_exists($key)) { $files = kFileSyncUtils::dir_get_files($key, false); } $jobData = new kConvertLiveSegmentJobData(); $jobData->setEntryId($asset->getEntryId()); $jobData->setAssetId($asset->getId()); $jobData->setMediaServerIndex($mediaServerIndex); $jobData->setEndTime($endTime); $jobData->setSrcFilePath($filePath); $jobData->setFileIndex(count($files)); $batchJob = null; if ($parentJob) { $batchJob = $parentJob->createChild(BatchJobType::CONVERT_LIVE_SEGMENT); } else { $batchJob = new BatchJob(); $batchJob->setEntryId($asset->getEntryId()); $batchJob->setPartnerId($asset->getPartnerId()); } $batchJob->setObjectId($asset->getEntryId()); $batchJob->setObjectType(BatchJobObjectType::ENTRY); return self::addJob($batchJob, $jobData, BatchJobType::CONVERT_LIVE_SEGMENT); }