WMF: fixed compilation on Windows Vista.
We were using one function which is available only on Windows 7 (and later). Replace it with Vista-compatible calls. Task-number: QTBUG-32864 Change-Id: I77492a407330c3689dfbf8dc1180894cf7ca5f8d Reviewed-by: Christian Stromme <christian.stromme@digia.com>
This commit is contained in:
committed by
The Qt Project
parent
7d24543c27
commit
6f0cdc264f
@@ -1875,11 +1875,22 @@ void MFPlayerSession::handleSessionEvent(IMFMediaEvent *sessionEvent)
|
|||||||
emit error(QMediaPlayer::FormatError, tr("Unsupported media, a codec is missing."), true);
|
emit error(QMediaPlayer::FormatError, tr("Unsupported media, a codec is missing."), true);
|
||||||
} else {
|
} else {
|
||||||
if (m_audioSampleGrabberNode) {
|
if (m_audioSampleGrabberNode) {
|
||||||
IMFMediaType *mediaType = 0;
|
IUnknown *obj = 0;
|
||||||
hr = MFGetTopoNodeCurrentType(m_audioSampleGrabberNode, 0, FALSE, &mediaType);
|
if (SUCCEEDED(m_audioSampleGrabberNode->GetObject(&obj))) {
|
||||||
if (SUCCEEDED(hr)) {
|
IMFStreamSink *streamSink = 0;
|
||||||
m_audioSampleGrabber->setFormat(audioFormatForMFMediaType(mediaType));
|
if (SUCCEEDED(obj->QueryInterface(IID_PPV_ARGS(&streamSink)))) {
|
||||||
mediaType->Release();
|
IMFMediaTypeHandler *typeHandler = 0;
|
||||||
|
if (SUCCEEDED(streamSink->GetMediaTypeHandler((&typeHandler)))) {
|
||||||
|
IMFMediaType *mediaType = 0;
|
||||||
|
if (SUCCEEDED(typeHandler->GetCurrentMediaType(&mediaType))) {
|
||||||
|
m_audioSampleGrabber->setFormat(audioFormatForMFMediaType(mediaType));
|
||||||
|
mediaType->Release();
|
||||||
|
}
|
||||||
|
typeHandler->Release();
|
||||||
|
}
|
||||||
|
streamSink->Release();
|
||||||
|
}
|
||||||
|
obj->Release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user