Elizabeth Figura (@zfigura) commented about dlls/winegstreamer/wg_transform.c:
+ return caps; }
static gboolean transform_sink_query_caps(struct wg_transform *transform, GstQuery *query) { GstCaps *caps, *filter, *temp; + bool strip_size = false;
GST_LOG("transform %p, %"GST_PTR_FORMAT, transform, query);
gst_query_parse_caps(query, &filter); - if (!(caps = transform_format_to_caps(transform, &transform->output_format))) + if (filter && gst_structure_has_field(gst_caps_get_structure(filter, 0), "width")) + strip_size = transform->attrs.allow_size_change; + + if (!(caps = caps_strip_fields(transform->output_caps, strip_size))) But transform->output_format isn't equivalent to transform->output_caps.
GStreamer may never do a caps query at a relevant time, but if the application is required to call SetOutputType() with the new format, then pretending that the new format is already set looks very wrong. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5732#note_72161