Nikolay Sivov (@nsivov) commented about dlls/mf/session.c:
LIST_FOR_EACH_ENTRY(source, &session->presentation.sources, struct media_source, entry) { + hr = IMFPresentationDescriptor_GetUINT64(source->pd, &MF_PD_DURATION, (UINT64 *)&duration); + if (SUCCEEDED(hr) && start_position->vt == VT_I8 && start_position->hVal.QuadPart > duration) + { + WARN("Start position %s out of range, hr %#lx.\n", wine_dbgstr_longlong(start_position->hVal.QuadPart), hr); + session_command_complete_with_event(session, MESessionStarted, MF_E_INVALID_POSITION, NULL); + return; + } +
This only works for GUID_NULL time format, even if we don't support other formats yet. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3572#note_42291