Skip to content

Simplify endpoints and refactor session item

Julian Bouzas requested to merge julian/wireplumber:simplify-endpoints into master

This MR refactors wireplumber, simplifying a lot the code:

  • Removes the WpEndpointStream API. the WpEndpointLink object links WpEndpoint's instead of WpEndpointStream's now.
  • Refactors WpSessionItem to inherit from WpObject. The activate and export APIs are gone, you need to use WP_SESSION_ITEM_FEATURE_ACTIVE and WP_SESSION_ITEM_FEATURE_EXPORTED in wp_object_activate instead.
  • Adds a wp_session_item_register and wp_session_item_remove to register and unregister session items in the registry. Object managers can now listen for session items.
  • Renames si-simple-node-endpoint to si-node.
  • Renames si-monitor-endpoint to si-monitor
  • Renames si-adapter to si-audio-adapter because it is only meant to be used with audio, not video
  • Renames si-convert to si-audio-convert because it is only meant to be used with audio, not video
  • Renames adapter's algorithms.c file to audio-utils.c
  • Makes WpImplEndpoint and WpImplEndpointLink public so that they can be used in session item modules.

Merge request reports