I'm not sure what this code is trying to do? Was there meant to be a mode where lots of filenames could be provided as a string which was ':' separated? ':'s can occur in filenames (on macOS at least).
:.png will go through the top code path and a.png will go through the other one
https://github.com/MediaArea/MediaInfoLib/blob/master/Source/MediaInfo/MediaInfoList_Internal.cpp#L89
if (Pos!=string::npos && Pos!=1)
List.push_back(File_Name);
#if defined(MEDIAINFO_FILE_YES)
else if (File::Exists(File_Name))
List.push_back(File_Name);
#endif //defined(MEDIAINFO_FILE_YES)
#if defined(MEDIAINFO_DIRECTORY_YES)
else
{
....
}