Skip to content

fix(linux): append host GStreamer plugins to AppImage search path#424

Merged
koala73 merged 2 commits intomainfrom
fix/linux-gstreamer-host-plugins
Feb 26, 2026
Merged

fix(linux): append host GStreamer plugins to AppImage search path#424
koala73 merged 2 commits intomainfrom
fix/linux-gstreamer-host-plugins

Conversation

@koala73
Copy link
Owner

@koala73 koala73 commented Feb 26, 2026

Summary

  • Append host GStreamer plugin directories as fallback in AppImage mode so codec plugins (gst-libav, fakevideosink) from the host system are discoverable alongside bundled ones
  • Fix tauri.conf.json devUrl port mismatch (5173 → 3000) that broke desktop:dev
  • Fix live-channels YouTube validation to allow adding channels on non-OK API responses (429, 5xx)

Root cause

The linuxdeploy GStreamer hook force-overrides GST_PLUGIN_PATH_1_0 and GST_PLUGIN_SYSTEM_PATH_1_0 to only the bundled path. The AppImage bundles GStreamer 1.24 from Ubuntu 24.04 CI but doesn't include codec plugins. On hosts with newer GStreamer (e.g. Arch 1.28), those plugins are invisible to WebKit — video playback fails.

Test plan

  • Build AppImage on CI, test on Arch Linux — YouTube should play in Live Webcams
  • Run npm run desktop:dev — Tauri window should connect to Vite on port 3000
  • Add custom YouTube channel in live-channels window when API returns 429

## Changelog

- fix(linux): enable keyring persistence via Secret Service + keyutils (#419)
- fix(ci): use weston+XWayland for Linux smoke test (#417)
- ci: add standalone Test Linux App workflow (#414)
- ci: skip Typecheck and Lint on fork PRs (#415)
- perf: optimize Wingbits API usage and reduce unnecessary polling (#416)
The linuxdeploy GStreamer hook force-overrides GST_PLUGIN_PATH_1_0 and
GST_PLUGIN_SYSTEM_PATH_1_0 to only contain bundled plugins from the CI
build system (Ubuntu 24.04, GStreamer 1.24).  On hosts with newer
GStreamer (e.g. Arch 1.28), codec plugins like gst-libav and
fakevideosink from gst-plugins-bad are invisible — WebKit can't play
video.

Append common host GStreamer plugin directories as fallback so the
system's codec plugins are discoverable while bundled plugins retain
priority.

Also fixes:
- tauri.conf.json devUrl port mismatch (5173 → 3000) breaking desktop:dev
- live-channels-window YouTube validation allowing add on non-OK responses
@vercel
Copy link

vercel bot commented Feb 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
worldmonitor Building Building Preview, Comment Feb 26, 2026 4:22pm
worldmonitor-finance Building Building Preview, Comment Feb 26, 2026 4:22pm
worldmonitor-happy Building Building Preview, Comment Feb 26, 2026 4:22pm
worldmonitor-startup Building Building Preview, Comment Feb 26, 2026 4:22pm

Request Review

@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@koala73 koala73 merged commit 6f3d235 into main Feb 26, 2026
6 checks passed
koala73 added a commit that referenced this pull request Feb 26, 2026
Changes since v2.5.13:
- feat: add ARM64 Linux build target and download detection (#427)
- fix(live-channels): tolerate YouTube API failures when adding custom channels (#425)
- fix(linux): append host GStreamer plugins to AppImage search path (#424)
- fix(linux): enable keyring persistence via Secret Service + keyutils (#419)
@koala73 koala73 mentioned this pull request Feb 26, 2026
koala73 added a commit that referenced this pull request Feb 26, 2026
Changes since v2.5.13:
- feat: add ARM64 Linux build target and download detection (#427)
- fix(live-channels): tolerate YouTube API failures when adding custom channels (#425)
- fix(linux): append host GStreamer plugins to AppImage search path (#424)
- fix(linux): enable keyring persistence via Secret Service + keyutils (#419)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant