fix(media): correct VA plugin package names in diagnostics hints
- commit
- cc61e7769adeea011389b8fae2c260407464a074
- author
- bnema · · 2025-12-18 19:06 UTC
- parent
- 1618c29
- signature
- unsigned
1 file · +5 -4
M internal/infrastructure/media/diagnostics.go +5 -4
| @@ -62,7 +62,8 @@ func (a *Adapter) checkGStreamerPlugins(ctx context.Context, r *port.MediaDiagno | |||
| 62 | 62 | } | |
| 63 | 63 | r.GStreamerAvailable = true | |
| 64 | 64 | ||
| 65 | - | // Check 'va' plugin (modern stateless decoders in gst-plugins-bad) | |
| 65 | + | // Check 'va' plugin (modern stateless decoders) | |
| 66 | + | // Package: gst-plugin-va (Arch) or gstreamer1.0-plugins-bad (Debian/Ubuntu) | |
| 66 | 67 | if out, err := exec.CommandContext(ctx, gstInspect, "va").Output(); err == nil { | |
| 67 | 68 | r.HasVAPlugin = true | |
| 68 | 69 | a.parseVADecoders(string(out), r) | |
| @@ -224,9 +225,9 @@ func (a *Adapter) generateWarnings(r *port.MediaDiagnosticsResult) { | |||
| 224 | 225 | r.Warnings = append(r.Warnings, | |
| 225 | 226 | "No hardware video acceleration detected. Video will use software decoding (higher CPU).") | |
| 226 | 227 | r.Warnings = append(r.Warnings, | |
| 227 | - | "Install gst-plugins-bad for VA decoders, plus VA-API driver for your GPU:") | |
| 228 | + | "Install VA plugin: gst-plugin-va (Arch) or gstreamer1.0-plugins-bad (Debian/Ubuntu)") | |
| 228 | 229 | r.Warnings = append(r.Warnings, | |
| 229 | - | " AMD: libva-mesa-driver | Intel: intel-media-driver | NVIDIA: nvidia-vaapi-driver") | |
| 230 | + | "Install VA-API driver: libva-mesa-driver (AMD) | intel-media-driver (Intel) | nvidia-vaapi-driver (NVIDIA)") | |
| 230 | 231 | } | |
| 231 | 232 | ||
| 232 | 233 | // AV1 is the preferred codec - warn if not available | |
| @@ -244,6 +245,6 @@ func (a *Adapter) generateWarnings(r *port.MediaDiagnosticsResult) { | |||
| 244 | 245 | // Prefer modern VA plugin over legacy VAAPI | |
| 245 | 246 | if r.HasVAAPIPlugin && !r.HasVAPlugin { | |
| 246 | 247 | r.Warnings = append(r.Warnings, | |
| 247 | - | "Using legacy gstreamer-vaapi. Consider gst-plugins-bad for newer VA stateless decoders.") | |
| 248 | + | "Using legacy gstreamer-vaapi. Install gst-plugin-va (Arch) or gstreamer1.0-plugins-bad (Debian/Ubuntu) for modern VA stateless decoders.") | |
| 248 | 249 | } | |
| 249 | 250 | } | |
| @@ -62,7 +62,8 @@ func (a *Adapter) checkGStreamerPlugins(ctx context.Context, r *port.MediaDiagno | |||||
| 62 | } | 62 | } | ||
| 63 | r.GStreamerAvailable = true | 63 | r.GStreamerAvailable = true | ||
| 64 | 64 | ||||
| 65 | - | // Check 'va' plugin (modern stateless decoders in gst-plugins-bad) | 65 | + | // Check 'va' plugin (modern stateless decoders) |
| 66 | + | // Package: gst-plugin-va (Arch) or gstreamer1.0-plugins-bad (Debian/Ubuntu) | |||
| 66 | if out, err := exec.CommandContext(ctx, gstInspect, "va").Output(); err == nil { | 67 | if out, err := exec.CommandContext(ctx, gstInspect, "va").Output(); err == nil { | ||
| 67 | r.HasVAPlugin = true | 68 | r.HasVAPlugin = true | ||
| 68 | a.parseVADecoders(string(out), r) | 69 | a.parseVADecoders(string(out), r) | ||
| @@ -224,9 +225,9 @@ func (a *Adapter) generateWarnings(r *port.MediaDiagnosticsResult) { | |||||
| 224 | r.Warnings = append(r.Warnings, | 225 | r.Warnings = append(r.Warnings, | ||
| 225 | "No hardware video acceleration detected. Video will use software decoding (higher CPU).") | 226 | "No hardware video acceleration detected. Video will use software decoding (higher CPU).") | ||
| 226 | r.Warnings = append(r.Warnings, | 227 | r.Warnings = append(r.Warnings, | ||
| 227 | - | "Install gst-plugins-bad for VA decoders, plus VA-API driver for your GPU:") | 228 | + | "Install VA plugin: gst-plugin-va (Arch) or gstreamer1.0-plugins-bad (Debian/Ubuntu)") |
| 228 | r.Warnings = append(r.Warnings, | 229 | r.Warnings = append(r.Warnings, | ||
| 229 | - | " AMD: libva-mesa-driver | Intel: intel-media-driver | NVIDIA: nvidia-vaapi-driver") | 230 | + | "Install VA-API driver: libva-mesa-driver (AMD) | intel-media-driver (Intel) | nvidia-vaapi-driver (NVIDIA)") |
| 230 | } | 231 | } | ||
| 231 | 232 | ||||
| 232 | // AV1 is the preferred codec - warn if not available | 233 | // AV1 is the preferred codec - warn if not available | ||
| @@ -244,6 +245,6 @@ func (a *Adapter) generateWarnings(r *port.MediaDiagnosticsResult) { | |||||
| 244 | // Prefer modern VA plugin over legacy VAAPI | 245 | // Prefer modern VA plugin over legacy VAAPI | ||
| 245 | if r.HasVAAPIPlugin && !r.HasVAPlugin { | 246 | if r.HasVAAPIPlugin && !r.HasVAPlugin { | ||
| 246 | r.Warnings = append(r.Warnings, | 247 | r.Warnings = append(r.Warnings, | ||
| 247 | - | "Using legacy gstreamer-vaapi. Consider gst-plugins-bad for newer VA stateless decoders.") | 248 | + | "Using legacy gstreamer-vaapi. Install gst-plugin-va (Arch) or gstreamer1.0-plugins-bad (Debian/Ubuntu) for modern VA stateless decoders.") |
| 248 | } | 249 | } | ||
| 249 | } | 250 | } | ||