aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-26 16:31:57 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-26 16:31:57 -0400
commit7e312e75bbb1324748319b29c9353716ed93a8da (patch)
treef9f4db210b6ce392e0845e49071adfd0a762bfd9
parent8921e152ea617904fb4b6c4fe03fc8070fd03986 (diff)
update stream sorting
-rw-r--r--MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj3
-rw-r--r--MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj3
-rw-r--r--MediaBrowser.Model/Dlna/StreamBuilder.cs24
-rw-r--r--MediaBrowser.Model/Dlna/StreamInfoSorter.cs40
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj1
-rw-r--r--MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs6
-rw-r--r--MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs16
-rw-r--r--MediaBrowser.Server.Implementations/Udp/UdpServer.cs1
-rw-r--r--Nuget/MediaBrowser.Common.Internal.nuspec4
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Model.Signed.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
-rw-r--r--SharedVersion.cs4
13 files changed, 61 insertions, 49 deletions
diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
index 118e5659a..ab77dc271 100644
--- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
+++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
@@ -413,6 +413,9 @@
<Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
<Link>Dlna\StreamInfo.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfoSorter.cs">
+ <Link>Dlna\StreamInfoSorter.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Dlna\SubtitleDeliveryMethod.cs">
<Link>Dlna\SubtitleDeliveryMethod.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
index a97bf2a8c..b772e1753 100644
--- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
+++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
@@ -378,6 +378,9 @@
<Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
<Link>Dlna\StreamInfo.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfoSorter.cs">
+ <Link>Dlna\StreamInfoSorter.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Dlna\SubtitleDeliveryMethod.cs">
<Link>Dlna\SubtitleDeliveryMethod.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs
index 7338f604c..62ac321fe 100644
--- a/MediaBrowser.Model/Dlna/StreamBuilder.cs
+++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs
@@ -89,29 +89,7 @@ namespace MediaBrowser.Model.Dlna
private StreamInfo GetOptimalStream(List<StreamInfo> streams)
{
- // Grab the first one that can be direct streamed
- // If that doesn't produce anything, just take the first
- foreach (StreamInfo i in streams)
- {
- if (i.PlayMethod == PlayMethod.DirectPlay && i.MediaSource.Protocol == MediaProtocol.File)
- {
- return i;
- }
- }
- foreach (StreamInfo i in streams)
- {
- if (i.PlayMethod == PlayMethod.DirectPlay)
- {
- return i;
- }
- }
- foreach (StreamInfo i in streams)
- {
- if (i.PlayMethod == PlayMethod.DirectStream)
- {
- return i;
- }
- }
+ streams = StreamInfoSorter.SortMediaSources(streams);
foreach (StreamInfo stream in streams)
{
diff --git a/MediaBrowser.Model/Dlna/StreamInfoSorter.cs b/MediaBrowser.Model/Dlna/StreamInfoSorter.cs
new file mode 100644
index 000000000..80eca193f
--- /dev/null
+++ b/MediaBrowser.Model/Dlna/StreamInfoSorter.cs
@@ -0,0 +1,40 @@
+using MediaBrowser.Model.MediaInfo;
+using MediaBrowser.Model.Session;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace MediaBrowser.Model.Dlna
+{
+ public class StreamInfoSorter
+ {
+ public static List<StreamInfo> SortMediaSources(List<StreamInfo> streams)
+ {
+ return streams.OrderBy(i =>
+ {
+ switch (i.PlayMethod)
+ {
+ case PlayMethod.DirectPlay:
+ return 0;
+ case PlayMethod.DirectStream:
+ return 1;
+ case PlayMethod.Transcode:
+ return 2;
+ default:
+ throw new ArgumentException("Unrecognized PlayMethod");
+ }
+
+ }).ThenBy(i =>
+ {
+ switch (i.MediaSource.Protocol)
+ {
+ case MediaProtocol.File:
+ return 0;
+ default:
+ return 1;
+ }
+
+ }).ToList();
+ }
+ }
+}
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 30eec434d..fe67038df 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -126,6 +126,7 @@
<Compile Include="Devices\DevicesOptions.cs" />
<Compile Include="Dlna\EncodingContext.cs" />
<Compile Include="Dlna\ILocalPlayer.cs" />
+ <Compile Include="Dlna\StreamInfoSorter.cs" />
<Compile Include="Dlna\NullLocalPlayer.cs" />
<Compile Include="Dlna\PlaybackErrorCode.cs" />
<Compile Include="Dlna\PlaybackException.cs" />
diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
index a9affe1ec..5474892e8 100644
--- a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
@@ -268,8 +268,6 @@ namespace MediaBrowser.Server.Implementations.Drawing
originalImage.CurrentImage.CompressionQuality = quality;
originalImage.SaveImage(cacheFilePath);
-
- return cacheFilePath;
}
}
else
@@ -286,8 +284,6 @@ namespace MediaBrowser.Server.Implementations.Drawing
wand.CurrentImage.CompressionQuality = quality;
wand.SaveImage(cacheFilePath);
-
- return cacheFilePath;
}
}
}
@@ -296,6 +292,8 @@ namespace MediaBrowser.Server.Implementations.Drawing
{
semaphore.Release();
}
+
+ return cacheFilePath;
}
private ImageFormat GetOutputFormat(ImageFormat requestedFormat)
diff --git a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
index 6fb02358e..eac0cd96d 100644
--- a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs
@@ -223,8 +223,8 @@ namespace MediaBrowser.Server.Implementations.Photos
protected virtual List<BaseItem> GetFinalItems(List<BaseItem> items, int limit)
{
- // Rotate the images no more than once per week
- var random = new Random(GetWeekOfYear()).Next();
+ // Rotate the images once every 7 days
+ var random = DateTime.Now.DayOfYear % 7;
return items
.OrderBy(i => (random + "" + items.IndexOf(i)).GetMD5())
@@ -233,18 +233,6 @@ namespace MediaBrowser.Server.Implementations.Photos
.ToList();
}
- private int GetWeekOfYear()
- {
- return DateTime.Now.Second;
- var usCulture = new CultureInfo("en-US");
- var weekNo = usCulture.Calendar.GetWeekOfYear(
- DateTime.Now,
- usCulture.DateTimeFormat.CalendarWeekRule,
- usCulture.DateTimeFormat.FirstDayOfWeek);
-
- return weekNo;
- }
-
public int Order
{
get
diff --git a/MediaBrowser.Server.Implementations/Udp/UdpServer.cs b/MediaBrowser.Server.Implementations/Udp/UdpServer.cs
index 9dbffa922..966129f4b 100644
--- a/MediaBrowser.Server.Implementations/Udp/UdpServer.cs
+++ b/MediaBrowser.Server.Implementations/Udp/UdpServer.cs
@@ -51,6 +51,7 @@ namespace MediaBrowser.Server.Implementations.Udp
AddMessageResponder("who is MediaBrowserServer?", RespondToV1Message);
AddMessageResponder("who is MediaBrowserServer_v2?", RespondToV2Message);
+ AddMessageResponder("who is EmbyServer_v2?", RespondToV2Message);
}
private void AddMessageResponder(string message, Action<string> responder)
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index 5f1c138b8..d229302bd 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common.Internal</id>
- <version>3.0.598</version>
+ <version>3.0.599</version>
<title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.598" />
+ <dependency id="MediaBrowser.Common" version="3.0.599" />
<dependency id="NLog" version="3.2.0.0" />
<dependency id="SimpleInjector" version="2.7.0" />
</dependencies>
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index b5a0f3bba..65205fa25 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.598</version>
+ <version>3.0.599</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec
index 085408f2e..2e829b436 100644
--- a/Nuget/MediaBrowser.Model.Signed.nuspec
+++ b/Nuget/MediaBrowser.Model.Signed.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Model.Signed</id>
- <version>3.0.598</version>
+ <version>3.0.599</version>
<title>MediaBrowser.Model - Signed Edition</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index dca8aa61a..f5d5b788b 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.598</version>
+ <version>3.0.599</version>
<title>Media Browser.Server.Core</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Media Browser Server.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.598" />
+ <dependency id="MediaBrowser.Common" version="3.0.599" />
</dependencies>
</metadata>
<files>
diff --git a/SharedVersion.cs b/SharedVersion.cs
index 7528d4060..fa4ca1ac7 100644
--- a/SharedVersion.cs
+++ b/SharedVersion.cs
@@ -1,4 +1,4 @@
using System.Reflection;
-//[assembly: AssemblyVersion("3.0.*")]
-[assembly: AssemblyVersion("3.0.5557.20000")]
+[assembly: AssemblyVersion("3.0.*")]
+//[assembly: AssemblyVersion("3.0.5557.20000")]