/// <summary> /// Gets the description value of encoding enum /// </summary> /// <param name="value">value</param> /// <returns>description name of an enum value</returns> private string GetDescription(AmsEncoding value) { var encodingtype = value.GetType(); var encoding = encodingtype.GetField(value.ToString()); var descriptions = encoding.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[]; return(descriptions.Length > 0 ? descriptions[0].Description : value.ToString()); }
/// <summary> /// Encodes an Asset /// </summary> /// <param name="asset">asset </param> /// <param name="encoding">encoding request params </param> /// <returns>encoded asset</returns> private void ConfigureEncodeAssetTask(EncodingRequest encoding, IJob job) { AmsEncoding amsEncoding = encoding.EncodingBitrate; string encodingType = GetDescription(amsEncoding); IMediaProcessor processor = GetLatestMediaProcessorByName(_amsConfigurations.MediaProcessor); if (processor == null) { throw new Exception("Please check the configuration values, some configuration values are not matching."); } ITask task = job.Tasks.AddNew(_processedAssetName + " encoding task", processor, encodingType, TaskOptions.None); // Specify the input asset to be encoded. task.InputAssets.Add(asset); task.OutputAssets.AddNew(asset.Name + " media streaming", AssetCreationOptions.None); }