Skip to content

0.1.0

Compare
Choose a tag to compare
@github-actions github-actions released this 25 Sep 16:37
· 42 commits to main since this release
bf5ffcd

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 and halgal)
  • 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 in unicapture
  • service is a module that binds unicapture module with hyperion_client and exposes Luna bus management service
  • settings is a module responsible for converting settings_t structure to/from JSON objects and files (stored in config.json file)
  • main only handles initialization and startup of service

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 every 1/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:

  • #47
  • #48 - added vsync flag
  • #40 - fixed frame pace handling including optional vsync
  • #21 - contains support for libgm & libhal_gal UI capture support