Class VideoCapture get() method in Windows 10

I tried to use VideoCapture get() method to get value of many properties before and after I use set() method to change the values of those properties. In Ubuntu, get() did return the values of those properties changed. But, in Windows10, get() would return the values of those properties the same as the values prior to set() were called. I know those set() did change the values because I can see the frame images were changed accordingly. Also, the return values of set() were true. Any reason why get() not working properly?

I finally figure out the bug on cap_msmf.cpp
template
bool CvCapture_MSMF::readComplexPropery(long prop, long & val) const
{
_ComPtr ctrl;
if (FAILED(videoFileSource->GetServiceForStream((DWORD)MF_SOURCE_READER_MEDIASOURCE, GUID_NULL, IID_PPV_ARGS(&ctrl))))
{
CV_LOG_DEBUG(NULL, “Failed to get service for stream”);
return false;
}
long paramVal, paramFlag;
if (FAILED(ctrl->Get(prop, &paramVal, &paramFlag)))
{
CV_LOG_DEBUG(NULL, "Failed to get property " << prop);
// we continue
}
// fallback - get default value
long minVal, maxVal, stepVal;
if (FAILED(ctrl->GetRange(prop, &minVal, &maxVal, &stepVal, &paramVal, &paramFlag)))
{
CV_LOG_DEBUG(NULL, "Failed to get default value for property " << prop);
return false;
}
val = paramVal;
return true;
}

The fall back part - get default value should be inside if (FAILED(ctrl->Get(prop, &paramVal, &paramFlag))) clause.

The function should be as below:
template
bool CvCapture_MSMF::readComplexPropery(long prop, long & val) const
{
_ComPtr ctrl;
if (FAILED(videoFileSource->GetServiceForStream((DWORD)MF_SOURCE_READER_MEDIASOURCE, GUID_NULL, IID_PPV_ARGS(&ctrl))))
{
CV_LOG_DEBUG(NULL, “Failed to get service for stream”);
return false;
}
long paramVal, paramFlag;
if (FAILED(ctrl->Get(prop, &paramVal, &paramFlag)))
{
CV_LOG_DEBUG(NULL, "Failed to get property " << prop);
// we continue
// fallback - get default value
long minVal, maxVal, stepVal;
if (FAILED(ctrl->GetRange(prop, &minVal, &maxVal, &stepVal, &paramVal, &paramFlag)))
{
CV_LOG_DEBUG(NULL, "Failed to get default value for property " << prop);
return false;
}
}
val = paramVal;
return true;
}

Will someone verify this fix and merge into current openCV source code?