From e263e9c2b129ef20c696ce458e00cd4d3367c520 Mon Sep 17 00:00:00 2001 From: Cody Robibero Date: Wed, 4 May 2022 08:19:43 -0600 Subject: [PATCH] Merge pull request #7544 from jaantaponen/long-filename-fix (cherry picked from commit 8a1eca09138d50c033b100a63e5f51d18e3669bb) Signed-off-by: crobibero --- .../LiveTv/EmbyTV/RecordingHelper.cs | 11 +++++++++-- .../LiveTv/RecordingHelperTests.cs | 11 +++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs index 32245f899e..6ad9ccdf6e 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs @@ -3,6 +3,7 @@ using System; using System.Globalization; using MediaBrowser.Controller.LiveTv; +using System.Text; namespace Emby.Server.Implementations.LiveTv.EmbyTV { @@ -48,12 +49,18 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (!string.IsNullOrWhiteSpace(info.EpisodeTitle)) { + var tmpName = name; if (addHyphen) { - name += " -"; + tmpName += " -"; } - name += " " + info.EpisodeTitle; + tmpName += " " + info.EpisodeTitle; + // Since the filename will be used with file ext. (.mp4, .ts, etc) + if (Encoding.UTF8.GetByteCount(tmpName) < 250) + { + name = tmpName; + } } } else if (info.IsMovie && info.ProductionYear != null) diff --git a/tests/Jellyfin.Server.Implementations.Tests/LiveTv/RecordingHelperTests.cs b/tests/Jellyfin.Server.Implementations.Tests/LiveTv/RecordingHelperTests.cs index 09aec82b07..f107b1ef97 100644 --- a/tests/Jellyfin.Server.Implementations.Tests/LiveTv/RecordingHelperTests.cs +++ b/tests/Jellyfin.Server.Implementations.Tests/LiveTv/RecordingHelperTests.cs @@ -85,6 +85,17 @@ namespace Jellyfin.Server.Implementations.Tests.LiveTv EpisodeTitle = "The VCR Illumination" }); + data.Add( + "Lorem ipsum dolor sit amet: consect 2018_12_06_21_06_00", + new TimerInfo + { + Name = "Lorem ipsum dolor sit amet: consect", + IsProgramSeries = true, + StartDate = new DateTime(2018, 12, 6, 21, 6, 0, DateTimeKind.Local), + OriginalAirDate = new DateTime(2018, 12, 6), + EpisodeTitle = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor" + }); + return data; }