瀏覽代碼

update hls timer

Luke Pulverenti 10 年之前
父節點
當前提交
d155b78360

+ 0 - 1
MediaBrowser.Api/ApiEntryPoint.cs

@@ -331,7 +331,6 @@ namespace MediaBrowser.Api
                 return;
             }
 
-            // TODO: Lower this hls timeout
             var timerDuration = job.Type == TranscodingJobType.Progressive ?
                 1000 :
                 1800000;

+ 3 - 0
MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj

@@ -488,6 +488,9 @@
     <Compile Include="..\MediaBrowser.Model\Dto\ItemIndex.cs">
       <Link>Dto\ItemIndex.cs</Link>
     </Compile>
+    <Compile Include="..\MediaBrowser.Model\Dto\ItemLayout.cs">
+      <Link>Dto\ItemLayout.cs</Link>
+    </Compile>
     <Compile Include="..\MediaBrowser.Model\Dto\MediaSourceInfo.cs">
       <Link>Dto\MediaSourceInfo.cs</Link>
     </Compile>

+ 3 - 0
MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj

@@ -453,6 +453,9 @@
     <Compile Include="..\MediaBrowser.Model\Dto\ItemIndex.cs">
       <Link>Dto\ItemIndex.cs</Link>
     </Compile>
+    <Compile Include="..\MediaBrowser.Model\Dto\ItemLayout.cs">
+      <Link>Dto\ItemLayout.cs</Link>
+    </Compile>
     <Compile Include="..\MediaBrowser.Model\Dto\MediaSourceInfo.cs">
       <Link>Dto\MediaSourceInfo.cs</Link>
     </Compile>

+ 14 - 1
MediaBrowser.Model/ApiClient/ServerCredentials.cs

@@ -98,7 +98,7 @@ namespace MediaBrowser.Model.ApiClient
         {
             var index = 0;
 
-            foreach (var server in servers)
+            foreach (ServerInfo server in servers)
             {
                 if (StringHelper.EqualsIgnoreCase(id, server.Id))
                 {
@@ -110,5 +110,18 @@ namespace MediaBrowser.Model.ApiClient
 
             return -1;
         }
+
+        public ServerInfo GetServer(string id)
+        {
+            foreach (ServerInfo server in Servers)
+            {
+                if (StringHelper.EqualsIgnoreCase(id, server.Id))
+                {
+                    return server;
+                }
+            }
+
+            return null;
+        }
     }
 }

+ 72 - 0
MediaBrowser.Model/Dto/ItemLayout.cs

@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Model.Dto
+{
+    public static class ItemLayout
+    {
+        public static double? GetDisplayAspectRatio(BaseItemDto item)
+        {
+            List<BaseItemDto> items = new List<BaseItemDto>();
+            items.Add(item);
+            return GetDisplayAspectRatio(items);
+        }
+
+        public static double? GetDisplayAspectRatio(List<BaseItemDto> items)
+        {
+            List<double> values = new List<double>();
+
+            foreach (BaseItemDto item in items)
+            {
+                if (item.PrimaryImageAspectRatio.HasValue)
+                {
+                    values.Add(item.PrimaryImageAspectRatio.Value);
+                }
+            }
+
+            if (values.Count == 0)
+            {
+                return null;
+            }
+
+            values.Sort();
+
+            double halfDouble = values.Count;
+            halfDouble /= 2;
+            int half = Convert.ToInt32(Math.Floor(halfDouble));
+
+            double result;
+
+            if (values.Count % 2 > 0)
+                result = values[half];
+            else
+                result = (values[half - 1] + values[half]) / 2.0;
+
+            // If really close to 2:3 (poster image), just return 2:3
+            if (Math.Abs(0.66666666667 - result) <= .15) 
+            {
+                return 0.66666666667;
+            }
+
+            // If really close to 16:9 (episode image), just return 16:9
+            if (Math.Abs(1.777777778 - result) <= .2)
+            {
+                return 1.777777778;
+            }
+
+            // If really close to 1 (square image), just return 1
+            if (Math.Abs(1 - result) <= .15)
+            {
+                return 1.0;
+            }
+
+            // If really close to 4:3 (poster image), just return 2:3
+            if (Math.Abs(1.33333333333 - result) <= .15)
+            {
+                return 1.33333333333;
+            }
+
+            return result;
+        }
+    }
+}

+ 1 - 0
MediaBrowser.Model/MediaBrowser.Model.csproj

@@ -139,6 +139,7 @@
     <Compile Include="Drawing\ImageOrientation.cs" />
     <Compile Include="Dto\IHasServerId.cs" />
     <Compile Include="Dto\IHasSyncInfo.cs" />
+    <Compile Include="Dto\ItemLayout.cs" />
     <Compile Include="Dto\MetadataEditorInfo.cs" />
     <Compile Include="Dto\NameIdPair.cs" />
     <Compile Include="Dto\NameValuePair.cs" />

+ 5 - 0
MediaBrowser.Providers/Manager/MetadataService.cs

@@ -482,6 +482,11 @@ namespace MediaBrowser.Providers.Manager
 
         protected virtual bool IsFullLocalMetadata(TItemType item)
         {
+            if (string.IsNullOrWhiteSpace(item.Name))
+            {
+                return false;
+            }
+            
             return true;
         }
 

+ 0 - 4
MediaBrowser.Providers/Movies/MovieMetadataService.cs

@@ -36,10 +36,6 @@ namespace MediaBrowser.Providers.Movies
 
         protected override bool IsFullLocalMetadata(Movie item)
         {
-            if (string.IsNullOrWhiteSpace(item.Name))
-            {
-                return false;
-            }
             if (string.IsNullOrWhiteSpace(item.Overview))
             {
                 return false;

+ 0 - 4
MediaBrowser.Providers/TV/SeriesMetadataService.cs

@@ -77,10 +77,6 @@ namespace MediaBrowser.Providers.TV
 
         protected override bool IsFullLocalMetadata(Series item)
         {
-            if (string.IsNullOrWhiteSpace(item.Name))
-            {
-                return false;
-            }
             if (string.IsNullOrWhiteSpace(item.Overview))
             {
                 return false;

+ 1 - 1
MediaBrowser.Server.Implementations/Library/LibraryManager.cs

@@ -1723,7 +1723,7 @@ namespace MediaBrowser.Server.Implementations.Library
                 await item.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false);
             }
 
-            var refresh = isNew || (DateTime.UtcNow - item.DateLastSaved).TotalHours >= 12;
+            var refresh = isNew || (DateTime.UtcNow - item.DateLastSaved).TotalHours >= 24;
 
             if (refresh)
             {