[PATCH v2 5/6] winegstreamer: Support wg_transform output format change events.
Zebediah Figura
zfigura at codeweavers.com
Mon May 16 22:55:08 CDT 2022
On 5/13/22 04:48, Rémi Bernon wrote:
> diff --git a/dlls/winegstreamer/wg_transform.c b/dlls/winegstreamer/wg_transform.c
> index b6cc51aecb7..9edcd72754f 100644
> --- a/dlls/winegstreamer/wg_transform.c
> +++ b/dlls/winegstreamer/wg_transform.c
> @@ -52,17 +52,27 @@ struct wg_transform
> guint input_max_length;
> GstAtomicQueue *output_queue;
> GstSample *output_sample;
> + bool output_caps_changed;
> GstCaps *output_caps;
> };
To be clear, what bothered me about the last iteration is that the
format-change logic feels awkwardly split in half between the frontend
and backend. Hence my proposal to move it *entirely* to the
frontend—including keeping track of the previous type there, comparing
caps, and returning MF_E_TRANSFORM_STREAM_CHANGE from the front end. So
the existence of this field still feels awkward to me. Did I forget a
discussion again about why it's necessary?
For that matter, I could also see an argument for moving the whole thing
to the back end, and handling the "frontend needs to explicitly
invalidate the format" problem by adding a new unixlib API for it. (Or
maybe just destroying and recreating the wg_transform? That's not ideal
if it happens frequently, but I don't know if that's the case.)
More information about the wine-devel
mailing list