mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
Use "8 bit raw midi" for control ports again
There is no need to encode the potential format in the format.dsp of control ports, this is just for legacy compatibility with JACK apps. The actual format can be negotiated with the types field. Fixes midi port visibility with apps compiled against 1.2, such as JACK apps in flatpaks.
This commit is contained in:
parent
617f1b8a38
commit
564c9b1ba5
15 changed files with 18 additions and 34 deletions
|
|
@ -213,7 +213,7 @@ int main(int argc, char *argv[])
|
|||
PW_FILTER_PORT_FLAG_MAP_BUFFERS,
|
||||
sizeof(struct port),
|
||||
pw_properties_new(
|
||||
PW_KEY_FORMAT_DSP, "32 bit raw UMP",
|
||||
PW_KEY_FORMAT_DSP, "8 bit raw midi",
|
||||
PW_KEY_PORT_NAME, "output",
|
||||
NULL),
|
||||
NULL, 0);
|
||||
|
|
|
|||
|
|
@ -772,7 +772,7 @@ static int make_stream_ports(struct stream *s)
|
|||
break;
|
||||
case ffado_stream_type_midi:
|
||||
props = pw_properties_new(
|
||||
PW_KEY_FORMAT_DSP, "32 bit raw UMP",
|
||||
PW_KEY_FORMAT_DSP, "8 bit raw midi",
|
||||
PW_KEY_PORT_NAME, port->name,
|
||||
PW_KEY_PORT_PHYSICAL, "true",
|
||||
PW_KEY_PORT_TERMINAL, "true",
|
||||
|
|
|
|||
|
|
@ -540,7 +540,7 @@ static void make_stream_ports(struct stream *s)
|
|||
} else {
|
||||
snprintf(name, sizeof(name), "midi_%s_%d", prefix, i - s->info.channels + 1);
|
||||
props = pw_properties_new(
|
||||
PW_KEY_FORMAT_DSP, "32 bit raw UMP",
|
||||
PW_KEY_FORMAT_DSP, "8 bit raw midi",
|
||||
PW_KEY_PORT_NAME, name,
|
||||
PW_KEY_PORT_PHYSICAL, "true",
|
||||
NULL);
|
||||
|
|
|
|||
|
|
@ -452,7 +452,7 @@ static void make_stream_ports(struct stream *s)
|
|||
} else {
|
||||
snprintf(name, sizeof(name), "midi%d", i - s->info.channels);
|
||||
props = pw_properties_new(
|
||||
PW_KEY_FORMAT_DSP, "32 bit raw UMP",
|
||||
PW_KEY_FORMAT_DSP, "8 bit raw midi",
|
||||
PW_KEY_AUDIO_CHANNEL, name,
|
||||
PW_KEY_PORT_PHYSICAL, "true",
|
||||
NULL);
|
||||
|
|
|
|||
|
|
@ -614,7 +614,7 @@ static void make_stream_ports(struct stream *s)
|
|||
} else {
|
||||
snprintf(name, sizeof(name), "midi%d", i - s->info.channels);
|
||||
props = pw_properties_new(
|
||||
PW_KEY_FORMAT_DSP, "32 bit raw UMP",
|
||||
PW_KEY_FORMAT_DSP, "8 bit raw midi",
|
||||
PW_KEY_PORT_PHYSICAL, "true",
|
||||
PW_KEY_AUDIO_CHANNEL, name,
|
||||
NULL);
|
||||
|
|
|
|||
|
|
@ -390,7 +390,7 @@ struct rtp_stream *rtp_stream_new(struct pw_core *core,
|
|||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
pw_properties_set(props, PW_KEY_FORMAT_DSP, "32 bit raw UMP");
|
||||
pw_properties_set(props, PW_KEY_FORMAT_DSP, "8 bit raw midi");
|
||||
impl->stride = impl->format_info->size;
|
||||
impl->rate = pw_properties_get_uint32(props, "midi.rate", 10000);
|
||||
if (impl->rate == 0)
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@ struct vban_stream *vban_stream_new(struct pw_core *core,
|
|||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
pw_properties_set(props, PW_KEY_FORMAT_DSP, "32 bit raw UMP");
|
||||
pw_properties_set(props, PW_KEY_FORMAT_DSP, "8 bit raw midi");
|
||||
impl->stride = impl->format_info->size;
|
||||
impl->rate = pw_properties_get_uint32(props, "midi.rate", 10000);
|
||||
if (impl->rate == 0)
|
||||
|
|
|
|||
|
|
@ -1855,8 +1855,10 @@ void *pw_filter_add_port(struct pw_filter *filter,
|
|||
add_control_dsp_port_params(impl, p, 1u << SPA_CONTROL_Midi);
|
||||
else if (spa_streq(str, "8 bit raw control"))
|
||||
add_control_dsp_port_params(impl, p, 0);
|
||||
else if (spa_streq(str, "32 bit raw UMP"))
|
||||
else if (spa_streq(str, "32 bit raw UMP")) {
|
||||
add_control_dsp_port_params(impl, p, 1u << SPA_CONTROL_UMP);
|
||||
pw_properties_set(props, PW_KEY_FORMAT_DSP, "8 bit raw midi");
|
||||
}
|
||||
}
|
||||
/* then override with user provided if any */
|
||||
if (update_params(impl, p, SPA_ID_INVALID, params, n_params) < 0)
|
||||
|
|
|
|||
|
|
@ -2055,7 +2055,7 @@ pw_stream_connect(struct pw_stream *stream,
|
|||
pw_properties_set(impl->port_props, PW_KEY_FORMAT_DSP, str);
|
||||
else if (impl->media_type == SPA_MEDIA_TYPE_application &&
|
||||
impl->media_subtype == SPA_MEDIA_SUBTYPE_control)
|
||||
pw_properties_set(impl->port_props, PW_KEY_FORMAT_DSP, "32 bit raw UMP");
|
||||
pw_properties_set(impl->port_props, PW_KEY_FORMAT_DSP, "8 bit raw midi");
|
||||
if (pw_properties_get(impl->port_props, PW_KEY_PORT_GROUP) == NULL)
|
||||
pw_properties_set(impl->port_props, PW_KEY_PORT_GROUP, "stream.0");
|
||||
|
||||
|
|
|
|||
|
|
@ -1985,7 +1985,7 @@ int main(int argc, char *argv[])
|
|||
SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_application),
|
||||
SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_control));
|
||||
|
||||
pw_properties_set(data.props, PW_KEY_FORMAT_DSP, "32 bit raw UMP");
|
||||
pw_properties_set(data.props, PW_KEY_FORMAT_DSP, "8 bit raw midi");
|
||||
break;
|
||||
case TYPE_DSD:
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue