Rémi Bernon (@rbernon) commented about dlls/winegstreamer/video_encoder.c:
}
+static void video_encoder_clear_input_type(struct video_encoder *encoder) +{ + if (encoder->input_type) + { + IMFMediaType_Release(encoder->input_type); + encoder->input_type = NULL; + } +} + +static void video_encoder_clear_output_type(struct video_encoder *encoder) +{ + if (encoder->output_type) + { + IMFMediaType_Release(encoder->input_type); You're releasing the wrong one here.
I'm not entirely sure these helpers are useful, they only save a couple of lines and add an indirection. It breaks a common code pattern that's otherwise used in all the other transform implementations. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5991#note_75094