Video inside Avalonia composition
GPU Media Playback
Keep video, overlays, transforms, and application chrome in one compositor.
Explore source ↗Capability
GpuMediaPlayer renders decoded video through Avalonia-hosted GPU composition with direct texture upload and compatibility copy paths, avoiding NativeControlHost airspace gaps.
- 01
No NativeControlHost airspace
- 02
Direct GPU texture upload
- 03
Compatibility copy-upload fallback
- 04
QuickTime-style overlay and chrome patterns
How it composes
From intent
to working system.
Open
Source and backend policy establish a playback session.
Decode
The selected native or fallback provider produces video frames.
Upload
Direct or compatibility paths move frames into GPU resources.
Compose
Avalonia draws video beside normal controls and overlays.
Quick start
Adopt this
capability.
Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.
dotnet add package MediaPlayer.Controls<PackageReference Include="MediaPlayer.Controls" Version="VERSION" /><PackageVersion Include="MediaPlayer.Controls" Version="VERSION" /><media:GpuMediaPlayer Source="{Binding CurrentSource}" AutoPlay="True" LayoutMode="Uniform" Volume="100" PreferDirectGpuTextureUpload="True" />Modules in this capability
Use one layer.
Compose the rest.
Source of truth
Read the module beside the complete system.
The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.