[pulseaudio-discuss] [PATCH v2 00/18] Add a basic node concept
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Fri Jun 28 00:47:54 PDT 2013
This patch set adds the pa_node struct to the core, extends alsa,
bluetooth, jack and native-protocol ports, sinks, sources, sink-inputs
and source-outputs so that they implement nodes, and adds
introspection and pactl list support for nodes.
Changes in v2:
- There are no more pa_port_node, pa_sink_node etc. structs. If there
is need to have e.g. port node specific code, it will probably go
to device-port.c.
- Sinks and sources aren't required to have the
PA_PROP_DEVICE_DESCRIPTION property set.
pa_sink/source_get_description() handles missing descriptions by
returning the sink/source name as a fallback.
- The device class stuff is not included in this patch set anymore.
It will possibly come back in the next patch set. As a result, the
node names aren't very informative at this stage.
- pa_node doesn't have the "persistent" field anymore. It's not
needed at this point, and it can be added later.
- Added protocol support and pactl list support for nodes.
- Some patches of v1 have been merged already.
Tanu Kaskinen (18):
node: Introduce pa_node
sink, source: Disallow setting NULL description
sink, source: Add pa_sink/source_get_description()
sink, source: Simplify pa_sink/source_new() error handling
sink, source: Add support for nodes
alsa: Handle pa_device_port_new() failures
bluetooth: Handle pa_device_port_new() failures
device-port: Add support for nodes
alsa: Add node support
bluetooth: Add node support
jack: Add node support
sink-input, source-output: Add
pa_sink_input/source_output_get_description()
sink-input, source-output: Add support for nodes
native: Add node support to streams
tagstruct: Add pa_tagstruct_put/get_direction()
tagstruct: Accept only valid UTF-8 strings
native: Add node querying to the protocol
pactl: Add "pactl list nodes" functionality
PROTOCOL | 31 +++++
configure.ac | 2 +-
man/pactl.1.xml.in | 8 +-
src/Makefile.am | 1 +
src/map-file | 3 +
src/modules/alsa/alsa-mixer.c | 23 +++-
src/modules/alsa/alsa-sink.c | 10 +-
src/modules/alsa/alsa-source.c | 10 +-
src/modules/alsa/alsa-ucm.c | 19 ++-
src/modules/bluetooth/module-bluetooth-device.c | 46 ++++++-
src/modules/echo-cancel/module-echo-cancel.c | 32 ++---
src/modules/jack/module-jack-sink.c | 3 +
src/modules/jack/module-jack-source.c | 3 +
src/modules/macosx/module-bonjour-publish.c | 11 +-
src/modules/module-combine-sink.c | 6 +-
src/modules/module-device-manager.c | 12 +-
src/modules/module-equalizer-sink.c | 4 +-
src/modules/module-ladspa-sink.c | 13 +-
src/modules/module-loopback.c | 8 +-
src/modules/module-remap-sink.c | 12 +-
src/modules/module-remap-source.c | 12 +-
src/modules/module-rygel-media-server.c | 2 +-
src/modules/module-virtual-sink.c | 16 +--
src/modules/module-virtual-source.c | 25 ++--
src/modules/module-virtual-surround-sink.c | 16 +--
src/pulse/introspect.c | 111 ++++++++++++++++
src/pulse/introspect.h | 41 ++++++
src/pulsecore/cli-text.c | 4 +-
src/pulsecore/core.c | 1 +
src/pulsecore/core.h | 2 +-
src/pulsecore/device-port.c | 32 +++++
src/pulsecore/device-port.h | 6 +
src/pulsecore/namereg.c | 2 +-
src/pulsecore/namereg.h | 3 +-
src/pulsecore/native-common.h | 4 +
src/pulsecore/node.c | 164 ++++++++++++++++++++++++
src/pulsecore/node.h | 89 +++++++++++++
src/pulsecore/protocol-http.c | 4 +-
src/pulsecore/protocol-native.c | 61 ++++++---
src/pulsecore/sink-input.c | 60 ++++++++-
src/pulsecore/sink-input.h | 8 ++
src/pulsecore/sink.c | 149 +++++++++++++--------
src/pulsecore/sink.h | 7 +
src/pulsecore/source-output.c | 57 +++++++-
src/pulsecore/source-output.h | 10 +-
src/pulsecore/source.c | 124 +++++++++++-------
src/pulsecore/source.h | 7 +
src/pulsecore/tagstruct.c | 37 ++++++
src/pulsecore/tagstruct.h | 4 +
src/utils/pactl.c | 46 ++++++-
50 files changed, 1095 insertions(+), 266 deletions(-)
create mode 100644 src/pulsecore/node.c
create mode 100644 src/pulsecore/node.h
--
1.8.1.2
More information about the pulseaudio-discuss
mailing list