hwcontext_opencl: Use correct function to enumerate devices
authorMark Thompson <sw@jkqxz.net>
Wed, 28 Nov 2018 00:16:30 +0000 (00:16 +0000)
committerMark Thompson <sw@jkqxz.net>
Sun, 2 Dec 2018 23:39:19 +0000 (23:39 +0000)
Also assert that all required functions are present.

libavutil/hwcontext_opencl.c

index be71c83..d3df622 100644 (file)
@@ -500,6 +500,9 @@ static int opencl_device_create_internal(AVHWDeviceContext *hwdev,
          *device_name_src   = NULL;
     int err, found, p, d;
 
+    av_assert0(selector->enumerate_platforms &&
+               selector->enumerate_devices);
+
     err = selector->enumerate_platforms(hwdev, &nb_platforms, &platforms,
                                         selector->context);
     if (err)
@@ -531,9 +534,9 @@ static int opencl_device_create_internal(AVHWDeviceContext *hwdev,
                 continue;
         }
 
-        err = opencl_enumerate_devices(hwdev, platforms[p], platform_name,
-                                       &nb_devices, &devices,
-                                       selector->context);
+        err = selector->enumerate_devices(hwdev, platforms[p], platform_name,
+                                          &nb_devices, &devices,
+                                          selector->context);
         if (err < 0)
             continue;