mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
spa: set port flags on port info
This commit is contained in:
parent
16f1d6349d
commit
9071678643
5 changed files with 22 additions and 14 deletions
|
|
@ -277,6 +277,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
|
|
||||||
if (id == SPA_PARAM_Props) {
|
if (id == SPA_PARAM_Props) {
|
||||||
struct props *p = &this->props;
|
struct props *p = &this->props;
|
||||||
|
struct port *port = &this->port;
|
||||||
|
|
||||||
if (param == NULL) {
|
if (param == NULL) {
|
||||||
reset_props(p);
|
reset_props(p);
|
||||||
|
|
@ -290,9 +291,9 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
SPA_PROP_volume, SPA_POD_OPT_Float(&p->volume));
|
SPA_PROP_volume, SPA_POD_OPT_Float(&p->volume));
|
||||||
|
|
||||||
if (p->live)
|
if (p->live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
else
|
else
|
||||||
this->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
port->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
@ -1081,7 +1082,7 @@ impl_init(const struct spa_handle_factory *factory,
|
||||||
port->info = SPA_PORT_INFO_INIT();
|
port->info = SPA_PORT_INFO_INIT();
|
||||||
port->info.flags = SPA_PORT_FLAG_NO_REF;
|
port->info.flags = SPA_PORT_FLAG_NO_REF;
|
||||||
if (this->props.live)
|
if (this->props.live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
port->params[0] = SPA_PARAM_INFO(SPA_PARAM_EnumFormat, SPA_PARAM_INFO_READ);
|
port->params[0] = SPA_PARAM_INFO(SPA_PARAM_EnumFormat, SPA_PARAM_INFO_READ);
|
||||||
port->params[1] = SPA_PARAM_INFO(SPA_PARAM_Meta, SPA_PARAM_INFO_READ);
|
port->params[1] = SPA_PARAM_INFO(SPA_PARAM_Meta, SPA_PARAM_INFO_READ);
|
||||||
port->params[2] = SPA_PARAM_INFO(SPA_PARAM_IO, SPA_PARAM_INFO_READ);
|
port->params[2] = SPA_PARAM_INFO(SPA_PARAM_IO, SPA_PARAM_INFO_READ);
|
||||||
|
|
|
||||||
|
|
@ -168,8 +168,12 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
|
|
||||||
spa_return_val_if_fail(this != NULL, -EINVAL);
|
spa_return_val_if_fail(this != NULL, -EINVAL);
|
||||||
|
|
||||||
|
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case SPA_PARAM_Props:
|
case SPA_PARAM_Props:
|
||||||
|
{
|
||||||
|
struct port *port = &this->port;
|
||||||
|
|
||||||
if (param == NULL) {
|
if (param == NULL) {
|
||||||
reset_props(this, &this->props);
|
reset_props(this, &this->props);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -179,11 +183,11 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
SPA_PROP_live, SPA_POD_OPT_Bool(&this->props.live));
|
SPA_PROP_live, SPA_POD_OPT_Bool(&this->props.live));
|
||||||
|
|
||||||
if (this->props.live)
|
if (this->props.live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
else
|
else
|
||||||
this->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
port->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -181,6 +181,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
case SPA_PARAM_Props:
|
case SPA_PARAM_Props:
|
||||||
{
|
{
|
||||||
struct props *p = &this->props;
|
struct props *p = &this->props;
|
||||||
|
struct port *port = &this->port;
|
||||||
|
|
||||||
if (param == NULL) {
|
if (param == NULL) {
|
||||||
reset_props(this, p);
|
reset_props(this, p);
|
||||||
|
|
@ -192,9 +193,9 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
SPA_PROP_patternType, SPA_POD_OPT_Id(&p->pattern));
|
SPA_PROP_patternType, SPA_POD_OPT_Id(&p->pattern));
|
||||||
|
|
||||||
if (p->live)
|
if (p->live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
else
|
else
|
||||||
this->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
port->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -229,6 +229,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
case SPA_PARAM_Props:
|
case SPA_PARAM_Props:
|
||||||
{
|
{
|
||||||
struct props *p = &this->props;
|
struct props *p = &this->props;
|
||||||
|
struct port *port = &this->port;
|
||||||
|
|
||||||
if (param == NULL) {
|
if (param == NULL) {
|
||||||
reset_props(p);
|
reset_props(p);
|
||||||
|
|
@ -240,9 +241,9 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
SPA_PROP_patternType, SPA_POD_OPT_Int(&p->pattern));
|
SPA_PROP_patternType, SPA_POD_OPT_Int(&p->pattern));
|
||||||
|
|
||||||
if (p->live)
|
if (p->live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
else
|
else
|
||||||
this->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
port->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
@ -928,7 +929,7 @@ impl_init(const struct spa_handle_factory *factory,
|
||||||
port->info = SPA_PORT_INFO_INIT();
|
port->info = SPA_PORT_INFO_INIT();
|
||||||
port->info.flags = SPA_PORT_FLAG_NO_REF;
|
port->info.flags = SPA_PORT_FLAG_NO_REF;
|
||||||
if (this->props.live)
|
if (this->props.live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
port->params[0] = SPA_PARAM_INFO(SPA_PARAM_EnumFormat, SPA_PARAM_INFO_READ);
|
port->params[0] = SPA_PARAM_INFO(SPA_PARAM_EnumFormat, SPA_PARAM_INFO_READ);
|
||||||
port->params[1] = SPA_PARAM_INFO(SPA_PARAM_Meta, SPA_PARAM_INFO_READ);
|
port->params[1] = SPA_PARAM_INFO(SPA_PARAM_Meta, SPA_PARAM_INFO_READ);
|
||||||
port->params[2] = SPA_PARAM_INFO(SPA_PARAM_IO, SPA_PARAM_INFO_READ);
|
port->params[2] = SPA_PARAM_INFO(SPA_PARAM_IO, SPA_PARAM_INFO_READ);
|
||||||
|
|
|
||||||
|
|
@ -225,6 +225,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
case SPA_PARAM_Props:
|
case SPA_PARAM_Props:
|
||||||
{
|
{
|
||||||
struct props *p = &this->props;
|
struct props *p = &this->props;
|
||||||
|
struct port *port = &this->port;
|
||||||
|
|
||||||
if (param == NULL) {
|
if (param == NULL) {
|
||||||
reset_props(p);
|
reset_props(p);
|
||||||
|
|
@ -235,9 +236,9 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
|
||||||
SPA_PROP_live, SPA_POD_OPT_Bool(&p->live));
|
SPA_PROP_live, SPA_POD_OPT_Bool(&p->live));
|
||||||
|
|
||||||
if (p->live)
|
if (p->live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
else
|
else
|
||||||
this->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
port->info.flags &= ~SPA_PORT_FLAG_LIVE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
@ -945,7 +946,7 @@ impl_init(const struct spa_handle_factory *factory,
|
||||||
port->info = SPA_PORT_INFO_INIT();
|
port->info = SPA_PORT_INFO_INIT();
|
||||||
port->info.flags = SPA_PORT_FLAG_NO_REF | SPA_PORT_FLAG_CAN_ALLOC_BUFFERS;
|
port->info.flags = SPA_PORT_FLAG_NO_REF | SPA_PORT_FLAG_CAN_ALLOC_BUFFERS;
|
||||||
if (this->props.live)
|
if (this->props.live)
|
||||||
this->info.flags |= SPA_PORT_FLAG_LIVE;
|
port->info.flags |= SPA_PORT_FLAG_LIVE;
|
||||||
port->params[0] = SPA_PARAM_INFO(SPA_PARAM_EnumFormat, SPA_PARAM_INFO_READ);
|
port->params[0] = SPA_PARAM_INFO(SPA_PARAM_EnumFormat, SPA_PARAM_INFO_READ);
|
||||||
port->params[1] = SPA_PARAM_INFO(SPA_PARAM_Meta, SPA_PARAM_INFO_READ);
|
port->params[1] = SPA_PARAM_INFO(SPA_PARAM_Meta, SPA_PARAM_INFO_READ);
|
||||||
port->params[2] = SPA_PARAM_INFO(SPA_PARAM_IO, SPA_PARAM_INFO_READ);
|
port->params[2] = SPA_PARAM_INFO(SPA_PARAM_IO, SPA_PARAM_INFO_READ);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue