mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-08 13:30:08 -05:00
Make media type and subtype properties
This is easier to debug and we only want properties in objects in the future.
This commit is contained in:
parent
514528f2c7
commit
ff6a244d8f
45 changed files with 151 additions and 124 deletions
|
|
@ -182,8 +182,8 @@ static int port_enum_formats(struct spa_node *node,
|
|||
|
||||
*param = spa_pod_builder_object(builder,
|
||||
SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
|
||||
"I", SPA_MEDIA_TYPE_audio,
|
||||
"I", SPA_MEDIA_SUBTYPE_raw,
|
||||
":", SPA_FORMAT_mediaType, "I", SPA_MEDIA_TYPE_audio,
|
||||
":", SPA_FORMAT_mediaSubtype, "I", SPA_MEDIA_SUBTYPE_raw,
|
||||
":", SPA_FORMAT_AUDIO_format, "Ieu", SPA_AUDIO_FORMAT_S16,
|
||||
SPA_POD_PROP_ENUM(2, SPA_AUDIO_FORMAT_S16,
|
||||
SPA_AUDIO_FORMAT_F32),
|
||||
|
|
|
|||
|
|
@ -226,8 +226,13 @@ static int port_enum_formats(struct spa_node *node,
|
|||
SDL_GetRendererInfo(d->renderer, &info);
|
||||
|
||||
spa_pod_builder_push_object(builder, SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat);
|
||||
spa_pod_builder_push_prop(builder, SPA_FORMAT_mediaType, 0);
|
||||
spa_pod_builder_enum(builder, SPA_MEDIA_TYPE_video);
|
||||
spa_pod_builder_pop(builder);
|
||||
|
||||
spa_pod_builder_push_prop(builder, SPA_FORMAT_mediaSubtype, 0);
|
||||
spa_pod_builder_enum(builder, SPA_MEDIA_SUBTYPE_raw);
|
||||
spa_pod_builder_pop(builder);
|
||||
|
||||
spa_pod_builder_push_prop(builder, SPA_FORMAT_VIDEO_format,
|
||||
SPA_POD_PROP_FLAG_UNSET |
|
||||
|
|
|
|||
|
|
@ -98,8 +98,12 @@ static struct spa_pod *sdl_build_formats(SDL_RendererInfo *info, struct spa_pod_
|
|||
int i, c;
|
||||
|
||||
spa_pod_builder_push_object(b, SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat);
|
||||
spa_pod_builder_push_prop(b, SPA_FORMAT_mediaType, 0);
|
||||
spa_pod_builder_enum(b, SPA_MEDIA_TYPE_video);
|
||||
spa_pod_builder_pop(b);
|
||||
spa_pod_builder_push_prop(b, SPA_FORMAT_mediaSubtype, 0);
|
||||
spa_pod_builder_enum(b, SPA_MEDIA_SUBTYPE_raw);
|
||||
spa_pod_builder_pop(b);
|
||||
|
||||
spa_pod_builder_push_prop(b, SPA_FORMAT_VIDEO_format,
|
||||
SPA_POD_PROP_FLAG_UNSET |
|
||||
|
|
|
|||
|
|
@ -224,8 +224,8 @@ static void on_state_changed(void *_data, enum pw_remote_state old, enum pw_remo
|
|||
|
||||
params[0] = spa_pod_builder_object(&b,
|
||||
SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
|
||||
"I", SPA_MEDIA_TYPE_video,
|
||||
"I", SPA_MEDIA_SUBTYPE_raw,
|
||||
":", SPA_FORMAT_mediaType, "I", SPA_MEDIA_TYPE_video,
|
||||
":", SPA_FORMAT_mediaSubtype, "I", SPA_MEDIA_SUBTYPE_raw,
|
||||
":", SPA_FORMAT_VIDEO_format, "I", SPA_VIDEO_FORMAT_RGB,
|
||||
":", SPA_FORMAT_VIDEO_size, "Rru", &SPA_RECTANGLE(320, 240),
|
||||
SPA_POD_PROP_MIN_MAX(&SPA_RECTANGLE(1, 1),
|
||||
|
|
|
|||
|
|
@ -535,8 +535,14 @@ convert_1 (ConvertData *d)
|
|||
d->b.write = write_pod;
|
||||
|
||||
spa_pod_builder_push_object (&d->b, SPA_TYPE_OBJECT_Format, d->id);
|
||||
|
||||
spa_pod_builder_push_prop (&d->b, SPA_FORMAT_mediaType, 0);
|
||||
spa_pod_builder_enum(&d->b, d->type->media_type);
|
||||
spa_pod_builder_pop (&d->b);
|
||||
|
||||
spa_pod_builder_push_prop (&d->b, SPA_FORMAT_mediaSubtype, 0);
|
||||
spa_pod_builder_enum(&d->b, d->type->media_subtype);
|
||||
spa_pod_builder_pop (&d->b);
|
||||
|
||||
if (d->type->media_type == SPA_MEDIA_TYPE_video)
|
||||
handle_video_fields (d);
|
||||
|
|
|
|||
|
|
@ -329,8 +329,8 @@ static int port_enum_formats(struct spa_node *node,
|
|||
} else {
|
||||
*param = spa_pod_builder_object(builder,
|
||||
SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
|
||||
"I", SPA_MEDIA_TYPE_audio,
|
||||
"I", SPA_MEDIA_SUBTYPE_raw,
|
||||
":", SPA_FORMAT_mediaType, "I", SPA_MEDIA_TYPE_audio,
|
||||
":", SPA_FORMAT_mediaSubtype, "I", SPA_MEDIA_SUBTYPE_raw,
|
||||
":", SPA_FORMAT_AUDIO_format, "I", SPA_AUDIO_FORMAT_F32,
|
||||
":", SPA_FORMAT_AUDIO_layout, "I", SPA_AUDIO_LAYOUT_NON_INTERLEAVED,
|
||||
":", SPA_FORMAT_AUDIO_rate, "iru", 44100,
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ static struct monitor_item *add_item(struct pw_spa_monitor *this,
|
|||
}
|
||||
|
||||
flags = PW_SPA_NODE_FLAG_ACTIVATE;
|
||||
flags |= (state == SPA_MONITOR_ITEM_STATE_AVAILABLE) ? 0 : PW_SPA_NODE_FLAG_DISABLE;
|
||||
flags |= (state == SPA_MONITOR_ITEM_STATE_Available) ? 0 : PW_SPA_NODE_FLAG_DISABLE;
|
||||
|
||||
mitem = calloc(1, sizeof(struct monitor_item));
|
||||
mitem->id = strdup(id);
|
||||
|
|
@ -197,13 +197,15 @@ static void change_item(struct pw_spa_monitor *this, struct spa_pod *item, uint6
|
|||
return;
|
||||
|
||||
switch (state) {
|
||||
case SPA_MONITOR_ITEM_STATE_AVAILABLE:
|
||||
case SPA_MONITOR_ITEM_STATE_Available:
|
||||
pw_node_set_enabled(mitem->node, true);
|
||||
break;
|
||||
case SPA_MONITOR_ITEM_STATE_DISABLED:
|
||||
case SPA_MONITOR_ITEM_STATE_UNAVAILABLE:
|
||||
case SPA_MONITOR_ITEM_STATE_Disabled:
|
||||
case SPA_MONITOR_ITEM_STATE_Unavailable:
|
||||
pw_node_set_enabled(mitem->node, false);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -218,9 +218,9 @@ static void print_node(struct proxy_data *data)
|
|||
printf("%c\tparams:\n", MARK_CHANGE(5));
|
||||
for (i = 0; i < data->n_params; i++) {
|
||||
if (spa_pod_is_object_type(data->params[i], SPA_TYPE_OBJECT_Format))
|
||||
spa_debug_format(2, NULL, data->params[i]);
|
||||
spa_debug_format(10, NULL, data->params[i]);
|
||||
else
|
||||
spa_debug_pod(2, spa_debug_types, data->params[i]);
|
||||
spa_debug_pod(10, spa_debug_types, data->params[i]);
|
||||
}
|
||||
printf("%c\tinput ports: %u/%u\n", MARK_CHANGE(1),
|
||||
info->n_input_ports, info->max_input_ports);
|
||||
|
|
@ -293,9 +293,9 @@ static void print_port(struct proxy_data *data)
|
|||
printf("%c\tparams:\n", MARK_CHANGE(2));
|
||||
for (i = 0; i < data->n_params; i++) {
|
||||
if (spa_pod_is_object_type(data->params[i], SPA_TYPE_OBJECT_Format))
|
||||
spa_debug_format(2, NULL, data->params[i]);
|
||||
spa_debug_format(12, NULL, data->params[i]);
|
||||
else
|
||||
spa_debug_pod(2, spa_debug_types, data->params[i]);
|
||||
spa_debug_pod(12, spa_debug_types, data->params[i]);
|
||||
}
|
||||
print_properties(info->props, MARK_CHANGE(1));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue