Skip to main content

## Module mpv_render

Source
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.
MpvRenderContext
  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_ATTACHMENT0 🔒
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.