port: select a mixer when we set a format

When the port receives a format, look if we can find a mixer for it
and configure it.

Use the float32 mono mixer when possible.

Use the new pw_buffers in the link.

Let the port allocate buffers between the mixer and node when
requested.

The client-node doesn't need a mixer because mixing is done on the
client.

Remove all mixer and buffer negotiation code from adapter because
it is now done at the port level.
This commit is contained in:
Wim Taymans 2019-10-02 18:07:10 +02:00
parent 4a47bf4706
commit 5cfb6634f4
7 changed files with 211 additions and 431 deletions

View file

@ -92,7 +92,6 @@ test('pw-test-protocol-native',
pipewire_module_adapter = shared_library('pipewire-module-adapter',
[ 'module-adapter.c',
'module-adapter/adapter.c',
'module-adapter/floatmix.c',
'spa/spa-node.c' ],
c_args : pipewire_module_c_args,
include_directories : [configinc, spa_inc],