diff options
Diffstat (limited to 'MediaBrowser.Controller/Library')
| -rw-r--r-- | MediaBrowser.Controller/Library/IMediaSourceManager.cs | 24 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/NameExtensions.cs | 41 |
2 files changed, 45 insertions, 20 deletions
diff --git a/MediaBrowser.Controller/Library/IMediaSourceManager.cs b/MediaBrowser.Controller/Library/IMediaSourceManager.cs index 9cbbabc8d..a77d88049 100644 --- a/MediaBrowser.Controller/Library/IMediaSourceManager.cs +++ b/MediaBrowser.Controller/Library/IMediaSourceManager.cs @@ -43,18 +43,10 @@ namespace MediaBrowser.Controller.Library /// <param name="id">The identifier.</param> /// <param name="userId">The user identifier.</param> /// <param name="enablePathSubstitution">if set to <c>true</c> [enable path substitution].</param> + /// <param name="supportedLiveMediaTypes">The supported live media types.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>IEnumerable<MediaSourceInfo>.</returns> - Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, string userId, bool enablePathSubstitution, CancellationToken cancellationToken); - - /// <summary> - /// Gets the playack media sources. - /// </summary> - /// <param name="id">The identifier.</param> - /// <param name="enablePathSubstitution">if set to <c>true</c> [enable path substitution].</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task<IEnumerable<MediaSourceInfo>>.</returns> - Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, bool enablePathSubstitution, CancellationToken cancellationToken); + Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, string userId, bool enablePathSubstitution, string[] supportedLiveMediaTypes, CancellationToken cancellationToken); /// <summary> /// Gets the static media sources. @@ -63,24 +55,16 @@ namespace MediaBrowser.Controller.Library /// <param name="enablePathSubstitution">if set to <c>true</c> [enable path substitution].</param> /// <param name="user">The user.</param> /// <returns>IEnumerable<MediaSourceInfo>.</returns> - IEnumerable<MediaSourceInfo> GetStaticMediaSources(IHasMediaSources item, bool enablePathSubstitution, User user); + IEnumerable<MediaSourceInfo> GetStaticMediaSources(IHasMediaSources item, bool enablePathSubstitution, User user = null); /// <summary> - /// Gets the static media sources. - /// </summary> - /// <param name="item">The item.</param> - /// <param name="enablePathSubstitution">if set to <c>true</c> [enable path substitution].</param> - /// <returns>IEnumerable<MediaSourceInfo>.</returns> - IEnumerable<MediaSourceInfo> GetStaticMediaSources(IHasMediaSources item, bool enablePathSubstitution); - - /// <summary> /// Gets the static media source. /// </summary> /// <param name="item">The item.</param> /// <param name="mediaSourceId">The media source identifier.</param> /// <param name="enablePathSubstitution">if set to <c>true</c> [enable path substitution].</param> /// <returns>MediaSourceInfo.</returns> - MediaSourceInfo GetStaticMediaSource(IHasMediaSources item, string mediaSourceId, bool enablePathSubstitution); + Task<MediaSourceInfo> GetMediaSource(IHasMediaSources item, string mediaSourceId, bool enablePathSubstitution); /// <summary> /// Opens the media source. diff --git a/MediaBrowser.Controller/Library/NameExtensions.cs b/MediaBrowser.Controller/Library/NameExtensions.cs new file mode 100644 index 000000000..b2acdc7ea --- /dev/null +++ b/MediaBrowser.Controller/Library/NameExtensions.cs @@ -0,0 +1,41 @@ +using MediaBrowser.Common.Extensions; +using MoreLinq; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace MediaBrowser.Controller.Library +{ + public static class NameExtensions + { + public static bool AreEqual(string name1, string name2) + { + name1 = NormalizeForComparison(name1); + name2 = NormalizeForComparison(name2); + + return string.Equals(name1, name2, StringComparison.OrdinalIgnoreCase); + } + + public static bool EqualsAny(IEnumerable<string> names, string name) + { + name = NormalizeForComparison(name); + + return names.Any(i => string.Equals(NormalizeForComparison(i), name, StringComparison.OrdinalIgnoreCase)); + } + + private static string NormalizeForComparison(string name) + { + if (string.IsNullOrWhiteSpace(name)) + { + return string.Empty; + } + + return name.RemoveDiacritics(); + } + + public static IEnumerable<string> DistinctNames(this IEnumerable<string> names) + { + return names.DistinctBy(NormalizeForComparison, StringComparer.OrdinalIgnoreCase); + } + } +} |
