Kaynağa Gözat

Merge pull request #2915 from MediaBrowser/dev

Dev
Luke 7 yıl önce
ebeveyn
işleme
f114b103da

+ 2 - 2
Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs

@@ -74,7 +74,7 @@ namespace Emby.Server.Implementations.EntryPoints
 
             try
             {
-                await new UsageReporter(_applicationHost, _httpClient, _userManager, _logger)
+                await new UsageReporter(_applicationHost, _httpClient, _logger)
                     .ReportAppUsage(client, CancellationToken.None)
                     .ConfigureAwait(false);
             }
@@ -117,7 +117,7 @@ namespace Emby.Server.Implementations.EntryPoints
 
             try
             {
-                await new UsageReporter(_applicationHost, _httpClient, _userManager, _logger)
+                await new UsageReporter(_applicationHost, _httpClient, _logger)
                     .ReportServerUsage(CancellationToken.None)
                     .ConfigureAwait(false);
             }

+ 1 - 9
Emby.Server.Implementations/EntryPoints/UsageReporter.cs

@@ -17,15 +17,13 @@ namespace Emby.Server.Implementations.EntryPoints
     {
         private readonly IServerApplicationHost _applicationHost;
         private readonly IHttpClient _httpClient;
-        private readonly IUserManager _userManager;
         private readonly ILogger _logger;
         private const string MbAdminUrl = "https://www.mb3admin.com/admin/";
 
-        public UsageReporter(IServerApplicationHost applicationHost, IHttpClient httpClient, IUserManager userManager, ILogger logger)
+        public UsageReporter(IServerApplicationHost applicationHost, IHttpClient httpClient, ILogger logger)
         {
             _applicationHost = applicationHost;
             _httpClient = httpClient;
-            _userManager = userManager;
             _logger = logger;
         }
 
@@ -43,12 +41,6 @@ namespace Emby.Server.Implementations.EntryPoints
                 { "platform", _applicationHost.OperatingSystemDisplayName }
             };
 
-            var users = _userManager.Users.ToList();
-
-            data["localusers"] = users.Count(i => !i.ConnectLinkType.HasValue).ToString(CultureInfo.InvariantCulture);
-            data["guests"] = users.Count(i => i.ConnectLinkType.HasValue && i.ConnectLinkType.Value == UserLinkType.Guest).ToString(CultureInfo.InvariantCulture);
-            data["linkedusers"] = users.Count(i => i.ConnectLinkType.HasValue && i.ConnectLinkType.Value == UserLinkType.LinkedUser).ToString(CultureInfo.InvariantCulture);
-
             data["plugins"] = string.Join(",", _applicationHost.Plugins.Select(i => i.Id).ToArray());
 
             var logErrors = false;

+ 3 - 21
Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs

@@ -72,8 +72,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
             var cacheFile = Path.Combine(_config.ApplicationPaths.CachePath, "xmltv", cacheFilename);
             if (_fileSystem.FileExists(cacheFile))
             {
-                //return UnzipIfNeeded(path, cacheFile);
-                return cacheFile;
+                return UnzipIfNeeded(path, cacheFile);
             }
 
             _logger.Info("Downloading xmltv listings from {0}", path);
@@ -95,26 +94,9 @@ namespace Emby.Server.Implementations.LiveTv.Listings
 
             _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(cacheFile));
 
-            using (var stream = _fileSystem.OpenRead(tempFile))
-            {
-                using (var reader = new StreamReader(stream, Encoding.UTF8))
-                {
-                    using (var fileStream = _fileSystem.GetFileStream(cacheFile, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read))
-                    {
-                        using (var writer = new StreamWriter(fileStream))
-                        {
-                            while (!reader.EndOfStream)
-                            {
-                                writer.WriteLine(reader.ReadLine());
-                            }
-                        }
-                    }
-                }
-            }
+            _fileSystem.CopyFile(tempFile, cacheFile, true);
 
-            _logger.Debug("Returning xmltv path {0}", cacheFile);
-            return cacheFile;
-            //return UnzipIfNeeded(path, cacheFile);
+            return UnzipIfNeeded(path, cacheFile);
         }
 
         private string UnzipIfNeeded(string originalUrl, string file)

+ 2 - 1
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -1367,7 +1367,8 @@ namespace MediaBrowser.Controller.MediaEncoding
 
             if (state.DeInterlace("h264") && !string.Equals(outputVideoCodec, "h264_vaapi", StringComparison.OrdinalIgnoreCase))
             {
-                if (string.Equals(options.DeinterlaceMethod, "bobandweave", StringComparison.OrdinalIgnoreCase))
+                // If it is already 60fps then it will create an output framerate that is much too high for roku and others to handle
+                if (string.Equals(options.DeinterlaceMethod, "bobandweave", StringComparison.OrdinalIgnoreCase) && (state.VideoStream.RealFrameRate ?? 60) <= 30)
                 {
                     filters.Add("yadif=1:-1:0");
                 }

+ 27 - 27
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -777,16 +777,28 @@ namespace MediaBrowser.Model.Dlna
                         bool applyConditions = true;
                         foreach (ProfileCondition applyCondition in i.ApplyConditions)
                         {
-                            bool? isSecondaryAudio = audioStream == null ? null : item.IsSecondaryAudio(audioStream);
-                            int? inputAudioBitrate = audioStream == null ? null : audioStream.BitRate;
-                            int? audioChannels = audioStream == null ? null : audioStream.Channels;
-                            string audioProfile = audioStream == null ? null : audioStream.Profile;
-                            int? inputAudioSampleRate = audioStream == null ? null : audioStream.SampleRate;
-                            int? inputAudioBitDepth = audioStream == null ? null : audioStream.BitDepth;
+                            int? width = videoStream == null ? null : videoStream.Width;
+                            int? height = videoStream == null ? null : videoStream.Height;
+                            int? bitDepth = videoStream == null ? null : videoStream.BitDepth;
+                            int? videoBitrate = videoStream == null ? null : videoStream.BitRate;
+                            double? videoLevel = videoStream == null ? null : videoStream.Level;
+                            string videoProfile = videoStream == null ? null : videoStream.Profile;
+                            float? videoFramerate = videoStream == null ? null : videoStream.AverageFrameRate ?? videoStream.AverageFrameRate;
+                            bool? isAnamorphic = videoStream == null ? null : videoStream.IsAnamorphic;
+                            bool? isInterlaced = videoStream == null ? (bool?)null : videoStream.IsInterlaced;
+                            string videoCodecTag = videoStream == null ? null : videoStream.CodecTag;
+                            bool? isAvc = videoStream == null ? null : videoStream.IsAVC;
 
-                            if (!conditionProcessor.IsVideoAudioConditionSatisfied(applyCondition, audioChannels, inputAudioBitrate, inputAudioSampleRate, inputAudioBitDepth, audioProfile, isSecondaryAudio))
+                            TransportStreamTimestamp? timestamp = videoStream == null ? TransportStreamTimestamp.None : item.Timestamp;
+                            int? packetLength = videoStream == null ? null : videoStream.PacketLength;
+                            int? refFrames = videoStream == null ? null : videoStream.RefFrames;
+
+                            int? numAudioStreams = item.GetStreamCount(MediaStreamType.Audio);
+                            int? numVideoStreams = item.GetStreamCount(MediaStreamType.Video);
+
+                            if (!conditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isInterlaced, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
                             {
-                                LogConditionFailure(options.Profile, "VideoAudioCodecProfile", applyCondition, item);
+                                LogConditionFailure(options.Profile, "VideoCodecProfile", applyCondition, item);
                                 applyConditions = false;
                                 break;
                             }
@@ -815,26 +827,14 @@ namespace MediaBrowser.Model.Dlna
                         bool applyConditions = true;
                         foreach (ProfileCondition applyCondition in i.ApplyConditions)
                         {
-                            int? width = videoStream == null ? null : videoStream.Width;
-                            int? height = videoStream == null ? null : videoStream.Height;
-                            int? bitDepth = videoStream == null ? null : videoStream.BitDepth;
-                            int? videoBitrate = videoStream == null ? null : videoStream.BitRate;
-                            double? videoLevel = videoStream == null ? null : videoStream.Level;
-                            string videoProfile = videoStream == null ? null : videoStream.Profile;
-                            float? videoFramerate = videoStream == null ? null : videoStream.AverageFrameRate ?? videoStream.AverageFrameRate;
-                            bool? isAnamorphic = videoStream == null ? null : videoStream.IsAnamorphic;
-                            bool? isInterlaced = videoStream == null ? (bool?)null : videoStream.IsInterlaced;
-                            string videoCodecTag = videoStream == null ? null : videoStream.CodecTag;
-                            bool? isAvc = videoStream == null ? null : videoStream.IsAVC;
-
-                            TransportStreamTimestamp? timestamp = videoStream == null ? TransportStreamTimestamp.None : item.Timestamp;
-                            int? packetLength = videoStream == null ? null : videoStream.PacketLength;
-                            int? refFrames = videoStream == null ? null : videoStream.RefFrames;
-
-                            int? numAudioStreams = item.GetStreamCount(MediaStreamType.Audio);
-                            int? numVideoStreams = item.GetStreamCount(MediaStreamType.Video);
+                            bool? isSecondaryAudio = audioStream == null ? null : item.IsSecondaryAudio(audioStream);
+                            int? inputAudioBitrate = audioStream == null ? null : audioStream.BitRate;
+                            int? audioChannels = audioStream == null ? null : audioStream.Channels;
+                            string audioProfile = audioStream == null ? null : audioStream.Profile;
+                            int? inputAudioSampleRate = audioStream == null ? null : audioStream.SampleRate;
+                            int? inputAudioBitDepth = audioStream == null ? null : audioStream.BitDepth;
 
-                            if (!conditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isInterlaced, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
+                            if (!conditionProcessor.IsVideoAudioConditionSatisfied(applyCondition, audioChannels, inputAudioBitrate, inputAudioSampleRate, inputAudioBitDepth, audioProfile, isSecondaryAudio))
                             {
                                 LogConditionFailure(options.Profile, "VideoCodecProfile", applyCondition, item);
                                 applyConditions = false;

+ 1 - 1
SharedVersion.cs

@@ -1,3 +1,3 @@
 using System.Reflection;
 
-[assembly: AssemblyVersion("3.2.32.6")]
+[assembly: AssemblyVersion("3.2.32.7")]