/**
* gst_device_provider_factory_has_classesv:
* @factory: a #GstDeviceProviderFactory
- * @classes: (array zero-terminated=1): a %NULL terminated array of
- * klasses to match, only match if all classes are matched
+ * @classes: (array zero-terminated=1) (allow-none): a %NULL terminated array
+ * of klasses to match, only match if all classes are matched
*
* Check if @factory matches all of the given classes
*
return FALSE;
}
- for (; classes[0]; classes++) {
+ for (; classes != NULL && classes[0] != NULL; classes++) {
const gchar *found;
guint len;
/**
* gst_device_provider_factory_has_classes:
* @factory: a #GstDeviceProviderFactory
- * @classes: a "/" separate list of klasses to match, only match if all classes
- * are matched
+ * @classes: (allow-none): a "/" separate list of klasses to match, only match
+ * if all classes are matched
*
* Check if @factory matches all of the given @classes
*
- * Returns: %TRUE if @factory matches.
+ * Returns: %TRUE if @factory matches or if @classes is %NULL.
*
* Since: 1.4
*/
gchar **classesv;
gboolean res;
+ if (classes == NULL)
+ return TRUE;
+
classesv = g_strsplit (classes, "/", 0);
res = gst_device_provider_factory_has_classesv (factory, classesv);