SubtitleFormatExtensions.cs 1.0 KB

1234567891011121314151617181920212223242526272829
  1. using System.Diagnostics.CodeAnalysis;
  2. using Nikse.SubtitleEdit.Core.SubtitleFormats;
  3. namespace MediaBrowser.MediaEncoding.Subtitles;
  4. internal static class SubtitleFormatExtensions
  5. {
  6. /// <summary>
  7. /// Will try to find errors if supported by provider.
  8. /// </summary>
  9. /// <param name="format">The subtitle format.</param>
  10. /// <param name="errors">The out errors value.</param>
  11. /// <returns>True if errors are available for given format.</returns>
  12. public static bool TryGetErrors(this SubtitleFormat format, [NotNullWhen(true)] out string? errors)
  13. {
  14. errors = format switch
  15. {
  16. SubStationAlpha ssa => ssa.Errors,
  17. AdvancedSubStationAlpha assa => assa.Errors,
  18. SubRip subRip => subRip.Errors,
  19. MicroDvd microDvd => microDvd.Errors,
  20. DCinemaSmpte2007 smpte2007 => smpte2007.Errors,
  21. DCinemaSmpte2010 smpte2010 => smpte2010.Errors,
  22. _ => null,
  23. };
  24. return !string.IsNullOrWhiteSpace(errors);
  25. }
  26. }