rocksdanister/lively · error · DepreciatedException
libvlc depreciated player selected.
Error message
libvlc depreciated player selected.
What it means
Thrown by WallpaperPluginFactory when Settings.VideoPlayer == LivelyMediaPlayer.libvlc — the in-process libvlc backend is deprecated (libvlcExt remains supported). DepreciatedException fires for every video wallpaper load. Note libvlcExt is handled separately and returns a player instance, so only the bare libvlc value is fatal.
Source
Thrown at src/Lively/Lively/Factories/WallpaperPluginFactory.cs:87
userSettings.Settings.ApplicationTheme,
userSettings.Settings.AudioVolumeGlobal,
GetWebView2Scale(display, isWindowed),
userSettings.Settings.VisualizerAudioDeviceId);
}
break;
case WallpaperType.video:
//How many videoplayers you need? Yes.
switch (userSettings.Settings.VideoPlayer)
{
case LivelyMediaPlayer.wmf:
return new VideoWmfProcess(model.FilePath, model,
display, 0, userSettings.Settings.WallpaperScaling);
case LivelyMediaPlayer.libmpv:
throw new DepreciatedException("libmpv depreciated player selected.");
case LivelyMediaPlayer.libmpvExt:
throw new DepreciatedException("libmpvExt depreciated player selected.");
case LivelyMediaPlayer.libvlc:
throw new DepreciatedException("libvlc depreciated player selected.");
case LivelyMediaPlayer.libvlcExt:
return new VideoLibVlcPlayer(model.FilePath,
model,
display,
lpFactory.CreateLivelyPropertyFolder(model, display, arrangement, userSettings),
userSettings.Settings.ApplicationTheme,
userSettings.Settings.AudioVolumeGlobal,
userSettings.Settings.VideoPlayerHwAccel);
case LivelyMediaPlayer.mpv:
return new VideoMpvPlayer(model.FilePath,
model,
display,
lpFactory.CreateLivelyPropertyFolder(model, display, arrangement, userSettings),
userSettings.Settings.VideoPlayerHwAccel,
isWindowed: isWindowed,
userSettings.Settings.VideoTargetColorSpaceMode);
case LivelyMediaPlayer.vlc:
return new VideoVlcPlayer(model.FilePath, View on GitHub (pinned to c1036feb66)
Solutions
- Set VideoPlayer to libvlcExt (external VLC, still supported) or to wmf/mpv.
- On settings load, remap libvlc -> libvlcExt automatically and inform the user.
- Catch DepreciatedException at launch and prompt to pick a supported player.
Example fix
// before
case LivelyMediaPlayer.libvlc:
throw new DepreciatedException("libvlc depreciated player selected.");
// after — transparently migrate to the still-supported external variant
case LivelyMediaPlayer.libvlc:
goto case LivelyMediaPlayer.libvlcExt; Defensive patterns
Strategy: fallback
Validate before calling
var player = userSettings.Settings.VideoPlayer;
if (player == LivelyMediaPlayer.libvlc)
{
userSettings.Settings.VideoPlayer = LivelyMediaPlayer.libvlcExt; // still supported
await userSettings.SaveAsync();
} Type guard
static bool IsSupportedVideoPlayer(LivelyMediaPlayer p)
=> p is LivelyMediaPlayer.wmf or LivelyMediaPlayer.mpv or LivelyMediaPlayer.libvlcExt; Try / catch
try { return factory.CreateVideoPlayer(model, display, arrangement); }
catch (DepreciatedException ex) when (ex.Message.Contains("libvlc"))
{ userSettings.Settings.VideoPlayer = LivelyMediaPlayer.libvlcExt; return factory.CreateVideoPlayer(model, display, arrangement); } Prevention
- Remap bare libvlc to libvlcExt on settings load (transparent migration).
- Expose only supported backends in the picker UI.
- Catch DepreciatedException at launch and prompt or auto-switch.
When it happens
Trigger: Loading a video wallpaper with VideoPlayer set to libvlc (not libvlcExt) — the factory's libvlc case throws.
Common situations: Old settings persisted with 'libvlc'; manual edit; the in-process libvlc backend was dropped while the external one (libvlcExt) stayed.
Related errors
- libmpv depreciated player selected.
- libmpvExt depreciated player selected.
- xaml island gif player not available.
- Wallpaper player not found.
- LivelyInfo.json not found
AI-assisted analysis of rocksdanister/lively@c1036feb66 (2026-08-13).
Data as JSON: /api/errors/3095805e7d3c43bf.
Report an issue: GitHub.