[pulseaudio-discuss] [PATCH 00/21] Add a basic node concept
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Wed Jun 19 08:39:57 PDT 2013
This patch set adds pa_node, pa_port_node, pa_sink_node,
pa_source_node, pa_sink_input_node and pa_source_output node structs
to the core. Node support is added for some backends: alsa, bluetooth,
jack, and native streams. I didn't implement other backends, because
I'm lazy (a nicer excuse might be that the nodes may evolve quite
a bit, so there's less code to fix when that happens).
The nodes aren't yet visible to clients, and the nodes don't support
any operations to be done on them, such as routing between two nodes.
I'll try to keep the patch sets small enough not to scare reviewers
(21 patches is already more than I'd like).
Tanu Kaskinen (21):
device-port: Assert that ports have a description
device-class: Introduce pa_device_class_t
bluetooth: Use pa_device_class_t
alsa: Ensure that sinks and sources have descriptions
waveout: Simplify setting the device description
device-manager: Add a sanity check for reading entries
sink, source: Disallow setting NULL description
sink, source: Assert that a description is always set
sink, source: Add pa_sink/source_get_description()
sink-input, source-output: Add
pa_sink_input/source_output_get_description()
node: Introduce pa_node
sink-node, source-node: Introduce sink and source nodes
device-port: Add a device_class field to ports
port-node: Introduce pa_port_node
dynarray: Reimplement with nicer semantics
alsa: Add node support
bluetooth: Add node support
jack: Add node supprt
sink-input-node, source-output-node: Introduce sink input and source
output nodes
object: Initialize allocated memory to zero
native: Add node support for streams
src/Makefile.am | 7 ++
src/modules/alsa/alsa-sink.c | 16 ++-
src/modules/alsa/alsa-source.c | 16 ++-
src/modules/alsa/module-alsa-card.c | 26 +++++
src/modules/bluetooth/bluetooth-util.c | 72 ++++++-------
src/modules/bluetooth/bluetooth-util.h | 16 +--
src/modules/bluetooth/module-bluetooth-device.c | 128 +++++++++++++----------
src/modules/echo-cancel/module-echo-cancel.c | 32 ++----
src/modules/jack/module-jack-sink.c | 7 ++
src/modules/jack/module-jack-source.c | 7 ++
src/modules/macosx/module-bonjour-publish.c | 11 +-
src/modules/module-combine-sink.c | 6 +-
src/modules/module-device-manager.c | 17 ++--
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/modules/module-waveout.c | 8 +-
src/pulsecore/cli-command.c | 4 +-
src/pulsecore/cli-text.c | 4 +-
src/pulsecore/core.c | 1 +
src/pulsecore/core.h | 2 +-
src/pulsecore/device-class.c | 88 ++++++++++++++++
src/pulsecore/device-class.h | 88 ++++++++++++++++
src/pulsecore/device-port.c | 9 ++
src/pulsecore/device-port.h | 5 +
src/pulsecore/dynarray.c | 85 +++++++---------
src/pulsecore/dynarray.h | 49 +++++----
src/pulsecore/namereg.c | 2 +-
src/pulsecore/namereg.h | 3 +-
src/pulsecore/node.c | 130 ++++++++++++++++++++++++
src/pulsecore/node.h | 63 ++++++++++++
src/pulsecore/object.c | 2 +-
src/pulsecore/port-node.c | 80 +++++++++++++++
src/pulsecore/port-node.h | 40 ++++++++
src/pulsecore/protocol-http.c | 4 +-
src/pulsecore/protocol-native.c | 23 ++++-
src/pulsecore/sink-input-node.c | 70 +++++++++++++
src/pulsecore/sink-input-node.h | 40 ++++++++
src/pulsecore/sink-input.c | 21 ++++
src/pulsecore/sink-input.h | 2 +
src/pulsecore/sink-node.c | 70 +++++++++++++
src/pulsecore/sink-node.h | 40 ++++++++
src/pulsecore/sink.c | 23 +++--
src/pulsecore/sink.h | 1 +
src/pulsecore/source-node.c | 70 +++++++++++++
src/pulsecore/source-node.h | 40 ++++++++
src/pulsecore/source-output-node.c | 70 +++++++++++++
src/pulsecore/source-output-node.h | 40 ++++++++
src/pulsecore/source-output.c | 21 ++++
src/pulsecore/source-output.h | 4 +-
src/pulsecore/source.c | 21 ++--
src/pulsecore/source.h | 1 +
src/pulsecore/tokenizer.c | 8 +-
59 files changed, 1360 insertions(+), 341 deletions(-)
create mode 100644 src/pulsecore/device-class.c
create mode 100644 src/pulsecore/device-class.h
create mode 100644 src/pulsecore/node.c
create mode 100644 src/pulsecore/node.h
create mode 100644 src/pulsecore/port-node.c
create mode 100644 src/pulsecore/port-node.h
create mode 100644 src/pulsecore/sink-input-node.c
create mode 100644 src/pulsecore/sink-input-node.h
create mode 100644 src/pulsecore/sink-node.c
create mode 100644 src/pulsecore/sink-node.h
create mode 100644 src/pulsecore/source-node.c
create mode 100644 src/pulsecore/source-node.h
create mode 100644 src/pulsecore/source-output-node.c
create mode 100644 src/pulsecore/source-output-node.h
--
1.8.1.2
More information about the pulseaudio-discuss
mailing list