[vlc-commits] opengl: vaapi: use vlc_vaapi_InitializeInstanceDRM

Thomas Guillem git at videolan.org
Fri Dec 1 16:34:50 CET 2017


vlc/vlc-3.0 | branch: master | Thomas Guillem <thomas at gllm.fr> | Fri Dec  1 16:08:51 2017 +0100| [9654e4e1943419c9b040aabcb944d4a90878aa62] | committer: Thomas Guillem

opengl: vaapi: use vlc_vaapi_InitializeInstanceDRM

Fixes #19173

(cherry picked from commit 1dc94297779123d9e706ea0d8a46f6225a5ca518)

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=9654e4e1943419c9b040aabcb944d4a90878aa62
---

 modules/video_output/opengl/converter_vaapi.c | 32 +++------------------------
 1 file changed, 3 insertions(+), 29 deletions(-)

diff --git a/modules/video_output/opengl/converter_vaapi.c b/modules/video_output/opengl/converter_vaapi.c
index 882b091b27..4f99b266c7 100644
--- a/modules/video_output/opengl/converter_vaapi.c
+++ b/modules/video_output/opengl/converter_vaapi.c
@@ -370,38 +370,12 @@ x11_init_vaapi_instance(opengl_tex_converter_t *tc, struct priv *priv)
 #endif
 
 #ifdef HAVE_VA_DRM
-static void
-drm_native_destroy_cb(VANativeDisplay native)
-{
-    vlc_close((intptr_t) native);
-}
 static int
 drm_init_vaapi_instance(opengl_tex_converter_t *tc, struct priv *priv)
 {
-    static const char *const drm_device_paths[] = {
-        "/dev/dri/renderD128",
-        "/dev/dri/card0"
-    };
-
-    for (size_t i = 0; i < ARRAY_SIZE(drm_device_paths); i++)
-    {
-        int drm_fd = vlc_open(drm_device_paths[i], O_RDWR);
-        if (drm_fd == -1)
-            continue;
-
-        priv->vadpy = vaGetDisplayDRM(drm_fd);
-        if (priv->vadpy)
-        {
-            priv->vainst =
-                vlc_vaapi_InitializeInstance(VLC_OBJECT(tc->gl), priv->vadpy,
-                                             (VANativeDisplay) (intptr_t)drm_fd,
-                                             drm_native_destroy_cb);
-            if (priv->vainst != NULL)
-                break;
-        }
-        else
-            vlc_close(drm_fd);
-    }
+    priv->vainst =
+        vlc_vaapi_InitializeInstanceDRM(VLC_OBJECT(tc->gl), vaGetDisplayDRM,
+                                        &priv->vadpy, NULL);
     return priv->vainst != NULL ? VLC_SUCCESS : VLC_EGENERIC;
 }
 #endif



More information about the vlc-commits mailing list