protected void Page_Load(object sender, EventArgs e)
 {
     mediaConfig = MediaConfig.FromConfigStore(Web.Url);
     FileExtensionValidator.ValidationExpression = mediaConfig.FileExtensionValidationExpression;
     ThumbnailFileExtensionValidator.ValidationExpression = mediaConfig.ImageFileExtensionValidationExpression;
     PosterFileExtensionValidator.ValidationExpression = mediaConfig.ImageFileExtensionValidationExpression;
 }
 public MediaProcessor(string webFullUrl, MediaConfig config)
 {
     mediaRepository = new MediaRepository(webFullUrl, config.MediaAssetsListName);
     storageManager = AssetStorageFactory.GetStorageManager("Media", webFullUrl);
     videoProcessor = new VideoProcessor(config);
     this.config = config;
     this.webFullUrl = webFullUrl;
 }
 public static MediaAsset FromFile(FileInfo fileInfo, string originatingWeb, MediaConfig config)
 {
     MediaAsset item = new MediaAsset();
     item.MediaType = GetMediaTypeFromFileExtension(fileInfo, config);
     item.Title = Path.GetFileNameWithoutExtension(fileInfo.FullName);
     item.OriginatingWeb = originatingWeb;
     item.Format = GetMediaFormat(fileInfo);
     return item;
 }
 public static MediaType GetMediaTypeFromFileExtension(FileInfo fileInfo, MediaConfig config)
 {
     string ext = fileInfo.Extension.TrimStart(".".ToCharArray()).ToLower();
     if (config.SupportedImageFilesArray.Contains(ext, StringComparer.InvariantCultureIgnoreCase))
     {
         return MediaType.Image;
     }
     if (config.SupportedVideoFilesArray.Contains(ext, StringComparer.InvariantCultureIgnoreCase))
     {
         return MediaType.Video;
     }
     if (config.SupportedAudioFilesArray.Contains(ext, StringComparer.InvariantCultureIgnoreCase))
     {
         return MediaType.Audio;
     }
     throw new ArgumentException(String.Format("The file extension '{0}' is not supported", ext), "fileInfo");
 }
 public VideoProcessor(MediaConfig config)
 {
     this.config = config;
 }
 public AudioValidator(MediaConfig config)
 {
     this.config = config;
 }
        public static MediaConfig FromConfigStore(string webUrl)
        {
            ConfigRepository configRepo = new ConfigRepository(webUrl);
            var mediaConfigs = configRepo.GetAllConfigFromCategory("Media");

            var config = new MediaConfig();

            config.MediaAssetsListName = mediaConfigs[MediaConfigKeys.MediaAssetsListName.ToString()];
            config.TempLocationFolder = mediaConfigs[MediaConfigKeys.TempLocationFolder.ToString()];
            config.EncoderExePath = mediaConfigs[MediaConfigKeys.EncoderExePath.ToString()];
            config.SupportedAudioFormats = mediaConfigs[MediaConfigKeys.SuportedAudioFormats.ToString()];
            config.SupportedImageFormats = mediaConfigs[MediaConfigKeys.SupportedImageFormats.ToString()];
            config.SupportedVideoFormats = mediaConfigs[MediaConfigKeys.SupportedVideoFormats.ToString()];
            config.MaxImageSizeInMegaBytes = Convert.ToInt32(mediaConfigs[MediaConfigKeys.MaxImageSizeInMB.ToString()]);
            config.MaxAudioSizeInMegaBytes = Convert.ToInt32(mediaConfigs[MediaConfigKeys.MaxAudioSizeInMB.ToString()]);
            config.MaxVideoSizeInMegaBytes = Convert.ToInt32(mediaConfigs[MediaConfigKeys.MaxVideoSizeInMB.ToString()]);
            config.MaxAudioLengthMinutes = Convert.ToInt32(mediaConfigs[ MediaConfigKeys.MaxAudioLengthMinutes.ToString()]);
            config.MaxVideoLengthMinutes = Convert.ToInt32(mediaConfigs[ MediaConfigKeys.MaxVideoLengthMinutes.ToString()]);
            config.EncodeVideoFlag = Convert.ToBoolean(mediaConfigs[MediaConfigKeys.EncodeVideoFlag.ToString()]);
            config.DefaultAudioThumbnail = mediaConfigs[MediaConfigKeys.DefaultAudioThumbnail.ToString()];
            config.DefaultAudioPoster = mediaConfigs[MediaConfigKeys.DefaultAudioPoster.ToString()];
            return config;
        }