[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