#pragma warning disable SA1313 // Parameter names should begin with lower-case letter using System.Collections.Generic; using Jellyfin.Database.Implementations.Entities; namespace Jellyfin.Database.Implementations.MatchCriteria; /// /// Matches folders containing descendants with a specific media stream type and language. /// /// The type of media stream to match (Audio, Subtitle, etc.). /// List of languages to match. /// If not null, filters by internal (false) or external (true) streams. Only applicable to subtitles. public sealed record HasMediaStreamType( MediaStreamTypeEntity StreamType, IReadOnlyCollection Language, bool? IsExternal = null) : FolderMatchCriteria { /// /// Initializes a new instance of the class. /// /// The type of media stream to match (Audio, Subtitle, etc.). /// The language to match. /// If not null, filters by internal (false) or external (true) streams. Only applicable to subtitles. public HasMediaStreamType( MediaStreamTypeEntity StreamType, string Language, bool? IsExternal = null) : this(StreamType, [Language], IsExternal) { } }