chore: add diagnostic logging for pre-roll bumpers (v1.0.0.6)
All checks were successful
Publish Release / release (push) Successful in 13s
All checks were successful
Publish Release / release (push) Successful in 13s
Helps diagnose why a Trailer Pre-Roll/Feature Pre-Roll bumper isn't playing by logging invalid library IDs, empty library results, and the movie picked.
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>Jellyfin.Plugin.CinemaTrailers4Jellyfins</RootNamespace>
|
||||
<AssemblyVersion>1.0.0.5</AssemblyVersion>
|
||||
<FileVersion>1.0.0.5</FileVersion>
|
||||
<AssemblyVersion>1.0.0.6</AssemblyVersion>
|
||||
<FileVersion>1.0.0.6</FileVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateDocumentationFile>false</GenerateDocumentationFile>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
|
||||
@@ -91,7 +91,7 @@ namespace Jellyfin.Plugin.CinemaTrailers4Jellyfins.Services
|
||||
|
||||
if (preRollEnabled)
|
||||
{
|
||||
var preRoll = GetRandomLibraryMovieIntro(config.TrailerPreRollLibraryId, item.Id);
|
||||
var preRoll = GetRandomLibraryMovieIntro("Trailer Pre-Roll", config.TrailerPreRollLibraryId, item.Id);
|
||||
if (preRoll != null)
|
||||
intros.Add(preRoll);
|
||||
}
|
||||
@@ -145,7 +145,7 @@ namespace Jellyfin.Plugin.CinemaTrailers4Jellyfins.Services
|
||||
|
||||
if (featurePreRollEnabled)
|
||||
{
|
||||
var featureRoll = GetRandomLibraryMovieIntro(config.FeaturePreRollLibraryId, item.Id);
|
||||
var featureRoll = GetRandomLibraryMovieIntro("Feature Pre-Roll", config.FeaturePreRollLibraryId, item.Id);
|
||||
if (featureRoll != null)
|
||||
intros.Add(featureRoll);
|
||||
}
|
||||
@@ -157,10 +157,16 @@ namespace Jellyfin.Plugin.CinemaTrailers4Jellyfins.Services
|
||||
/// Picks a random Movie from the given Jellyfin library (VirtualFolder ItemId) to use as a
|
||||
/// pre-roll/post-roll bumper, excluding the item currently being played.
|
||||
/// </summary>
|
||||
private IntroInfo? GetRandomLibraryMovieIntro(string libraryId, Guid excludeId)
|
||||
private IntroInfo? GetRandomLibraryMovieIntro(string label, string libraryId, Guid excludeId)
|
||||
{
|
||||
if (!Guid.TryParse(libraryId, out var parsedId))
|
||||
{
|
||||
_logger.LogWarning(
|
||||
"|CinemaTrailers4Jellyfins| {Label} library ID '{LibraryId}' is not a valid GUID — check the plugin settings.",
|
||||
label,
|
||||
libraryId);
|
||||
return null;
|
||||
}
|
||||
|
||||
var movies = _libraryManager
|
||||
.GetItemList(new InternalItemsQuery
|
||||
@@ -174,9 +180,21 @@ namespace Jellyfin.Plugin.CinemaTrailers4Jellyfins.Services
|
||||
.ToList();
|
||||
|
||||
if (movies.Count == 0)
|
||||
{
|
||||
_logger.LogDebug(
|
||||
"|CinemaTrailers4Jellyfins| {Label} library {LibraryId} has no eligible Movie items. "
|
||||
+ "Ensure the library has been scanned and contains at least one other Movie.",
|
||||
label,
|
||||
parsedId);
|
||||
return null;
|
||||
}
|
||||
|
||||
var movie = movies[_rng.Next(movies.Count)];
|
||||
_logger.LogDebug(
|
||||
"|CinemaTrailers4Jellyfins| {Label}: picked '{Title}' ({Path}).",
|
||||
label,
|
||||
movie.Name,
|
||||
movie.Path);
|
||||
return new IntroInfo { ItemId = movie.Id, Path = movie.Path };
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user