[pulseaudio-discuss] [PATCH 00/15] Routing: Edges for initial routing
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Thu Feb 13 19:35:45 CET 2014
Edges are meant to abstract away the details of connecting two nodes.
This patch set implements edges to an extent that makes it possible to
greatly simplify the fallback code for setting the initial routing for
streams in node.c.
The initial routing of streams is now fully based on the new routing
infrastructure. When a stream is created, an edge is created between
the stream node and the sink/source/port node. Currently moving a
stream deletes the original edge, but doesn't create a new one to
reflect the new routing. I will work on that next.
Tanu Kaskinen (15):
core: Free pa_core.nodes when freeing pa_core
node: Replace a state enum with an unlinked flag
node: Set the unlinked flag earlier in pa_node_unlink()
node: Fix unsafe pa_idxset_remove_by_index() call
protocol-native: Protect stream unlinking against recursion
sink-input, source-output: Protect unlinking against recursion
sink-input, source-output: Don't do anything when killing unlinked
streams
core, edge: Add a basic pa_edge implementation
node: Delete edges when unlinking a node
node: Delete edges when deactivating a node
sink-input, source-output: Delete edge when detaching a stream
edge: Add support for connecting new streams
node: Create edges for new streams
edge: Refuse to connect inactive nodes
experimental-router: Create edges for new streams
src/Makefile.am | 2 +-
src/modules/module-experimental-router.c | 67 +++---
src/pulsecore/core.c | 77 +++++++
src/pulsecore/core.h | 12 +-
src/pulsecore/edge.c | 345 +++++++++++++++++++++++++++++++
src/pulsecore/edge.h | 25 +++
src/pulsecore/node.c | 253 ++++++++---------------
src/pulsecore/node.h | 15 +-
src/pulsecore/protocol-native.c | 16 +-
src/pulsecore/sink-input.c | 46 ++++-
src/pulsecore/source-output.c | 42 +++-
11 files changed, 652 insertions(+), 248 deletions(-)
create mode 100644 src/pulsecore/edge.c
--
1.8.3.1
More information about the pulseaudio-discuss
mailing list