[pulseaudio-discuss] [PATCH 00/21] Add a basic node concept
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Tue Jun 25 09:32:32 PDT 2013
On Wed, 2013-06-19 at 18:39 +0300, Tanu Kaskinen wrote:
> 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
I got acks for patches 1 and 20, so I pushed those. v2 is hopefully
coming soon.
--
Tanu
More information about the pulseaudio-discuss
mailing list