예제 #1
0
파일: Workflow.cs 프로젝트: lulzzz/SkyMedia
        public static MediaJobInput[] GetJobInputs(string authToken, MediaClient mediaClient, string storageAccount, bool storageEncryption,
                                                   string inputAssetName, bool multipleFileAsset, string[] fileNames)
        {
            List <MediaJobInput> jobInputs = new List <MediaJobInput>();

            if (multipleFileAsset)
            {
                IAsset        asset    = mediaClient.CreateAsset(authToken, inputAssetName, storageAccount, storageEncryption, fileNames);
                MediaJobInput jobInput = GetJobInput(asset);
                jobInputs.Add(jobInput);
            }
            else
            {
                foreach (string fileName in fileNames)
                {
                    string assetName = fileName;
                    if (fileNames.Length == 1 && !string.IsNullOrEmpty(inputAssetName))
                    {
                        assetName = inputAssetName;
                    }
                    IAsset        asset    = mediaClient.CreateAsset(authToken, assetName, storageAccount, storageEncryption, new string[] { fileName });
                    MediaJobInput jobInput = GetJobInput(asset);
                    jobInputs.Add(jobInput);
                }
            }
            return(jobInputs.ToArray());
        }
예제 #2
0
파일: Workflow.cs 프로젝트: lulzzz/SkyMedia
        private static MediaJobInput GetJobInput(IAsset asset)
        {
            MediaJobInput jobInput = new MediaJobInput()
            {
                AssetId     = asset.Id,
                AssetName   = asset.Name,
                PrimaryFile = MediaClient.GetPrimaryFile(asset)
            };

            return(jobInput);
        }
예제 #3
0
        private static int OrderByWorkflow(MediaJobInput leftItem, MediaJobInput rightIten)
        {
            int comparison = 0;

            if (IsPremiumWorkflow(leftItem))
            {
                comparison = -1;
            }
            else if (IsPremiumWorkflow(rightIten))
            {
                comparison = 1;
            }
            return(comparison);
        }
예제 #4
0
파일: Workflow.cs 프로젝트: lulzzz/SkyMedia
        public static MediaJobInput[] GetJobInputs(MediaClient mediaClient, string[] assetIds)
        {
            List <MediaJobInput> jobInputs = new List <MediaJobInput>();

            foreach (string assetId in assetIds)
            {
                IAsset asset = mediaClient.GetEntityById(MediaEntity.Asset, assetId) as IAsset;
                if (asset != null)
                {
                    MediaJobInput jobInput = GetJobInput(asset);
                    jobInputs.Add(jobInput);
                }
            }
            return(jobInputs.ToArray());
        }
예제 #5
0
 private static bool IsPremiumWorkflow(MediaJobInput jobInput)
 {
     return(jobInput.PrimaryFile.EndsWith(Constant.Media.FileExtension.Workflow, StringComparison.OrdinalIgnoreCase));
 }