mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
module-ffado: add more port properties
Mark control ports so that wireplumber does not attempt to link them. Clear ports before making new ones, don't free NULL ports.
This commit is contained in:
parent
84af13a10b
commit
f86ea21b19
1 changed files with 13 additions and 5 deletions
|
|
@ -528,8 +528,11 @@ static void stream_destroy(void *d)
|
|||
uint32_t i;
|
||||
for (i = 0; i < s->n_ports; i++) {
|
||||
struct port *p = s->ports[i];
|
||||
free(p->buffer);
|
||||
spa_zero(*p);
|
||||
if (p != NULL) {
|
||||
s->ports[i] = NULL;
|
||||
free(p->buffer);
|
||||
spa_zero(*p);
|
||||
}
|
||||
}
|
||||
s->n_ports = 0;
|
||||
spa_hook_remove(&s->listener);
|
||||
|
|
@ -697,14 +700,16 @@ static void make_stream_ports(struct stream *s)
|
|||
|
||||
for (i = 0; i < s->n_ports; i++) {
|
||||
struct port *port = s->ports[i];
|
||||
ffado_streaming_stream_type stream_type;
|
||||
char portname[256], channel[32];
|
||||
|
||||
if (port != NULL) {
|
||||
s->ports[i] = NULL;
|
||||
free(port->buffer);
|
||||
pw_filter_remove_port(port);
|
||||
}
|
||||
}
|
||||
for (i = 0; i < s->n_ports; i++) {
|
||||
struct port *port = s->ports[i];
|
||||
ffado_streaming_stream_type stream_type;
|
||||
char portname[256], channel[32];
|
||||
|
||||
if (s->direction == PW_DIRECTION_INPUT) {
|
||||
ffado_streaming_get_playback_stream_name(impl->dev, i, portname, sizeof(portname));
|
||||
|
|
@ -722,6 +727,7 @@ static void make_stream_ports(struct stream *s)
|
|||
props = pw_properties_new(
|
||||
PW_KEY_FORMAT_DSP, "32 bit float mono audio",
|
||||
PW_KEY_PORT_PHYSICAL, "true",
|
||||
PW_KEY_PORT_TERMINAL, "true",
|
||||
PW_KEY_PORT_NAME, name,
|
||||
PW_KEY_AUDIO_CHANNEL, channel,
|
||||
NULL);
|
||||
|
|
@ -733,6 +739,8 @@ static void make_stream_ports(struct stream *s)
|
|||
PW_KEY_FORMAT_DSP, "8 bit raw midi",
|
||||
PW_KEY_PORT_NAME, name,
|
||||
PW_KEY_PORT_PHYSICAL, "true",
|
||||
PW_KEY_PORT_TERMINAL, "true",
|
||||
PW_KEY_PORT_CONTROL, "true",
|
||||
NULL);
|
||||
|
||||
is_midi = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue