Nikolay Sivov (@nsivov) commented about dlls/mfmediaengine/main.c:
- if (!engine->session)
return E_FAIL;
- if (FAILED(hr = IMFMediaSession_QueryInterface(engine->session, &IID_IMFGetService, (void **)&service)))
return hr;
- if (FAILED(hr = IMFGetService_GetService(service, &MR_POLICY_VOLUME_SERVICE, &IID_IMFSimpleAudioVolume, (void **)&sa_volume)))
goto done;
- hr = IMFSimpleAudioVolume_SetMasterVolume(sa_volume, (float)engine->volume);
- IMFSimpleAudioVolume_Release(sa_volume);
+done:
- IMFGetService_Release(service);
- return hr;
This could be even shorter with MFGetService() function.