Fix XMLTV edge case where title & sub-title causes a too long filename error

Limit the series title to 241 bytes (so file extensions can be added).
If the end result is longer, the title will be dropped and only series name
with timestamp is used.
This commit is contained in:
JaanTaponen
2022-04-17 16:46:01 +03:00
parent 1d585146d6
commit 2b7d139b5b
2 changed files with 22 additions and 3 deletions

View File

@@ -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,19 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
if (!string.IsNullOrWhiteSpace(info.EpisodeTitle))
{
var tmpName = name;
if (addHyphen)
{
name += " -";
tmpName += " -";
}
// Calculate the length of the resulting filename
var recordingNameLength = Encoding.UTF8.GetByteCount(tmpName) + Encoding.UTF8.GetByteCount(info.EpisodeTitle);
// Since the filename will be used with file ext. (.mp4, .ts, etc)
if (recordingNameLength < 250)
{
tmpName += " " + info.EpisodeTitle;
name = tmpName;
}
name += " " + info.EpisodeTitle;
}
}
else if (info.IsMovie && info.ProductionYear != null)