Rémi Bernon (@rbernon) commented about dlls/winegstreamer/media_sink.c:
static HRESULT WINAPI stream_sink_type_handler_GetMajorType(IMFMediaTypeHandler *iface, GUID *type) { - FIXME("iface %p, type %p.\n", iface, type); + struct stream_sink *stream_sink = impl_from_IMFMediaTypeHandler(iface); + struct media_sink *media_sink = impl_from_IMFFinalizableMediaSink(stream_sink->media_sink); + HRESULT hr = MF_E_ATTRIBUTENOTFOUND;
- return E_NOTIMPL; + TRACE("iface %p, type %p.\n", iface, type); + + EnterCriticalSection(&media_sink->cs); + if (stream_sink->type) + hr = IMFMediaType_GetGUID(stream_sink->type, &MF_MT_MAJOR_TYPE, type); + LeaveCriticalSection(&media_sink->cs);
You don't need to lock the cs here, for now at least, as stream_sink->type is never written to after creation. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5159#note_62628