mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-01 22:58:50 -04:00
node: add new NEED_CONFIGURE flag
Add a new node flag that is set when the node needs more configuration. Don't try to Start nodes that have the NEED_CONFIGURE flag set. Make audioadapter clear the NEED_CONFIGURE flag when it has the PortConfig. These changes now make it possible to run: gst-launch-1.0 -v pipewiresrc path=51 stream-properties="props,node.group=1" ! audio/x-raw ! pipewiresink stream-properties="props,node.group=1" The pipewiresink and pipewiresrc will be added to the same scheduling group (1) and the devices they connect to will be slaved, even if they are otherwise not linked. Without the NEED_CONFIGURE flag, pipewiresink would be added to the pipewiresrc group and would be started by the daemon before the session manager has a chance to configure (and link) the node. Fixes #4
This commit is contained in:
parent
db93135ff7
commit
5e9091a285
4 changed files with 16 additions and 3 deletions
|
|
@ -1058,8 +1058,13 @@ impl_init(const struct spa_handle_factory *factory,
|
|||
this->convert = iface;
|
||||
this->target = this->convert;
|
||||
|
||||
this->info_all = SPA_NODE_CHANGE_MASK_PARAMS;
|
||||
this->info_all = SPA_NODE_CHANGE_MASK_FLAGS |
|
||||
SPA_NODE_CHANGE_MASK_PARAMS;
|
||||
this->info = SPA_NODE_INFO_INIT();
|
||||
this->info.flags = SPA_NODE_FLAG_RT |
|
||||
SPA_NODE_FLAG_IN_PORT_CONFIG |
|
||||
SPA_NODE_FLAG_OUT_PORT_CONFIG |
|
||||
SPA_NODE_FLAG_NEED_CONFIGURE;
|
||||
this->params[0] = SPA_PARAM_INFO(SPA_PARAM_EnumFormat, SPA_PARAM_INFO_READ);
|
||||
this->params[1] = SPA_PARAM_INFO(SPA_PARAM_PropInfo, SPA_PARAM_INFO_READ);
|
||||
this->params[2] = SPA_PARAM_INFO(SPA_PARAM_Props, SPA_PARAM_INFO_READWRITE);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue