How aedancullen/gst-plugins-aw works
This repository provides optimized GStreamer 1.0 video sink plugins for Linux console framebuffers. The user-facing workflow is to send video frames through a GStreamer sink, where the shared framebuffer sink handles configuration, buffers, and display timing, and a backend presents frames through fbdev, DRM, or sunxi hardware. The sunxi implementation adds display-engine and transform support. The README is brief; backend links below follow sampled inheritance declarations and source-index references, while undocumented runtime details are omitted or marked unverified.
Main entry points: gstfbdevframebuffersink.c Fbdev backend · gstsunxifbsink.c Sunxi sink · gstframebuffersink.c Framebuffer sink core · displayInterface.c Display interface
Components 18
GStreamer sinks
- Fbdev2 sink
src/gstfbdev2sink.c - Fbdev2 sink API
src/gstfbdev2sink.h
Framebuffer rendering
- Framebuffer sink core
src/gstframebuffersink.c - Sink state and API
src/gstframebuffersink.h
Display backends
- Fbdev backend
src/gstfbdevframebuffersink.c - Fbdev backend API
src/gstfbdevframebuffersink.h - DRM sink
src/gstdrmsink.c - DRM sink API
src/gstdrmsink.h
Sunxi acceleration
- Sunxi sink
src/gstsunxifbsink.c - Sunxi sink API
src/gstsunxifbsink.h - Display interface
src/displayInterface.c - Display interface API
src/displayInterface.h - Display ABI v1
src/sunxi_display_v1.h - Display ABI v2
src/sunxi_display_v2.h - Transform definitions
src/sunxi_tr.h - G2D definitions
src/g2d_driver_enh.h
Other components
- GStreamer pipeline
- Linux display devices
Connections 18
- GStreamer pipeline → Framebuffer sink core: submits frames
- Framebuffer sink core → Sink state and API: uses sink state
src/gstframebuffersink.c - Fbdev backend → Framebuffer sink core: extends sink
- Fbdev2 sink → Fbdev backend: specializes backend
- Fbdev2 sink API → Fbdev backend: extends API
src/gstfbdev2sink.h - DRM sink → Framebuffer sink core: implements hooks
src/gstdrmsink.c - DRM sink API → Sink state and API: extends API
src/gstdrmsink.h - Sunxi sink → Fbdev backend: extends backend
- Sunxi sink API → Fbdev backend API: extends API
src/gstsunxifbsink.h - Sunxi sink → Display interface: uses interface
src/gstsunxifbsink.c - Display interface → Display interface API: implements API
src/displayInterface.c - Display interface API → Display ABI v1: includes ABI
src/displayInterface.h - Display interface API → Display ABI v2: includes ABI
src/displayInterface.h - Sunxi sink → Transform definitions: uses definitions
src/gstsunxifbsink.c - Sunxi sink → G2D definitions: uses definitions
src/gstsunxifbsink.c - Fbdev backend → Linux display devices: maps framebuffer
- DRM sink → Linux display devices: accesses DRM
- Display interface → Linux display devices: controls display