mfvideosrc: check HRESULT of CreateClassEnumerator correctly
authorJan Lorenz <jan.lorenz@pascom.net>
Wed, 23 Nov 2022 13:35:07 +0000 (14:35 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 23 Nov 2022 14:45:50 +0000 (14:45 +0000)
Fixes a crash during direct show device enumeration

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1599
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3460>

subprojects/gst-plugins-bad/sys/mediafoundation/gstmfcapturedshow.cpp

index 00144bf..30ebe42 100644 (file)
@@ -1023,7 +1023,8 @@ gst_mf_dshow_enum_device (GstMFCaptureDShow * self,
       return FALSE;
   }
 
-  if (!gst_mf_result (hr))
+  // Documentation states that the result of CreateClassEnumerator must be checked against S_OK
+  if (hr != S_OK)
     return FALSE;
 
   for (guint i = 0;; i++) {