Streaming Plugin Glossary

June 1, 2026 · View on GitHub

Common terminology used across Lidarr streaming plugins (Tidalarr, Qobuzarr, Brainarr).

Audio Quality Terms

Bitrate

The amount of data processed per second. Higher bitrate generally means better quality.

  • 320 kbps: High-quality MP3 (lossy compression)
  • 1411 kbps: CD quality (16-bit/44.1kHz FLAC)
  • 4608 kbps: Hi-Res (24-bit/96kHz FLAC)
  • 9216 kbps: Maximum Hi-Res (24-bit/192kHz FLAC)

Lossless

Audio format that preserves all original audio data without compression artifacts. FLAC is the most common lossless format. Contrast with "lossy" formats like MP3.

Hi-Res / Hi-Res Audio

Audio with resolution higher than CD quality (16-bit/44.1kHz). Typically 24-bit at 96kHz or 192kHz sample rates.

Sample Rate

How many times per second audio is sampled. Measured in Hz or kHz.

  • 44.1 kHz: CD quality
  • 48 kHz: Standard for video
  • 96 kHz: Hi-Res
  • 192 kHz: Maximum Hi-Res

Bit Depth

The number of bits used to represent each sample.

  • 16-bit: CD quality, 65,536 possible values
  • 24-bit: Hi-Res, 16.7 million possible values

MQA (Master Quality Authenticated)

Tidal's proprietary format that encodes high-resolution audio in a smaller file. Requires MQA-capable hardware for full quality.

FLAC (Free Lossless Audio Codec)

Open-source lossless audio format. Used by Qobuz, Tidal (non-MQA), and most high-quality downloads.

AAC (Advanced Audio Coding)

Lossy audio format, often better quality than MP3 at same bitrate. Used in M4A containers.

M4A

Container format that can hold AAC (lossy) or ALAC (lossless) audio. Tidal uses M4A containers.

Authentication Terms

OAuth 2.0

Industry-standard authorization protocol. Allows plugins to access streaming services on your behalf without storing your password.

PKCE (Proof Key for Code Exchange)

Security extension for OAuth 2.0, prevents authorization code interception attacks. Pronounced "pixie."

Access Token

Short-lived credential that authorizes API requests. Typically expires in minutes to hours.

Refresh Token

Long-lived credential used to obtain new access tokens without re-authentication.

App ID / Client ID

Unique identifier for the application accessing the API. Required for authentication.

App Secret / Client Secret

Secret key paired with App ID. Should be kept confidential.

Plugin Architecture Terms

HostBridge

Subsystem of helpers lifted from identical implementations across streaming plugins. Provides download orchestration, runtime caching, size estimation, path safety, and placeholder URI round-tripping. → HOSTBRIDGE.md

StreamingPlugin

Base class (StreamingPlugin<TModule, TSettings>) that wires DI, settings lifecycle, manifest loading, and the host bridge for a streaming-service plugin. → Plugin Bridge

StreamingPluginModule

Base class for streaming-service plugin modules. Handles DI registration and service wiring.

PluginPack

PowerShell module (tools/PluginPack.psm1) that standardizes build, manifest validation, and ZIP packaging for Lidarr plugins. → PACKAGING.md

AuthFailureGate

A per-endpoint circuit that tracks authentication failures and trips when a threshold is reached. Used with IAuthFailureHandler implementations (e.g., SlidingWindowAuthFailureHandler).

PluginCapability

Attribute/tag system that declares which capabilities a plugin provides (Indexer, DownloadClient, ImportList).

TestKit

Reusable test infrastructure for Lidarr plugins: HTTP handler fakes, ALC harnesses, fixture caching, and ecosystem-parity guard tests. → Testing with the TestKit

Parity Lint

Automated lint that enforces API and behavioural consistency across the streaming-plugin family (Tidalarr, Qobuzarr, AppleMusicarr, Brainarr).

Runtime Cache

HostBridgeRuntimeCache<TRuntime, TSettings> — per-plugin singleton cache keyed on settings instance, for storing runtime state that survives client re-instantiation.

PluginManifest

plugin.json metadata file describing the plugin: name, version, capabilities, and assembly references. → MANIFEST.md

Bridge Defaults

Convention-based default settings and service registrations that the streaming plugin bridge applies automatically when no override is provided.

SettingDefinition

Describes a single plugin setting: key, display name, type, required/sensitive flags, and default value. Used by ISettingsProvider.Describe().

Plugin Architecture Terms (legacy)

Indexer

Component that searches the streaming service for content. Returns search results to Lidarr.

Download Client

Component that downloads content from the streaming service. Handles file transfer and storage.

Import List

Component that recommends or imports content into Lidarr. Used by Brainarr for AI recommendations.

ALC (AssemblyLoadContext)

.NET mechanism for loading assemblies in isolation. Allows plugins to run without conflicting with each other.

Abstractions

Shared interfaces between host (Lidarr) and plugins. Defines the contract plugins must implement.

Common Library (Lidarr.Plugin.Common)

Shared utility library providing HTTP clients, authentication, caching, and other infrastructure.

Streaming Service Terms

Region / Market

Geographic area for content availability. Some content is restricted to certain regions.

Catalog

The complete library of content available on a streaming service.

Track ID / Album ID

Unique identifier for content on the streaming service. Used for downloads and metadata lookup.

Manifest

Metadata file describing available audio streams. Used for adaptive streaming and quality selection.

DASH (Dynamic Adaptive Streaming over HTTP)

Streaming protocol that adapts quality based on network conditions. Used by Tidal.

Caching Terms

Cache Hit

When requested data is found in the cache, avoiding an API call.

Cache Miss

When requested data is NOT in cache, requiring an API call.

TTL (Time To Live)

How long cached data remains valid before expiring.

ETag

HTTP header for cache validation. Allows checking if content changed without re-downloading.

304 Not Modified

HTTP response indicating cached content is still valid.

Rate Limiting Terms

Rate Limit

Maximum number of API requests allowed in a time period. Exceeding causes errors.

Backoff

Waiting period after hitting rate limits. Can be exponential (increasing delays).

Throttling

Slowing down request rate to stay within limits.

Circuit Breaker

Pattern that stops requests to a failing service temporarily, preventing cascade failures.

AI Provider Terms (Brainarr)

Provider

AI service that generates recommendations (OpenAI, Anthropic, Ollama, etc.).

Model

Specific AI model within a provider (GPT-4, Claude, Llama, etc.).

Token

Unit of text for AI processing. Roughly 4 characters in English.

Token Budget

Maximum tokens allowed for a request. Affects response length and cost.

Extended Thinking

Anthropic's feature allowing Claude to "think" before responding, improving complex reasoning.

Discovery Mode

How adventurous recommendations should be:

  • Similar: Stay close to existing library
  • Adjacent: Explore related genres
  • Exploratory: Discover new territory

Failover

Automatic switching to backup provider when primary fails.

Local Provider

AI running on your own hardware (Ollama, LM Studio). No API costs, full privacy.

Cloud Provider

AI service running on provider's servers (OpenAI, Anthropic). Requires API key, may incur costs.

Lidarr Terms

Root Folder

Directory where Lidarr stores downloaded music.

Quality Profile

Settings defining acceptable audio quality for downloads.

Metadata

Information about music: artist names, album titles, track listings, cover art.

Tagging

Writing metadata into audio files (artist, title, album, etc.).

Import

Moving/copying downloaded files to the library and updating the database.

Error Terms

401 Unauthorized

Authentication failed. Usually means invalid or expired credentials.

403 Forbidden

Access denied. May indicate subscription level or geographic restrictions.

429 Too Many Requests

Rate limit exceeded. Wait before retrying.

500 Internal Server Error

Server-side problem. Usually temporary, retry later.

503 Service Unavailable

Service temporarily down. Retry later.


See Also