瀏覽代碼

Minor improvements

Bond_009 4 年之前
父節點
當前提交
e4fd61411f

+ 0 - 1
Emby.Dlna/ContentDirectory/ControlHandler.cs

@@ -1681,7 +1681,6 @@ namespace Emby.Dlna.ContentDirectory
         private ServerItem GetItemFromObjectId(string id)
         {
             return DidlBuilder.IsIdRoot(id)
-
                  ? new ServerItem(_libraryManager.GetUserRootFolder())
                  : ParseItemId(id);
         }

+ 0 - 1
Emby.Dlna/MediaReceiverRegistrar/ServiceActionListBuilder.cs

@@ -1,6 +1,5 @@
 using System.Collections.Generic;
 using Emby.Dlna.Common;
-using MediaBrowser.Model.Dlna;
 
 namespace Emby.Dlna.MediaReceiverRegistrar
 {

+ 2 - 4
Emby.Dlna/PlayTo/Device.cs

@@ -12,8 +12,6 @@ using System.Xml;
 using System.Xml.Linq;
 using Emby.Dlna.Common;
 using Emby.Dlna.Ssdp;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Configuration;
 using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.PlayTo
@@ -345,7 +343,7 @@ namespace Emby.Dlna.PlayTo
             RestartTimer(true);
         }
 
-        private string CreateDidlMeta(string value)
+        private static string CreateDidlMeta(string value)
         {
             if (string.IsNullOrEmpty(value))
             {
@@ -962,7 +960,7 @@ namespace Emby.Dlna.PlayTo
                 url = "/dmr/" + url;
             }
 
-            if (!url.StartsWith("/", StringComparison.Ordinal))
+            if (!url.StartsWith('/'))
             {
                 url = "/" + url;
             }

+ 18 - 29
Emby.Dlna/PlayTo/PlayToController.cs

@@ -9,7 +9,6 @@ using System.Threading.Tasks;
 using Emby.Dlna.Didl;
 using Jellyfin.Data.Entities;
 using Jellyfin.Data.Events;
-using MediaBrowser.Common.Configuration;
 using MediaBrowser.Controller.Dlna;
 using MediaBrowser.Controller.Drawing;
 using MediaBrowser.Controller.Entities;
@@ -41,7 +40,6 @@ namespace Emby.Dlna.PlayTo
         private readonly IUserDataManager _userDataManager;
         private readonly ILocalizationManager _localization;
         private readonly IMediaSourceManager _mediaSourceManager;
-        private readonly IConfigurationManager _config;
         private readonly IMediaEncoder _mediaEncoder;
 
         private readonly IDeviceDiscovery _deviceDiscovery;
@@ -68,7 +66,6 @@ namespace Emby.Dlna.PlayTo
             IUserDataManager userDataManager,
             ILocalizationManager localization,
             IMediaSourceManager mediaSourceManager,
-            IConfigurationManager config,
             IMediaEncoder mediaEncoder)
         {
             _session = session;
@@ -84,7 +81,6 @@ namespace Emby.Dlna.PlayTo
             _userDataManager = userDataManager;
             _localization = localization;
             _mediaSourceManager = mediaSourceManager;
-            _config = config;
             _mediaEncoder = mediaEncoder;
         }
 
@@ -337,25 +333,17 @@ namespace Emby.Dlna.PlayTo
             }
 
             var startIndex = command.StartIndex ?? 0;
+            int len = items.Count - startIndex;
             if (startIndex > 0)
             {
-                items = items.GetRange(startIndex, items.Count - startIndex);
+                items = items.GetRange(startIndex, len);
             }
 
-            var playlist = new List<PlaylistItem>();
-            var isFirst = true;
-
-            foreach (var item in items)
+            var playlist = new PlaylistItem[len];
+            playlist[0] = CreatePlaylistItem(items[0], user, command.StartPositionTicks.Value, command.MediaSourceId, command.AudioStreamIndex, command.SubtitleStreamIndex);
+            for (int i = 1; i < len; i++)
             {
-                if (isFirst && command.StartPositionTicks.HasValue)
-                {
-                    playlist.Add(CreatePlaylistItem(item, user, command.StartPositionTicks.Value, command.MediaSourceId, command.AudioStreamIndex, command.SubtitleStreamIndex));
-                    isFirst = false;
-                }
-                else
-                {
-                    playlist.Add(CreatePlaylistItem(item, user, 0, null, null, null));
-                }
+                playlist[i] = CreatePlaylistItem(items[i], user, 0, null, null, null);
             }
 
             _logger.LogDebug("{0} - Playlist created", _session.DeviceName);
@@ -468,8 +456,8 @@ namespace Emby.Dlna.PlayTo
                 _dlnaManager.GetDefaultProfile();
 
             var mediaSources = item is IHasMediaSources
-                ? _mediaSourceManager.GetStaticMediaSources(item, true, user)
-                : new List<MediaSourceInfo>();
+                ? _mediaSourceManager.GetStaticMediaSources(item, true, user).ToArray()
+                : Array.Empty<MediaSourceInfo>();
 
             var playlistItem = GetPlaylistItem(item, mediaSources, profile, _session.DeviceId, mediaSourceId, audioStreamIndex, subtitleStreamIndex);
             playlistItem.StreamInfo.StartPositionTicks = startPostionTicks;
@@ -548,7 +536,7 @@ namespace Emby.Dlna.PlayTo
             return null;
         }
 
-        private PlaylistItem GetPlaylistItem(BaseItem item, List<MediaSourceInfo> mediaSources, DeviceProfile profile, string deviceId, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
+        private PlaylistItem GetPlaylistItem(BaseItem item, MediaSourceInfo[] mediaSources, DeviceProfile profile, string deviceId, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
         {
             if (string.Equals(item.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase))
             {
@@ -557,7 +545,7 @@ namespace Emby.Dlna.PlayTo
                     StreamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildVideoItem(new VideoOptions
                     {
                         ItemId = item.Id,
-                        MediaSources = mediaSources.ToArray(),
+                        MediaSources = mediaSources,
                         Profile = profile,
                         DeviceId = deviceId,
                         MaxBitrate = profile.MaxStreamingBitrate,
@@ -577,7 +565,7 @@ namespace Emby.Dlna.PlayTo
                     StreamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildAudioItem(new AudioOptions
                     {
                         ItemId = item.Id,
-                        MediaSources = mediaSources.ToArray(),
+                        MediaSources = mediaSources,
                         Profile = profile,
                         DeviceId = deviceId,
                         MaxBitrate = profile.MaxStreamingBitrate,
@@ -590,7 +578,7 @@ namespace Emby.Dlna.PlayTo
 
             if (string.Equals(item.MediaType, MediaType.Photo, StringComparison.OrdinalIgnoreCase))
             {
-                return new PlaylistItemFactory().Create((Photo)item, profile);
+                return PlaylistItemFactory.Create((Photo)item, profile);
             }
 
             throw new ArgumentException("Unrecognized item type.");
@@ -774,13 +762,14 @@ namespace Emby.Dlna.PlayTo
 
         private async Task SeekAfterTransportChange(long positionTicks, CancellationToken cancellationToken)
         {
-            const int maxWait = 15000000;
-            const int interval = 500;
+            const int MaxWait = 15000000;
+            const int Interval = 500;
+
             var currentWait = 0;
-            while (_device.TransportState != TransportState.Playing && currentWait < maxWait)
+            while (_device.TransportState != TransportState.Playing && currentWait < MaxWait)
             {
-                await Task.Delay(interval).ConfigureAwait(false);
-                currentWait += interval;
+                await Task.Delay(Interval).ConfigureAwait(false);
+                currentWait += Interval;
             }
 
             await _device.Seek(TimeSpan.FromTicks(positionTicks), cancellationToken).ConfigureAwait(false);

+ 3 - 4
Emby.Dlna/PlayTo/PlayToManager.cs

@@ -90,10 +90,10 @@ namespace Emby.Dlna.PlayTo
             string location = info.Location.ToString();
 
             // It has to report that it's a media renderer
-            if (usn.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1 &&
-                nt.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1)
+            if (!usn.Contains("MediaRenderer:", StringComparison.OrdinalIgnoreCase)
+                && !nt.Contains("MediaRenderer:", StringComparison.OrdinalIgnoreCase))
             {
-                // _logger.LogDebug("Upnp device {0} does not contain a MediaRenderer device (0).", location);
+                _logger.LogDebug("Upnp device {0} does not contain a MediaRenderer device (0).", location);
                 return;
             }
 
@@ -203,7 +203,6 @@ namespace Emby.Dlna.PlayTo
                     _userDataManager,
                     _localization,
                     _mediaSourceManager,
-                    _config,
                     _mediaEncoder);
 
                 sessionInfo.AddController(controller);

+ 2 - 2
Emby.Dlna/PlayTo/PlaylistItemFactory.cs

@@ -8,9 +8,9 @@ using MediaBrowser.Model.Session;
 
 namespace Emby.Dlna.PlayTo
 {
-    public class PlaylistItemFactory
+    public static class PlaylistItemFactory
     {
-        public PlaylistItem Create(Photo item, DeviceProfile profile)
+        public static PlaylistItem Create(Photo item, DeviceProfile profile)
         {
             var playlistItem = new PlaylistItem
             {

+ 1 - 2
Emby.Dlna/PlayTo/SsdpHttpClient.cs

@@ -4,7 +4,6 @@ using System;
 using System.Globalization;
 using System.IO;
 using System.Net.Http;
-using System.Net.Http.Headers;
 using System.Net.Mime;
 using System.Text;
 using System.Threading;
@@ -60,7 +59,7 @@ namespace Emby.Dlna.PlayTo
                 return serviceUrl;
             }
 
-            if (!serviceUrl.StartsWith("/", StringComparison.Ordinal))
+            if (!serviceUrl.StartsWith('/'))
             {
                 serviceUrl = "/" + serviceUrl;
             }

+ 8 - 8
Emby.Dlna/PlayTo/TransportCommands.cs

@@ -78,7 +78,7 @@ namespace Emby.Dlna.PlayTo
 
         private static StateVariable FromXml(XElement container)
         {
-            var allowedValues = new List<string>();
+            var allowedValues = Array.Empty<string>();
             var element = container.Descendants(UPnpNamespaces.Svc + "allowedValueList")
                 .FirstOrDefault();
 
@@ -86,14 +86,14 @@ namespace Emby.Dlna.PlayTo
             {
                 var values = element.Descendants(UPnpNamespaces.Svc + "allowedValue");
 
-                allowedValues.AddRange(values.Select(child => child.Value));
+                allowedValues = values.Select(child => child.Value).ToArray();
             }
 
             return new StateVariable
             {
                 Name = container.GetValue(UPnpNamespaces.Svc + "name"),
                 DataType = container.GetValue(UPnpNamespaces.Svc + "dataType"),
-                AllowedValues = allowedValues.ToArray()
+                AllowedValues = allowedValues
             };
         }
 
@@ -103,12 +103,12 @@ namespace Emby.Dlna.PlayTo
 
             foreach (var arg in action.ArgumentList)
             {
-                if (arg.Direction == "out")
+                if (string.Equals(arg.Direction, "out", StringComparison.Ordinal))
                 {
                     continue;
                 }
 
-                if (arg.Name == "InstanceID")
+                if (string.Equals(arg.Name, "InstanceID", StringComparison.Ordinal))
                 {
                     stateString += BuildArgumentXml(arg, "0");
                 }
@@ -127,12 +127,12 @@ namespace Emby.Dlna.PlayTo
 
             foreach (var arg in action.ArgumentList)
             {
-                if (arg.Direction == "out")
+                if (string.Equals(arg.Direction, "out", StringComparison.Ordinal))
                 {
                     continue;
                 }
 
-                if (arg.Name == "InstanceID")
+                if (string.Equals(arg.Name, "InstanceID", StringComparison.Ordinal))
                 {
                     stateString += BuildArgumentXml(arg, "0");
                 }
@@ -151,7 +151,7 @@ namespace Emby.Dlna.PlayTo
 
             foreach (var arg in action.ArgumentList)
             {
-                if (arg.Name == "InstanceID")
+                if (string.Equals(arg.Name, "InstanceID", StringComparison.Ordinal))
                 {
                     stateString += BuildArgumentXml(arg, "0");
                 }

+ 1 - 9
Emby.Server.Implementations/ApplicationHost.cs

@@ -1,21 +1,18 @@
 #pragma warning disable CS1591
 
 using System;
-using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using System.Net;
 using System.Net.Http;
-using System.Net.Sockets;
 using System.Reflection;
 using System.Runtime.InteropServices;
 using System.Security.Cryptography.X509Certificates;
 using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
-using System.Xml.Serialization;
 using Emby.Dlna;
 using Emby.Dlna.Main;
 using Emby.Dlna.Ssdp;
@@ -52,7 +49,6 @@ using Jellyfin.Networking.Manager;
 using MediaBrowser.Common;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Common.Events;
-using MediaBrowser.Common.Json;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Common.Plugins;
 using MediaBrowser.Common.Updates;
@@ -85,7 +81,6 @@ using MediaBrowser.Controller.SyncPlay;
 using MediaBrowser.Controller.TV;
 using MediaBrowser.LocalMetadata.Savers;
 using MediaBrowser.MediaEncoding.BdInfo;
-using MediaBrowser.Model.Configuration;
 using MediaBrowser.Model.Cryptography;
 using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Globalization;
@@ -100,7 +95,6 @@ using MediaBrowser.Providers.Manager;
 using MediaBrowser.Providers.Plugins.Tmdb;
 using MediaBrowser.Providers.Subtitles;
 using MediaBrowser.XbmcMetadata.Providers;
-using Microsoft.AspNetCore.DataProtection.Repositories;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.DependencyInjection;
@@ -128,7 +122,6 @@ namespace Emby.Server.Implementations
 
         private IMediaEncoder _mediaEncoder;
         private ISessionManager _sessionManager;
-        private IHttpClientFactory _httpClientFactory;
         private string[] _urlPrefixes;
 
         /// <summary>
@@ -661,7 +654,6 @@ namespace Emby.Server.Implementations
 
             _mediaEncoder = Resolve<IMediaEncoder>();
             _sessionManager = Resolve<ISessionManager>();
-            _httpClientFactory = Resolve<IHttpClientFactory>();
 
             ((AuthenticationRepository)Resolve<IAuthenticationRepository>()).Initialize();
 
@@ -1049,7 +1041,7 @@ namespace Emby.Server.Implementations
                         metafile = dir.Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries)[^1];
 
                         int versionIndex = dir.LastIndexOf('_');
-                        if (versionIndex != -1 && Version.TryParse(dir.Substring(versionIndex + 1), out Version parsedVersion))
+                        if (versionIndex != -1 && Version.TryParse(dir.AsSpan()[(versionIndex + 1)..], out Version parsedVersion))
                         {
                             // Versioned folder.
                             versions.Add(new LocalPlugin(Guid.Empty, metafile, parsedVersion, dir));

+ 1 - 2
Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs

@@ -237,8 +237,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 
                 if (!inside)
                 {
-                    buffer[bufferIndex] = let;
-                    bufferIndex++;
+                    buffer[bufferIndex++] = let;
                 }
             }
 

+ 1 - 1
Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs

@@ -95,7 +95,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
                     extInf = line.Substring(ExtInfPrefix.Length).Trim();
                     _logger.LogInformation("Found m3u channel: {0}", extInf);
                 }
-                else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith("#", StringComparison.OrdinalIgnoreCase))
+                else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith('#'))
                 {
                     var channel = GetChannelnfo(extInf, tunerHostId, line);
                     if (string.IsNullOrWhiteSpace(channel.Id))

+ 1 - 2
Jellyfin.Networking/Manager/NetworkManager.cs

@@ -256,7 +256,7 @@ namespace Jellyfin.Networking.Manager
                 }
                 catch (ArgumentException e)
                 {
-                    _logger.LogWarning(e, "Ignoring LAN value {value}.", v);
+                    _logger.LogWarning(e, "Ignoring LAN value {Value}.", v);
                 }
             }
 
@@ -668,7 +668,6 @@ namespace Jellyfin.Networking.Manager
             if (address.AddressFamily == AddressFamily.InterNetworkV6)
             {
                 int i = str.IndexOf("%", StringComparison.OrdinalIgnoreCase);
-
                 if (i != -1)
                 {
                     str = str.Substring(0, i);

+ 8 - 8
MediaBrowser.MediaEncoding/Subtitles/SsaParser.cs

@@ -51,7 +51,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
                     {
                         eventsStarted = true;
                     }
-                    else if (!string.IsNullOrEmpty(line) && line.Trim().StartsWith(";", StringComparison.Ordinal))
+                    else if (!string.IsNullOrEmpty(line) && line.Trim().StartsWith(';'))
                     {
                         // skip comment lines
                     }
@@ -151,13 +151,13 @@ namespace MediaBrowser.MediaEncoding.Subtitles
 
                             try
                             {
-                                var p = new SubtitleTrackEvent();
-
-                                p.StartPositionTicks = GetTimeCodeFromString(start);
-                                p.EndPositionTicks = GetTimeCodeFromString(end);
-                                p.Text = GetFormattedText(text);
-
-                                trackEvents.Add(p);
+                                trackEvents.Add(
+                                    new SubtitleTrackEvent
+                                    {
+                                        StartPositionTicks = GetTimeCodeFromString(start),
+                                        EndPositionTicks = GetTimeCodeFromString(end),
+                                        Text = GetFormattedText(text)
+                                    });
                             }
                             catch
                             {

+ 1 - 1
MediaBrowser.Model/Dlna/ContainerProfile.cs

@@ -47,7 +47,7 @@ namespace MediaBrowser.Model.Dlna
         public static bool ContainsContainer(string profileContainers, string inputContainer)
         {
             var isNegativeList = false;
-            if (profileContainers != null && profileContainers.StartsWith("-", StringComparison.Ordinal))
+            if (profileContainers != null && profileContainers.StartsWith('-'))
             {
                 isNegativeList = true;
                 profileContainers = profileContainers.Substring(1);

+ 1 - 1
MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs

@@ -203,7 +203,7 @@ namespace MediaBrowser.Providers.MediaInfo
         {
             item.ShortcutPath = File.ReadAllLines(item.Path)
                 .Select(NormalizeStrmLine)
-                .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i) && !i.StartsWith("#", StringComparison.OrdinalIgnoreCase));
+                .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i) && !i.StartsWith('#'));
         }
 
         public Task<ItemUpdateType> FetchAudioInfo<T>(T item, MetadataRefreshOptions options, CancellationToken cancellationToken)