Simplify endpoints and refactor session item
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 useWP_SESSION_ITEM_FEATURE_ACTIVE
andWP_SESSION_ITEM_FEATURE_EXPORTED
inwp_object_activate
instead. - Adds a
wp_session_item_register
andwp_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
tosi-node
. - Renames
si-monitor-endpoint
tosi-monitor
- Renames
si-adapter
tosi-audio-adapter
because it is only meant to be used with audio, not video - Renames
si-convert
tosi-audio-convert
because it is only meant to be used with audio, not video - Renames adapter's
algorithms.c
file toaudio-utils.c
- Makes
WpImplEndpoint
andWpImplEndpointLink
public so that they can be used in session item modules.