diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-04-07 03:03:53 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-04-07 03:03:53 +0200 |
commit | d5a1385c7df4714df571d7f80916708b47767a57 (patch) | |
tree | 93fdd499babe961198e1e6b2f354bddd8f5929b3 | |
parent | 7f0503acb042d047682b432e68ed97b1644c3f59 (diff) | |
parent | c39f90e01e51c9fbc8074993a38e7f9b16338dbb (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta4
Change-Id: Icb722ebe5b9b02791cf3593f2347e398deb837fe
-rw-r--r-- | src/plugins/wmf/player/mfplayersession.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/wmf/player/mfplayersession.cpp b/src/plugins/wmf/player/mfplayersession.cpp index 24bfda833..9761fd993 100644 --- a/src/plugins/wmf/player/mfplayersession.cpp +++ b/src/plugins/wmf/player/mfplayersession.cpp @@ -277,10 +277,13 @@ MFPlayerSession::MediaType MFPlayerSession::getStreamType(IMFStreamDescriptor *s if (!stream) return Unknown; - IMFMediaTypeHandler *typeHandler = NULL; - if (SUCCEEDED(stream->GetMediaTypeHandler(&typeHandler))) { + struct SafeRelease { + IMFMediaTypeHandler *ptr = nullptr; + ~SafeRelease() { if (ptr) ptr->Release(); } + } typeHandler; + if (SUCCEEDED(stream->GetMediaTypeHandler(&typeHandler.ptr))) { GUID guidMajorType; - if (SUCCEEDED(typeHandler->GetMajorType(&guidMajorType))) { + if (SUCCEEDED(typeHandler.ptr->GetMajorType(&guidMajorType))) { if (guidMajorType == MFMediaType_Audio) return Audio; else if (guidMajorType == MFMediaType_Video) @@ -288,9 +291,6 @@ MFPlayerSession::MediaType MFPlayerSession::getStreamType(IMFStreamDescriptor *s } } - if (typeHandler) - typeHandler->Release(); - return Unknown; } |