Rémi Bernon (@rbernon) commented about dlls/winegstreamer/media_sink.c:
iface, stream_sink_id, media_type, stream_sink);
- if (!FAILED(IMFMediaType_GetMajorType(media_type, &major_type)) &&
IsEqualGUID(&major_type, &MFMediaType_Audio) &&
!FAILED(IMFMediaType_GetGUID(media_type, &MF_MT_SUBTYPE, &subtype)) &&
(IsEqualGUID(&subtype, &MFAudioFormat_AAC) || IsEqualGUID(&subtype, &MFAudioFormat_RAW_AAC)) &&
FAILED(IMFMediaType_GetItem(media_type, &MF_MT_USER_DATA, NULL)))
- {
if (FAILED(hr = MFCreateMediaType(&type_copy)) ||
FAILED(hr = IMFMediaType_CopyAllItems(media_type, (IMFAttributes*)type_copy)))
goto done;
hr = mf_media_type_add_aac_user_data(type_copy);
if (FAILED(hr))
goto done;
media_type = type_copy;
- }
Doesn't seem right to have to do that here. Please 1) a test to check that not passing MF_MT_USER_DATA works, and 2) probably this done elsewhere, for instance fallback to individual AAC attributes in `mf_media_type_to_wg_format_audio_mpeg4` when MF_MT_USER_DATA is missing.
(Also `!FAILED` should be `SUCCEEDED`)