In the implementation of [`evr_disconnect()`](https://gitlab.winehq.org/wine/wine/-/blob/wine-8.2/dlls/evr/evr.c#L325-333), it will try to clear types of mixer by pass null to `IMFTransform_SetInputType()`:
```c static void evr_disconnect(struct strmbase_renderer *iface) { struct evr *filter = impl_from_strmbase_renderer(iface);
if (filter->mixer) IMFTransform_SetInputType(filter->mixer, 0, NULL, 0); evr_set_input_type(filter, NULL); evr_release_services(filter); }
```
This null ptr (`media_type`) will be pass to [`video_mixer_collect_output_types()`](https://gitlab.winehq.org/wine/wine/-/blob/wine-8.2/dlls/evr/mixer.c#L869) and cause a [crash](https://gitlab.winehq.org/wine/wine/-/blob/wine-8.2/dlls/evr/mixer.c#L663):
```c static HRESULT WINAPI video_mixer_transform_SetInputType(IMFTransform *iface, DWORD id, IMFMediaType *media_type, DWORD flags) { ... if (!mixer->device_manager) hr = MF_E_NOT_INITIALIZED; else { if (SUCCEEDED(hr = video_mixer_get_processor_service(mixer, &service))) { if (SUCCEEDED(hr = video_mixer_init_dxva_videodesc(media_type, &video_desc))) ... ```
In this patch, `video_mixer_transform_SetInputType()` will only clear types when got a NULL `media_type` and return `S_OK`.
-- v6: evr: Fix crash when clear input type for the mixer