rocksdanister/lively · error · DepreciatedException
libmpvExt depreciated player selected.
Error message
libmpvExt depreciated player selected.
What it means
Thrown by WallpaperPluginFactory when Settings.VideoPlayer == LivelyMediaPlayer.libmpvExt, another deprecated external-libmpv backend. Same DepreciatedException mechanism as error 17; it blocks video wallpaper playback.
Source
Thrown at src/Lively/Lively/Factories/WallpaperPluginFactory.cs:85
lpFactory.CreateLivelyPropertyFolder(model, display, arrangement, userSettings),
GetWebView2UserDataDir(arrangement, display, isWindowed),
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);View on GitHub (pinned to c1036feb66)
Solutions
- Switch VideoPlayer to wmf, mpv, or libvlcExt.
- Sanitize persisted settings on load: remap any deprecated value to a supported default.
- Catch DepreciatedException at the launch boundary and surface a 'player no longer available, choose another' dialog.
Example fix
// before
case LivelyMediaPlayer.libmpvExt:
throw new DepreciatedException("libmpvExt depreciated player selected.");
// after — remap to mpv at settings-load time instead
static LivelyMediaPlayer Sanitize(LivelyMediaPlayer p) => p switch {
LivelyMediaPlayer.libmpv or LivelyMediaPlayer.libmpvExt => LivelyMediaPlayer.mpv,
_ => p,
}; Defensive patterns
Strategy: fallback
Validate before calling
var player = userSettings.Settings.VideoPlayer;
if (player is LivelyMediaPlayer.libmpvExt or LivelyMediaPlayer.libmpv or LivelyMediaPlayer.libvlc)
{
userSettings.Settings.VideoPlayer = LivelyMediaPlayer.mpv;
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("libmpvExt"))
{ userSettings.Settings.VideoPlayer = LivelyMediaPlayer.mpv; return factory.CreateVideoPlayer(model, display, arrangement); } Prevention
- Sanitize persisted settings on load, remapping deprecated players.
- Limit the settings UI to currently shipped backends.
- Auto-recover on DepreciatedException so users aren't stuck.
When it happens
Trigger: Loading a video wallpaper with VideoPlayer set to libmpvExt — the factory's libmpvExt case throws.
Common situations: Carried-over settings from a version that shipped libmpvExt; manual settings edit; the external mpv build was removed from the app.
Related errors
- libmpv depreciated player selected.
- libvlc 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/05d61412edc57eca.
Report an issue: GitHub.