diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 6517b63cd..80c172309 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -10,7 +10,7 @@
- [Bond_009](https://github.com/Bond-009)
- [AnthonyLavado](https://github.com/anthonylavado)
- [sparky8251](https://github.com/sparky8251)
- - [LeoVerto](https://github.com/LeoVerto]
+ - [LeoVerto](https://github.com/LeoVerto)
# Emby Contributors
diff --git a/Emby.Drawing/Common/ImageHeader.cs b/Emby.Drawing/Common/ImageHeader.cs
index 7b819c2fd..f37f396f5 100644
--- a/Emby.Drawing/Common/ImageHeader.cs
+++ b/Emby.Drawing/Common/ImageHeader.cs
@@ -121,7 +121,7 @@ namespace Emby.Drawing.Common
///
/// The binary reader.
/// System.Int16.
- private static short ReadLittleEndianInt16(BinaryReader binaryReader)
+ private static short ReadLittleEndianInt16(this BinaryReader binaryReader)
{
var bytes = new byte[sizeof(short)];
@@ -137,7 +137,7 @@ namespace Emby.Drawing.Common
///
/// The binary reader.
/// System.Int32.
- private static int ReadLittleEndianInt32(BinaryReader binaryReader)
+ private static int ReadLittleEndianInt32(this BinaryReader binaryReader)
{
var bytes = new byte[sizeof(int)];
for (int i = 0; i < sizeof(int); i += 1)
@@ -205,25 +205,30 @@ namespace Emby.Drawing.Common
///
private static ImageSize DecodeJfif(BinaryReader binaryReader)
{
+ // A JPEG image consists of a sequence of segments,
+ // each beginning with a marker, each of which begins with a 0xFF byte
+ // followed by a byte indicating what kind of marker it is.
+ // Source: https://en.wikipedia.org/wiki/JPEG#Syntax_and_structure
while (binaryReader.ReadByte() == 0xff)
{
byte marker = binaryReader.ReadByte();
- short chunkLength = ReadLittleEndianInt16(binaryReader);
- if (marker == 0xc0)
+ short chunkLength = binaryReader.ReadLittleEndianInt16();
+ // SOF0: Indicates that this is a baseline DCT-based JPEG,
+ // and specifies the width, height, number of components, and component subsampling
+ // SOF2: Indicates that this is a progressive DCT-based JPEG,
+ // and specifies the width, height, number of components, and component subsampling
+ if (marker == 0xc0 || marker == 0xc2)
{
- binaryReader.ReadByte();
- int height = ReadLittleEndianInt16(binaryReader);
- int width = ReadLittleEndianInt16(binaryReader);
- return new ImageSize
- {
- Width = width,
- Height = height
- };
+ // https://help.accusoft.com/ImageGear/v18.2/Windows/ActiveX/IGAX-10-12.html
+ binaryReader.ReadByte(); // We don't care about the first byte
+ int height = binaryReader.ReadLittleEndianInt16();
+ int width = binaryReader.ReadLittleEndianInt16();
+ return new ImageSize(width, height);
}
if (chunkLength < 0)
{
- var uchunkLength = (ushort)chunkLength;
+ ushort uchunkLength = (ushort)chunkLength;
binaryReader.ReadBytes(uchunkLength - 2);
}
else
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
index 241505019..da3a4da07 100644
--- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj
+++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
@@ -45,7 +45,6 @@
-
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs
index b597a935a..a81a0bcbb 100644
--- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs
+++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs
@@ -1056,7 +1056,7 @@ namespace Emby.Server.Implementations.LiveTv
var numComplete = 0;
double progressPerService = _services.Length == 0
? 0
- : 1 / _services.Length;
+ : 1.0 / _services.Length;
var newChannelIdList = new List();
var newProgramIdList = new List();
@@ -1262,7 +1262,7 @@ namespace Emby.Server.Implementations.LiveTv
}
numComplete++;
- double percent = numComplete / allChannelsList.Count;
+ double percent = numComplete / (double) allChannelsList.Count;
progress.Report(85 * percent + 15);
}
@@ -1307,7 +1307,7 @@ namespace Emby.Server.Implementations.LiveTv
}
numComplete++;
- double percent = numComplete / list.Count;
+ double percent = numComplete / (double) list.Count;
progress.Report(100 * percent);
}
diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs
index b754d7cb5..95395f96c 100644
--- a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs
@@ -65,7 +65,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks
foreach (var file in filesToDelete)
{
- double percent = index / filesToDelete.Count;
+ double percent = index / (double) filesToDelete.Count;
progress.Report(100 * percent);
diff --git a/Emby.Server.Implementations/values.txt b/Emby.Server.Implementations/values.txt
deleted file mode 100644
index e69de29bb..000000000
diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj
index f625a17ee..a485fa8be 100644
--- a/MediaBrowser.Common/MediaBrowser.Common.csproj
+++ b/MediaBrowser.Common/MediaBrowser.Common.csproj
@@ -1,5 +1,10 @@
+
+ Jellyfin Contributors
+ Jellyfin.Common
+
+
diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
index e888a5582..51fb73df7 100644
--- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
+++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
@@ -64,7 +64,7 @@ namespace MediaBrowser.Controller.Entities.Movies
}
public override double GetDefaultPrimaryImageAspectRatio()
- => 2 / 3;
+ => 2.0 / 3;
public override UnratedItem GetBlockUnratedType()
{
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index 4f743991b..1d7e1cff1 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -51,7 +51,7 @@ namespace MediaBrowser.Controller.Entities.Movies
return 0;
}
- return 2 / 3;
+ return 2.0 / 3;
}
protected override async Task RefreshedOwnedItems(MetadataRefreshOptions options, List fileSystemChildren, CancellationToken cancellationToken)
diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs
index 00e055c51..0a367c594 100644
--- a/MediaBrowser.Controller/Entities/TV/Episode.cs
+++ b/MediaBrowser.Controller/Entities/TV/Episode.cs
@@ -111,7 +111,7 @@ namespace MediaBrowser.Controller.Entities.TV
return 0;
}
- return 16 / 9;
+ return 16.0 / 9;
}
public override List GetUserDataKeys()
diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs
index 2ef268ed1..d84ac187b 100644
--- a/MediaBrowser.Controller/Entities/Trailer.cs
+++ b/MediaBrowser.Controller/Entities/Trailer.cs
@@ -21,7 +21,7 @@ namespace MediaBrowser.Controller.Entities
public TrailerType[] TrailerTypes { get; set; }
public override double GetDefaultPrimaryImageAspectRatio()
- => 2 / 3;
+ => 2.0 / 3;
public override UnratedItem GetBlockUnratedType()
{
diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
index 4dc6c7517..c4a75d199 100644
--- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
+++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
@@ -54,11 +54,11 @@ namespace MediaBrowser.Controller.LiveTv
if (string.Equals(serviceName, EmbyServiceName, StringComparison.OrdinalIgnoreCase) || string.Equals(serviceName, "Next Pvr", StringComparison.OrdinalIgnoreCase))
{
- return 2 / 3;
+ return 2.0 / 3;
}
else
{
- return 16 / 9;
+ return 16.0 / 9;
}
}
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 4567f62dd..3decbc42f 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -1,5 +1,10 @@
+
+ Jellyfin Contributors
+ Jellyfin.Controller
+
+
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index fe1068842..e223f2cc8 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -1,5 +1,10 @@
+
+ Jellyfin Contributors
+ Jellyfin.Model
+
+
netstandard2.0
false
diff --git a/MediaBrowser.Model/Net/MimeTypes.cs b/MediaBrowser.Model/Net/MimeTypes.cs
index d66d62fea..c22e77beb 100644
--- a/MediaBrowser.Model/Net/MimeTypes.cs
+++ b/MediaBrowser.Model/Net/MimeTypes.cs
@@ -183,6 +183,10 @@ namespace MediaBrowser.Model.Net
{
return "text/plain";
}
+ if (StringHelper.EqualsIgnoreCase(ext, ".log"))
+ {
+ return "text/plain";
+ }
if (StringHelper.EqualsIgnoreCase(ext, ".xml"))
{
return "application/xml";
@@ -228,10 +232,10 @@ namespace MediaBrowser.Model.Net
if (StringHelper.EqualsIgnoreCase(ext, ".oga"))
{
return "audio/ogg";
- }
- if (StringHelper.EqualsIgnoreCase(ext, ".opus"))
- {
- return "audio/ogg";
+ }
+ if (StringHelper.EqualsIgnoreCase(ext, ".opus"))
+ {
+ return "audio/ogg";
}
if (StringHelper.EqualsIgnoreCase(ext, ".ac3"))
{
diff --git a/SharedVersion.cs b/SharedVersion.cs
index 791d6cac5..0fbf7b925 100644
--- a/SharedVersion.cs
+++ b/SharedVersion.cs
@@ -1,3 +1,3 @@
using System.Reflection;
-[assembly: AssemblyVersion("10.0.0")]
+[assembly: AssemblyVersion("10.0.1")]
diff --git a/debian/changelog b/debian/changelog
index 61223e725..685d31a5e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+jellyfin (10.0.1-1) unstable; urgency=medium
+
+ * Hotfix release, corrects several small bugs from 10.0.0
+ * #512: Fix CONTRIBUTORS.md formatting
+ * #501: Fix regression in integer divisions in latest movies category
+ * #498: Change contributing link in settings to readthedocs.io
+ * #493: Remove unused values.txt resource
+ * #491: Fix userprofile.js crash
+ * #519: Fix the DecodeJfif function to get proper image sizes
+ * #486: Add NuGet package info to plugin projects
+
+ -- Joshua Boniface Tue, 08 Jan 2019 20:06:01 -0500
+
jellyfin (10.0.0-1) unstable; urgency=medium
* The first Jellyfin release under our new versioning scheme