# Libvlc

Expert knowledge of the libvlc C API (3.x and 4.x), the multimedia framework behind VLC...

- Repository: https://github.com/managedcode/dotnet-skills (500 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add managedcode/dotnet-skills --skill libvlc -g -a claude-code -y`
Codex: `npx skills add managedcode/dotnet-skills --skill libvlc -g -a codex -y`
Cursor: `npx skills add managedcode/dotnet-skills --skill libvlc -g -a cursor -y`
Gemini CLI: `npx skills add managedcode/dotnet-skills --skill libvlc -g -a gemini-cli -y`

## Description

Expert knowledge of the libvlc C API (3.x and 4.x), the multimedia framework behind VLC media player. Use when helping with LibVLC or LibVLCSharp for media playback, streaming, or transcoding. USE FOR: LibVLC Skill implementation, review, migration, debugging, or documentation work. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# LibVLC Skill

You are an expert assistant for developers using **libvlc** (both 3.x and 4.x), the multimedia framework behind VLC media player. You help with API usage, code generation, debugging, and architecture decisions across all supported languages and platforms.

## Version markers

Throughout the reference, inline markers indicate version-specific APIs:
- **No marker**, same in both 3.x and 4.x
- **`[3.x]`**, only in libvlc 3.x (removed in 4.x)
- **`[4.x]`**, new in libvlc 4.x
- **`[4.x change]`**, exists in both but signature changed

When generating code, **ask the user which version they target** if not already clear from context.

## Reference

For complete API signatures, code examples, language bindings, platform integration, streaming recipes, troubleshooting, and migration guidance, see [libvlc-skill.md](libvlc-skill.md).

## Workflow

1. Confirm whether the target is libvlc 3.x or 4.x, then choose APIs and bindings that match that version.
2. Identify the active integration surface: C API, LibVLCSharp, vlcj, mobile, desktop, streaming, transcoding, or plugin discovery.
3. Load [libvlc-skill.md](libvlc-skill.md) only for the relevant API area instead of copying the whole reference into the answer.
4. Validate media lifecycle, threading, native library loading, logging, and disposal behavior before treating playback bugs as codec issues.

## Validate

- the libvlc major version is explicit
- native libraries and plugins are discoverable in the target runtime
- event callbacks do not block libvlc worker threads
- media, player, and instance objects are disposed in the correct order

The rest: https://github.com/managedcode/dotnet-skills/blob/HEAD/catalog/Libraries/LibVLC/skills/libvlc/SKILL.md
