Expand description
mpv’s render API into a framebuffer we own (UR-080 / DR-231, IR-033).
Deliberately not GTK-gated beyond the platform that currently builds it: everything here is the portable half, and Windows reuses it unchanged behind its own surface. mpv’s render API, driven into an OpenGL framebuffer we own.
This is the half of native video that is not GTK: create a render context over the mpv handle the audio backend already drives, render a frame into a texture, and hand that texture id back for the toolkit to composite.
Kept apart from video_surface deliberately — everything here is portable
across the platforms this app targets, while the surface that consumes it is
not. Windows reuses this file unchanged (DR-237).
TRACES: UR-080 | DR-231, DR-232, IR-033
Macros§
- load 🔒
Structs§
- Gl 🔒
- GL entry points, resolved once.
- MpvRender
Context - mpv’s render context plus the framebuffer it draws into.
- Target 🔒
- A colour-renderable framebuffer mpv draws into, sized to the widget.
Constants§
- GL_
COLOR_ 🔒ATTACHMEN T0 - GL_
FRAMEBUFFER 🔒 - GL_
FRAMEBUFFER_ 🔒COMPLETE - GL_
LINEAR 🔒 - GL_RGBA 🔒
- GL_
RGBA8 🔒 - GL_
TEXTURE_ 🔒2D - GL_
TEXTURE_ 🔒MAG_ FILTER - GL_
TEXTURE_ 🔒MIN_ FILTER - GL_
UNSIGNED_ 🔒BYTE
Functions§
- get_
proc_ 🔒 ⚠address - What mpv calls to find GL entry points. Same rule as
resolve. - resolve 🔒 ⚠
- Resolve a GL symbol the way libepoxy actually exports it.