core: Link virtual sinks and sources to their streams.
authorTanu Kaskinen <tanu.kaskinen@digia.com>
Mon, 7 Feb 2011 16:35:51 +0000 (18:35 +0200)
committerColin Guthrie <cguthrie@mandriva.org>
Tue, 22 Feb 2011 10:10:48 +0000 (10:10 +0000)
commit969c7c80fe380a7263472fa065f04990286ed7bb
treea763183a372f3099695cab2eb2c6c57f2ea40ea5
parent1f848f82c4571f169f18f86b4bd2ec6f863acca0
core: Link virtual sinks and sources to their streams.

This change doesn't add any functionality in itself, but it will be useful in
the future for operating on chains of sinks or sources that are piggy-backing
on each other.

For example, the PA_PROP_DEVICE_MASTER_DEVICE property could
be handled in the core so that each virtual device doesn't have to maintain it
separately. By using the origin_sink and destination_source pointers the core
is able to see at stream creation time that the stream is created by a virtual
device, and then update that device's property list using the name of the
master device that the stream is being connected to. The same thing can be done
also when the stream is being moved from a device to another, in which case the
_MASTER_DEVICE property needs updating.
14 files changed:
src/modules/echo-cancel/module-echo-cancel.c
src/modules/module-equalizer-sink.c
src/modules/module-ladspa-sink.c
src/modules/module-remap-sink.c
src/modules/module-virtual-sink.c
src/modules/module-virtual-source.c
src/pulsecore/sink-input.c
src/pulsecore/sink-input.h
src/pulsecore/sink.c
src/pulsecore/sink.h
src/pulsecore/source-output.c
src/pulsecore/source-output.h
src/pulsecore/source.c
src/pulsecore/source.h