aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile2
-rw-r--r--Emby.Naming/Video/VideoListResolver.cs45
-rw-r--r--SharedVersion.cs4
-rw-r--r--deployment/debian-package-x64/pkg-src/changelog16
-rw-r--r--deployment/fedora-package-x64/pkg-src/jellyfin.spec16
-rw-r--r--deployment/windows/build-jellyfin.ps14
6 files changed, 71 insertions, 16 deletions
diff --git a/Dockerfile b/Dockerfile
index 6c0d2515f..978b0d540 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,7 +9,7 @@ RUN dotnet publish \
--output /jellyfin \
Jellyfin.Server
-FROM jrottenberg/ffmpeg:4.0-vaapi as ffmpeg
+FROM jellyfin/ffmpeg as ffmpeg
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
# libfontconfig1 is required for Skia
RUN apt-get update \
diff --git a/Emby.Naming/Video/VideoListResolver.cs b/Emby.Naming/Video/VideoListResolver.cs
index ef97b8739..afedc30ef 100644
--- a/Emby.Naming/Video/VideoListResolver.cs
+++ b/Emby.Naming/Video/VideoListResolver.cs
@@ -175,25 +175,52 @@ namespace Emby.Naming.Video
return videos;
}
+ var list = new List<VideoInfo>();
+
var folderName = Path.GetFileName(Path.GetDirectoryName(videos[0].Files[0].Path));
if (!string.IsNullOrEmpty(folderName) && folderName.Length > 1)
{
- var ordered = videos.OrderBy(i => i.Name);
-
- return ordered.GroupBy(v => new {v.Name, v.Year}).Select(group => new VideoInfo
+ if (videos.All(i => i.Files.Count == 1 && IsEligibleForMultiVersion(folderName, i.Files[0].Path)))
{
- Name = folderName,
- Year = group.First().Year,
- Files = group.First().Files,
- AlternateVersions = group.Skip(1).Select(i => i.Files[0]).ToList(),
- Extras = group.First().Extras.Concat(group.Skip(1).SelectMany(i => i.Extras)).ToList()
- });
+ if (HaveSameYear(videos))
+ {
+ var ordered = videos.OrderBy(i => i.Name).ToList();
+
+ list.Add(ordered[0]);
+
+ list[0].AlternateVersions = ordered.Skip(1).Select(i => i.Files[0]).ToList();
+ list[0].Name = folderName;
+ list[0].Extras.AddRange(ordered.Skip(1).SelectMany(i => i.Extras));
+
+ return list;
+ }
+ }
}
return videos;
}
+ private bool HaveSameYear(List<VideoInfo> videos)
+ {
+ return videos.Select(i => i.Year ?? -1).Distinct().Count() < 2;
+ }
+
+ private bool IsEligibleForMultiVersion(string folderName, string testFilename)
+ {
+ testFilename = Path.GetFileNameWithoutExtension(testFilename) ?? string.Empty;
+
+ if (testFilename.StartsWith(folderName, StringComparison.OrdinalIgnoreCase))
+ {
+ testFilename = testFilename.Substring(folderName.Length).Trim();
+ return string.IsNullOrEmpty(testFilename) ||
+ testFilename.StartsWith("-") ||
+ string.IsNullOrWhiteSpace(Regex.Replace(testFilename, @"\[([^]]*)\]", string.Empty)) ;
+ }
+
+ return false;
+ }
+
private List<VideoFileInfo> GetExtras(IEnumerable<VideoFileInfo> remainingFiles, List<string> baseNames)
{
foreach (var name in baseNames.ToList())
diff --git a/SharedVersion.cs b/SharedVersion.cs
index 294748b77..41eda393a 100644
--- a/SharedVersion.cs
+++ b/SharedVersion.cs
@@ -1,4 +1,4 @@
using System.Reflection;
-[assembly: AssemblyVersion("10.2.0")]
-[assembly: AssemblyFileVersion("10.2.0")]
+[assembly: AssemblyVersion("10.2.1")]
+[assembly: AssemblyFileVersion("10.2.1")]
diff --git a/deployment/debian-package-x64/pkg-src/changelog b/deployment/debian-package-x64/pkg-src/changelog
index 869dc4a5e..7b7efff27 100644
--- a/deployment/debian-package-x64/pkg-src/changelog
+++ b/deployment/debian-package-x64/pkg-src/changelog
@@ -1,3 +1,19 @@
+jellyfin (10.2.1-1) unstable; urgency=medium
+
+ * jellyfin:
+ * PR920 Fix cachedir missing from Docker container
+ * PR924 Use the movie name instead of folder name
+ * PR933 Semi-revert to prefer old movie grouping behaviour
+ * PR948 Revert movie matching (supercedes PR933, PR924, PR739)
+ * PR960 Use jellyfin/ffmpeg image
+ * jellyfin-web:
+ * PR136 Re-add OpenSubtitles configuration page
+ * PR137 Replace HeaderEmbyServer with HeaderJellyfinServer on plugincatalog
+ * PR138 Remove left-over JS for Customize Home Screen
+ * PR141 Exit fullscreen automatically after video playback ends
+
+ -- Jellyfin Packaging Team <packaging@jellyfin.org> Wed, 20 Feb 2019 11:36:16 -0500
+
jellyfin (10.2.0-2) unstable; urgency=medium
* jellyfin:
diff --git a/deployment/fedora-package-x64/pkg-src/jellyfin.spec b/deployment/fedora-package-x64/pkg-src/jellyfin.spec
index 75821cb17..146486428 100644
--- a/deployment/fedora-package-x64/pkg-src/jellyfin.spec
+++ b/deployment/fedora-package-x64/pkg-src/jellyfin.spec
@@ -7,8 +7,8 @@
%endif
Name: jellyfin
-Version: 10.2.0
-Release: 2%{?dist}
+Version: 10.2.1
+Release: 1%{?dist}
Summary: The Free Software Media Browser
License: GPLv2
URL: https://jellyfin.media
@@ -140,6 +140,18 @@ fi
%systemd_postun_with_restart jellyfin.service
%changelog
+* Wed Feb 20 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
+- jellyfin:
+- PR920 Fix cachedir missing from Docker container
+- PR924 Use the movie name instead of folder name
+- PR933 Semi-revert to prefer old movie grouping behaviour
+- PR948 Revert movie matching (supercedes PR933, PR924, PR739)
+- PR960 Use jellyfin/ffmpeg image
+- jellyfin-web:
+- PR136 Re-add OpenSubtitles configuration page
+- PR137 Replace HeaderEmbyServer with HeaderJellyfinServer on plugincatalog
+- PR138 Remove left-over JS for Customize Home Screen
+- PR141 Exit fullscreen automatically after video playback ends
* Fri Feb 15 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
- jellyfin:
- PR452 Use EF Core for Activity database
diff --git a/deployment/windows/build-jellyfin.ps1 b/deployment/windows/build-jellyfin.ps1
index 1121c3398..2c83f264c 100644
--- a/deployment/windows/build-jellyfin.ps1
+++ b/deployment/windows/build-jellyfin.ps1
@@ -102,8 +102,8 @@ if($InstallNSSM.IsPresent -or ($InstallNSSM -eq $true)){
Write-Verbose "Starting NSSM Install"
Install-NSSM $InstallLocation $Architecture
}
-Copy-Item .\deployment\win-generic\install-jellyfin.ps1 $InstallLocation\install-jellyfin.ps1
-Copy-Item .\deployment\win-generic\install.bat $InstallLocation\install.bat
+Copy-Item .\deployment\windows\install-jellyfin.ps1 $InstallLocation\install-jellyfin.ps1
+Copy-Item .\deployment\windows\install.bat $InstallLocation\install.bat
if($GenerateZip.IsPresent -or ($GenerateZip -eq $true)){
Compress-Archive -Path $InstallLocation -DestinationPath "$InstallLocation/jellyfin.zip" -Force
}