No real difference in the code. My SWAG is, no manifest in yours. See if adding this compatibility section breaks freac. (Update: probably not; didn't fix anything when I did it to jb2112, but who knows).
:
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Win10 supportedOS Id -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS>
</application>
</compatibility>
:
I'd do it myself but, while I get everything to build for freac, or so it seems (tagidv2 or something failed to compile -- my guess that is not important; I'm using vs2019rc2), there are no decoders available. wma comes up as, Error: unknown file type. I have no idea what to do. The exes, smooth, and boca dlls, including wma enc/dec/tag, are in the same directory.
BTW, my fix is to mark wma-ll 24-bit as unsupported in Windows 1809+. The Easy Fix(tm).
P.S. Saw you guessing at wma-ll file type -
from: components\decoder\wma\wma.cpp
/*Try to guess if this is a lossless file.*/
did I see that right? This can do it:
GUID stGuid = {0};
hr = m_ImediaSourceTypePtr->GetGUID(MF_MT_SUBTYPE, &stGuid);
:
else if ((wavFormatTag == WAVE_FORMAT_WMAUDIO2) || // 9-Oct-2016 0415: 0x161 to 0x164
(wavFormatTag == WAVE_FORMAT_WMAUDIO3) ||
(wavFormatTag == WAVE_FORMAT_WMASPDIF) || // <-- not sure if this comes in a file
(wavFormatTag == WAVE_FORMAT_WMAUDIO_LOSSLESS)) {
rc = 0;
// the m_isWma* values are set at rdr_assignMetadata.cpp
//m_isWma; // 20-Jan-2016 0420: non-zero then is wma (if set one of the below is TRUE)
//m_isWmaStd; // WMMEDIASUBTYPE_WMAudioV8 00000161-0000-0010-8000-00AA00389B71 (also v2 and v7)
//m_isWmaPro; // WMMEDIASUBTYPE_WMAudioV9 00000162-0000-0010-8000-00AA00389B71
//m_isWmaLL; // WMMEDIASUBTYPE_WMAudio_Lossless 00000163-0000-0010-8000-00AA00389B71
}