Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
PlaylistURL string
DBPath string
LogDir string
HTTPAddr string
LegacyHTTPAddr string
UPnPEnabled bool
UPnPAddr string
UPnPNotifyInterval time.Duration
UPnPMaxAge time.Duration
UPnPContentDirectoryUpdateIDCacheTTL time.Duration
PrimaryTunerCount int
TunerCount int
PlaylistSources []PlaylistSourceConfig
PlaylistSourcesStartupAuthoritative bool
TraditionalGuideStart int
FriendlyName string
DeviceID string
DeviceAuth string
RefreshSchedule string
PlaylistSyncSourceConcurrency int
ReconcileDynamicRulePaged bool
FFmpegPath string
FFprobePath string
StreamMode string
StartupTimeout time.Duration
StartupRandomAccessRecoveryOnly bool
MinProbeBytes int
MaxFailovers int
FailoverTotalTimeout time.Duration
UpstreamOverlimitCooldown time.Duration
FFmpegReconnectEnabled bool
FFmpegReconnectDelayMax time.Duration
FFmpegReconnectMaxRetries int
FFmpegReconnectHTTPErrors string
FFmpegRWTimeout time.Duration
FFmpegStartupProbeSize int
FFmpegStartupAnalyzeDuration time.Duration
FFmpegInputBufferSize int
FFmpegDiscardCorrupt bool
FFmpegCopyRegenerateTimestamps bool
FFmpegSourceLogLevel string
FFmpegSourceStderrPassthroughEnabled bool
FFmpegSourceStderrLogLevel string
FFmpegSourceStderrMaxLineBytes int
ProducerReadRate float64
ProducerReadRateCatchup float64
ProducerInitialBurst int
BufferChunkBytes int
BufferFlushInterval time.Duration
BufferTSAlign188 bool
StallDetect time.Duration
StallHardDeadline time.Duration
StallPolicy string
StallMaxFailovers int
CycleFailureMinHealth time.Duration
RecoveryFillerEnabled bool
RecoveryFillerMode string
RecoveryFillerInterval time.Duration
RecoveryFillerText string
RecoveryFillerEnableAudio bool
SubscriberJoinLag int
SubscriberSlowPolicy string
SubscriberMaxBlocked time.Duration
SessionIdleTimeout time.Duration
SessionDrainTimeout time.Duration
SessionMaxSubscribers int
SessionHistoryLimit int
SessionSourceHistoryLimit int
SessionSubscriberHistoryLimit int
SourceHealthDrainTimeout time.Duration
PreemptSettleDelay time.Duration
AutoPrioritizeProbeTuneDelay time.Duration
AutoPrioritizeWorkers string
ProbeInterval time.Duration
ProbeTimeout time.Duration
AdminBasicAuth string
AdminJSONBodyLimitBytes int64
DVRLineupReloadTimeout time.Duration
RequestTimeout time.Duration
RateLimitRPS float64
RateLimitBurst int
RateLimitMaxClients int
RateLimitTrustedProxies []string
TuneBackoffMaxTunes int
TuneBackoffInterval time.Duration
TuneBackoffCooldown time.Duration
EnableMetrics bool
HTTPRequestLogEnabled bool
LogLevel string
CatalogSearchMaxTerms int
CatalogSearchMaxDisjuncts int
CatalogSearchMaxTermRunes int
// contains filtered or unexported fields
}
Config carries runtime settings from CLI flags and environment variables.
func (Config) DiscoveryAdvertisedTunerCount ¶ added in v1.1.0
DiscoveryAdvertisedTunerCount returns tuner count exposed on discovery endpoints.
func (Config) DiscoveryTunerCountCapped ¶ added in v1.1.0
DiscoveryTunerCountCapped reports whether discovery is capped below internal capacity.
func (Config) Redacted ¶
func (c Config) Redacted() RedactedConfig
type PlaylistSourceConfig ¶ added in v1.1.0
PlaylistSourceConfig describes one resolved playlist source from startup config.
type RedactedConfig ¶
type RedactedConfig struct {
PlaylistURLConfigured bool `json:"playlist_url_configured"`
DBPath string `json:"db_path"`
LogDir string `json:"log_dir"`
HTTPAddr string `json:"http_addr"`
LegacyHTTPAddr string `json:"legacy_http_addr,omitempty"`
UPnPEnabled bool `json:"upnp_enabled"`
UPnPAddr string `json:"upnp_addr"`
UPnPNotifyInterval string `json:"upnp_notify_interval"`
UPnPMaxAge string `json:"upnp_max_age"`
UPnPContentDirectoryUpdateIDCacheTTL string `json:"upnp_content_directory_update_id_cache_ttl"`
PrimaryTunerCount int `json:"primary_tuner_count"`
TunerCount int `json:"tuner_count"`
PlaylistSourceCount int `json:"playlist_source_count"`
PlaylistSourcesStartupAuthoritative bool `json:"playlist_sources_startup_authoritative"`
DiscoveryTunerCount int `json:"discovery_tuner_count"`
DiscoveryTunerCountCapped bool `json:"discovery_tuner_count_capped"`
TraditionalGuideStart int `json:"traditional_guide_start"`
FriendlyName string `json:"friendly_name"`
DeviceID string `json:"device_id"`
DeviceAuthConfigured bool `json:"device_auth_configured"`
RefreshSchedule string `json:"refresh_schedule,omitempty"`
PlaylistSyncSourceConcurrency int `json:"playlist_sync_source_concurrency"`
ReconcileDynamicRulePaged bool `json:"reconcile_dynamic_rule_paged"`
FFmpegPath string `json:"ffmpeg_path"`
FFprobePath string `json:"ffprobe_path"`
StreamMode string `json:"stream_mode"`
StartupTimeout string `json:"startup_timeout"`
StartupRandomAccessRecoveryOnly bool `json:"startup_random_access_recovery_only"`
MinProbeBytes int `json:"min_probe_bytes"`
MaxFailovers int `json:"max_failovers"`
FailoverTotalTimeout string `json:"failover_total_timeout"`
UpstreamOverlimitCooldown string `json:"upstream_overlimit_cooldown"`
FFmpegReconnectEnabled bool `json:"ffmpeg_reconnect_enabled"`
FFmpegReconnectDelayMax string `json:"ffmpeg_reconnect_delay_max"`
FFmpegReconnectMaxRetries int `json:"ffmpeg_reconnect_max_retries"`
FFmpegReconnectHTTPErrors string `json:"ffmpeg_reconnect_http_errors"`
FFmpegRWTimeout string `json:"ffmpeg_rw_timeout"`
FFmpegStartupProbeSize int `json:"ffmpeg_startup_probesize"`
FFmpegStartupAnalyzeDuration string `json:"ffmpeg_startup_analyzeduration"`
FFmpegInputBufferSize int `json:"ffmpeg_input_buffer_size"`
FFmpegDiscardCorrupt bool `json:"ffmpeg_discard_corrupt"`
FFmpegCopyRegenerateTimestamps bool `json:"ffmpeg_copy_regenerate_timestamps"`
FFmpegSourceLogLevel string `json:"ffmpeg_source_log_level"`
FFmpegSourceStderrPassthroughEnabled bool `json:"ffmpeg_source_stderr_passthrough_enabled"`
FFmpegSourceStderrLogLevel string `json:"ffmpeg_source_stderr_log_level"`
FFmpegSourceStderrMaxLineBytes int `json:"ffmpeg_source_stderr_max_line_bytes"`
ProducerReadRate string `json:"producer_readrate"`
ProducerReadRateCatchup string `json:"producer_readrate_catchup"`
ProducerInitialBurst int `json:"producer_initial_burst"`
BufferChunkBytes int `json:"buffer_chunk_bytes"`
BufferFlushInterval string `json:"buffer_flush_interval"`
BufferTSAlign188 bool `json:"buffer_ts_align_188"`
StallDetect string `json:"stall_detect"`
StallHardDeadline string `json:"stall_hard_deadline"`
StallPolicy string `json:"stall_policy"`
StallMaxFailovers int `json:"stall_max_failovers"`
CycleFailureMinHealth string `json:"cycle_failure_min_health"`
RecoveryFillerEnabled bool `json:"recovery_filler_enabled"`
RecoveryFillerMode string `json:"recovery_filler_mode"`
RecoveryFillerInterval string `json:"recovery_filler_interval"`
RecoveryFillerText string `json:"recovery_filler_text"`
RecoveryFillerEnableAudio bool `json:"recovery_filler_enable_audio"`
SubscriberJoinLag int `json:"subscriber_join_lag"`
SubscriberSlowPolicy string `json:"subscriber_slow_policy"`
SubscriberMaxBlocked string `json:"subscriber_max_blocked"`
SessionIdleTimeout string `json:"session_idle_timeout"`
SessionDrainTimeout string `json:"session_drain_timeout"`
SessionMaxSubscribers int `json:"session_max_subscribers"`
SessionHistoryLimit int `json:"session_history_limit"`
SessionSourceHistoryLimit int `json:"session_source_history_limit"`
SessionSubscriberHistoryLimit int `json:"session_subscriber_history_limit"`
SourceHealthDrainTimeout string `json:"source_health_drain_timeout"`
PreemptSettleDelay string `json:"preempt_settle_delay"`
AutoPrioritizeProbeTuneDelay string `json:"auto_prioritize_probe_tune_delay"`
AutoPrioritizeWorkers string `json:"auto_prioritize_workers"`
ProbeInterval string `json:"probe_interval"`
ProbeTimeout string `json:"probe_timeout"`
AdminAuthConfigured bool `json:"admin_auth_configured"`
AdminJSONBodyLimitBytes int64 `json:"admin_json_body_limit_bytes"`
DVRLineupReloadTimeout string `json:"dvr_lineup_reload_timeout"`
RequestTimeout string `json:"request_timeout"`
RateLimitRPS string `json:"rate_limit_rps"`
RateLimitBurst int `json:"rate_limit_burst"`
RateLimitMaxClients int `json:"rate_limit_max_clients"`
RateLimitTrustedProxies []string `json:"rate_limit_trusted_proxies,omitempty"`
TuneBackoffMaxTunes int `json:"tune_backoff_max_tunes"`
TuneBackoffInterval string `json:"tune_backoff_interval"`
TuneBackoffCooldown string `json:"tune_backoff_cooldown"`
EnableMetrics bool `json:"enable_metrics"`
HTTPRequestLogEnabled bool `json:"http_request_log_enabled"`
LogLevel string `json:"log_level"`
CatalogSearchMaxTerms int `json:"catalog_search_max_terms"`
CatalogSearchMaxDisjuncts int `json:"catalog_search_max_disjuncts"`
CatalogSearchMaxTermRunes int `json:"catalog_search_max_term_runes"`
}
RedactedConfig is safe for logs and startup output.
Click to show internal directories.
Click to hide internal directories.