Elizabeth Figura (@zfigura) commented about dlls/winegstreamer/wg_transform.c:
if (IsEqualGUID(¶ms->output_type.major, &MFMediaType_Video)) transform->output_info = params->output_type.u.video->videoInfo;
- /* update the video apertures to make sure GStreamer has a consistent input/output frame size */
- if (!strcmp(input_mime, "video/x-raw") && !strcmp(output_mime, "video/x-raw"))
update_video_aperture(&transform->input_info, &transform->output_info);
- if (IsEqualGUID(¶ms->input_type.major, &MFMediaType_Video))
set_video_caps_aperture(transform->input_caps, &transform->input_info);
- if (IsEqualGUID(¶ms->output_type.major, &MFMediaType_Video))
set_video_caps_aperture(transform->output_caps, &transform->output_info);
If we are going to change the video aperture (and see my other comment), wouldn't it be simpler to do so *before* calling caps_from_media_type()?
In fact, I'd go as far as to do it on the PE side. From experience I find that simplifying the Unix portion, and reducing fixups from that part, leads to an internal API that's easier to work with.