using MediaBrowser.Model.Plugins; namespace Jellyfin.Plugin.Chaosflix.Configuration; /// /// Plugin configuration. /// public class PluginConfiguration : BasePluginConfiguration { /// /// Gets or sets the preferred video quality. /// public VideoQuality PreferredQuality { get; set; } = VideoQuality.High; /// /// Gets or sets the preferred language (ISO 639 code, e.g. "deu", "eng"). /// Empty means original language. /// public string PreferredLanguage { get; set; } = string.Empty; /// /// Gets or sets the preferred video format. /// public VideoFormat PreferredFormat { get; set; } = VideoFormat.Mp4; /// /// Gets or sets a value indicating whether a talk starts on a version every client /// can stream without a re-encode, leaving to order /// the versions behind it. /// public bool CompatibleDefaultVersion { get; set; } /// /// Gets or sets the conferences to show, separated by commas or newlines. An entry /// is either an acronym ("38c3") or a series as media.ccc.de files it in the slug /// ("congress", "gpn"), which also covers the editions not published yet. /// Empty means every conference, which is what the plugin did before this existed. /// public string ConferenceFilter { get; set; } = string.Empty; /// /// Gets or sets the streaming endpoint that reports which rooms are on air. /// Empty means the public one at streaming.media.ccc.de. /// public string StreamingBaseUrl { get; set; } = string.Empty; /// /// Gets or sets the CCC API endpoint. Empty means the public API at media.ccc.de; /// set it to use a mirror or, in the e2e tests, a local stand-in. /// public string ApiBaseUrl { get; set; } = string.Empty; } /// /// Video quality preference. /// public enum VideoQuality { /// High quality (1080p). High, /// Standard quality (576p). Standard } /// /// Video format preference. /// public enum VideoFormat { /// H.264 MP4. Mp4, /// WebM/VP9. WebM }