Переглянути джерело

linux-pipewire: Check format availablity against DRM only for dmabufs

Whe using a software renderer there will be no formats available for
using with dmabufs. We should only consider those formats wrt. to
modifiers and as such move this check after adding general support for
that format.

fixes #7985
columbarius 2 роки тому
батько
коміт
d8b7906954
1 змінених файлів з 3 додано та 5 видалено
  1. 3 5
      plugins/linux-pipewire/pipewire.c

+ 3 - 5
plugins/linux-pipewire/pipewire.c

@@ -359,16 +359,14 @@ static void init_format_info(obs_pipewire_data *obs_pw)
 	for (size_t i = 0; i < N_SUPPORTED_FORMATS; i++) {
 		struct format_info *info;
 
-		if (!drm_format_available(supported_formats[i].drm_format,
-					  drm_formats, n_drm_formats))
-			continue;
-
 		info = da_push_back_new(obs_pw->format_info);
 		da_init(info->modifiers);
 		info->spa_format = supported_formats[i].spa_format;
 		info->drm_format = supported_formats[i].drm_format;
 
-		if (!capabilities_queried)
+		if (!capabilities_queried ||
+		    !drm_format_available(supported_formats[i].drm_format,
+					  drm_formats, n_drm_formats))
 			continue;
 
 		size_t n_modifiers;