private void Encode() { if (String.IsNullOrEmpty(InputFile) || !File.Exists(InputFile)) { MessageBox.Show("Please select a valid input file to convert"); return; } if (SelectedMediaType == null || SelectedMediaType.MediaType == null) { MessageBox.Show("Please select a valid output format"); return; } using (var reader = new SharpMediaFoundationReader(InputFile)) { string outputUrl = SelectSaveFile(SelectedOutputFormat.Name, SelectedOutputFormat.Extension); if (outputUrl == null) { return; } using (var encoder = new SharpMediaFoundationEncoder(SelectedMediaType.MediaType)) { encoder.Encode(outputUrl, reader); } } }
private void TryGetSupportedMediaTypes() { var list = SharpMediaFoundationEncoder.GetOutputMediaTypes(SelectedOutputFormat.Guid) .Select(mf => new MediaTypeViewModel(mf)) .ToList(); if (list.Count == 0) { list.Add(new MediaTypeViewModel() { Name = "Not Supported", Description = "No encoder found for this output type" }); } allMediaTypes[SelectedOutputFormat.Guid] = list; }