0.1.0
Release for #43
"New" synchronous capture backend interface, unified for both UI and Video layer capture, where all pixel format conversion, scaling and blending is extracted into a common "unicapture" module.
backends
now expose a simple, unified synchronous interface for a specific layer capture (ie. we now have separate backends for video layers -dile_vt
,vtcapture
, and ui layers -gm
andhalgal
)unicapture
module is responsible for backend initialization, frame keeping (vsync) and merging/blending/conversion of different layers.converter
is responsible for converting frames between colorspaces (via libyuv), intentionally used only inunicapture
service
is a module that bindsunicapture
module withhyperion_client
and exposes Luna bus management servicesettings
is a module responsible for convertingsettings_t
structure to/from JSON objects and files (stored inconfig.json
file)main
only handles initialization and startup ofservice
Notable changes:
- Added support for UI capture when combined with
dile_vt
- Added UI/video backend autodetection (default)
- Added support for automatic pausing of capture when the TV is going to suspend mode (QuickStart+)
- Added
"vsync": false
option that will help with issues like #30 ("fake" vsync signal will be issued every1/FPS
seconds, instead of using video backend waiting method) - Unified support for
novideo
/nogui
options in all backends - Fixed/improved FPS counting/limiting on all platforms
/status
luna service endpoint returns current framerate and info about currently running capture modules- Disabling autostart will remove the
init.d
symlink properly now - General stability improvements
- Code has been reformatted using
clangd
/clang-format
Known issues:
- TODO: Backend/resolution change requires service restart
Supersedes: