George Kiagiadakis
162c1d4574
session: fix the default-endpoint prop
...
* Use a direction instead of a string prop id
* Emit default-endpoint-changed again
* Get rid of the useless virtual methods
2020-05-25 18:56:21 +03:00
Julian Bouzas
93ce770052
config-policy: handle the endpoint node target property when finding a target
2020-05-21 09:47:56 -04:00
Julian Bouzas
522d32224e
modules: config-policy: rename link-activated signal to link-created
2020-05-19 10:18:51 -04:00
Julian Bouzas
f78ca66922
config-policy: remove keep property and never unlink endpoints
2020-05-15 08:28:58 -04:00
George Kiagiadakis
4d965b3b39
config-policy: shorten some code
2020-05-14 18:42:43 +03:00
George Kiagiadakis
a2b84e27d1
session: rename the default source/sink controls to have shorter names
...
+ use a more correct naming scheme to match the one from Spa
+ remove the default video source, since we now use a different
session for video
2020-05-14 17:31:24 +03:00
George Kiagiadakis
5eecc5b68a
object-manager: remove deprecated API
2020-05-14 16:24:34 +03:00
Julian Bouzas
faa9719f53
modules: port config-policy to use WpPlugin
2020-05-13 11:21:45 -04:00
Julian Bouzas
6044b23aed
modules: refactor config-policy to use the new session item API
2020-05-12 10:03:29 -04:00
Julian Bouzas
cfbcb5eca3
proxy: use WpSpaPod instead of struct spa_pod in public API
2020-04-21 16:11:05 -04:00
Julian Bouzas
9c44900e68
config-policy: fix endpoint refcount issues
2020-03-17 12:06:21 -04:00
George Kiagiadakis
ca8d100b3f
meson: temporarily add check to conditionally enable the fade functionality
...
and in case it's missing, also #define some things to make compilation work,
since this is only available in a pipewire branch right now
2020-02-28 13:25:35 +02:00
Julian Bouzas
a861e47643
config-policy: fade in/out when streams are linked/unlinked
2020-02-27 08:39:15 -05:00
Julian Bouzas
8aa695770c
tests: config-policy: run the main loop in the same thread
2020-02-26 15:51:58 -05:00
Julian Bouzas
83a0725b6a
modules: remove match priorities from config files and use the filename instead
2020-01-14 09:15:22 -05:00
George Kiagiadakis
0e98e4150b
config-policy: debug handling of endpoints
2019-12-19 14:49:57 +02:00
George Kiagiadakis
40e4ce8909
config-policy: push endpoints with keep=true to the end of the list when sorting
...
This ensures that endpoints with keep=false will still have
a chance to link when ones with keep=true exist. This also effectively
means that role priority does not matter when keep=true: we keep these
links active no matter what, while policy still applies normally for
all others.
For example, a final sorted list with these endpoints will end up
looking like this:
* ep1, role priority=25, keep=false
* ep2, role priority=20, keep=false
* ep3, role priority=25, keep=true
* ep4, role priority=75, keep=true
... which will effectively cause ep1, ep3 and ep4 to be linked.
2019-12-19 14:43:40 +02:00
George Kiagiadakis
729aee5c4c
config-policy: do not unlink other endpoints when linking one with keep=true
...
keep=true should work in both ways:
* keep the endpoint with this property linked at all times
* keep other already linked endpoints when linking this one
2019-12-19 14:40:50 +02:00
George Kiagiadakis
3c5b5ea08c
config-policy: remove _can_link_stream() function
...
This is no longer needed since we sort endpoints by role priority
before trying to link them and we link only the highest priority one.
After this sorting, the highest priority endpoint is guaranteed
to be able to link, so _can_link_stream() always returns TRUE.
2019-12-19 14:38:01 +02:00
George Kiagiadakis
c1e1d67b72
config-policy: debug rescans
2019-12-17 18:03:02 +02:00
Julian Bouzas
1d00104642
config-policy: only handle the highest priority endpoint for a target, and the ones with keep=true
2019-12-16 14:05:14 -05:00
Julian Bouzas
eda8507ef7
config-policy: use the default session endpoint if target-endpoint is not defined
2019-12-16 13:37:05 -05:00
Julian Bouzas
7ac9c6359c
modules: only allow 'sink' and 'source' strings when parsing direction in config files
2019-12-16 13:37:05 -05:00
Julian Bouzas
0552e7da87
parser-endpoint-link: don't parse unused state value
2019-12-16 13:37:05 -05:00
Julian Bouzas
3fe1e96e2e
config-policy: remove parsing of streams file
...
This is now done by the config endpoint module
2019-12-16 13:37:05 -05:00
Julian Bouzas
b9e594e5f9
parser-endpoint-link: higher number means higher priority
2019-12-13 14:55:13 -05:00
Julian Bouzas
db7a3a3b9c
config-policy: sort endpoints by creation time when finding target
2019-12-13 14:43:50 -05:00
George Kiagiadakis
57ac90b188
config-policy: avoid race condition in the unit tests
...
Clear self->pending_endpoint before sending the done signal,
because the signal will trigger a new endpoint to be added in the
unit test and this may happen before g_clear_object is called,
in which case adding the new endpoint fails
2019-12-11 19:15:02 +02:00
George Kiagiadakis
c0455c981d
lib: rename WpEndpoint* to WpBaseEndpoint*
...
to avoid name clashing with the upcoming WpEndpoint interface
that is going to be the common interface of Wp{Proxy,Exported}Endpoint
2019-12-11 19:05:05 +02:00
George Kiagiadakis
3a4040ddaf
config-policy: fix typo in variable check
2019-12-11 01:27:41 +02:00
George Kiagiadakis
133469d566
config-policy: fix stream priority logic when the stream name comes from media.role
...
the _can_link function was previously assuming that the target
stream is always specified in the configuration file
2019-12-11 01:04:41 +02:00
George Kiagiadakis
dcecc217d6
config-policy: add some more debug statements
2019-12-11 00:45:05 +02:00
Julian Bouzas
34ebbe47d7
config-policy: prioritize role from configuration file
...
The role defined in the endpoint-link configuration files must have higher
priority than the one set in the endpoint. If none of them are set, the config
policy fallbacks to the lowest one defined in the streams configuration file
2019-12-05 10:50:10 -05:00
Julian Bouzas
9dac5fdaf5
parser-streams: add get_lowest_stream API
2019-12-05 10:46:34 -05:00
George Kiagiadakis
a11cd3b651
parser-endpoint-link: make 'properties' subtables of 'match-endpoint' and 'target-endpoint'
2019-12-05 12:21:24 +02:00
Julian Bouzas
664db8a200
modules: add config policy module
2019-12-04 16:38:35 -05:00