linuxOS_PX30_CAR/yocto/meta-rockchip/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18/0030-HACK-kmssink-Open-drm-devnode-directly.patch
2026-01-20 14:00:13 +08:00

37 lines
947 B
Diff

From 5ab65fc1a899bad80685fd7707b4637cf3bb1274 Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Tue, 26 Mar 2019 17:33:37 +0800
Subject: [PATCH 30/40] HACK: kmssink: Open drm devnode directly
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
sys/kms/gstkmssink.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
index 24eb9f2..19f265f 100644
--- a/sys/kms/gstkmssink.c
+++ b/sys/kms/gstkmssink.c
@@ -56,6 +56,7 @@
#include <xf86drmMode.h>
#include <drm_fourcc.h>
#include <string.h>
+#include <fcntl.h>
#include "gstkmssink.h"
#include "gstkmsutils.h"
@@ -815,6 +816,10 @@ gst_kms_sink_start (GstBaseSink * bsink)
self->fd = drmOpen (self->devname, self->bus_id);
else
self->fd = kms_open (&self->devname);
+
+ if (self->fd < 0)
+ self->fd = open ("/dev/dri/card0", O_RDWR);
+
if (self->fd < 0)
goto open_failed;
--
2.17.1