1 From 68936c7fb864440bb4d2ab737a651888ac7c253a Mon Sep 17 00:00:00 2001
2 From: Eric Ruei <e-ruei1@ti.com>
3 Date: Fri, 17 Mar 2017 10:42:32 -0400
4 Subject: [PATCH 2/3] kmssink: remove DCE dependencies
6 Replace DCE related API calls to libdrm and omapdrm API calls
7 to decouple DCE from kmssink
9 Signed-off-by: Eric Ruei <e-ruei1@ti.com>
12 sys/kms/Makefile.am | 2 --
13 sys/kms/gstkmssink.c | 17 +++++++++++++----
14 3 files changed, 13 insertions(+), 7 deletions(-)
16 diff --git a/configure.ac b/configure.ac
17 index f93d52d..a6f93a5 100644
20 @@ -2321,7 +2321,6 @@ dnl *** kms ***
21 translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
22 AG_GST_CHECK_FEATURE(KMS, [kmssink], kms, [
23 PKG_CHECK_MODULES([DRM], [libdrm libdrm_omap], HAVE_KMS=yes, HAVE_KMS=no)
24 -PKG_CHECK_MODULES(LIBDCE, [libdce >= 1.0.0], HAVE_KMS=yes, HAVE_KMS=no)
28 diff --git a/sys/kms/Makefile.am b/sys/kms/Makefile.am
29 index 6d56073..cc7353e 100644
30 --- a/sys/kms/Makefile.am
31 +++ b/sys/kms/Makefile.am
32 @@ -9,7 +9,6 @@ libgstkmssink_la_CFLAGS = \
33 $(GST_PLUGINS_BAD_CFLAGS) \
34 $(GST_PLUGINS_BASE_CFLAGS) \
40 @@ -17,7 +16,6 @@ libgstkmssink_la_LIBADD = \
41 $(GST_PLUGINS_BASE_LIBS) \
46 -lgstvideo-$(GST_API_VERSION) \
47 $(top_builddir)/gst-libs/gst/drm/libgstdrm-$(GST_API_VERSION).la
48 diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
49 index 17e6407..9795bdf 100644
50 --- a/sys/kms/gstkmssink.c
51 +++ b/sys/kms/gstkmssink.c
53 #include "gstkmssink.h"
54 #include "gstkmsbufferpriv.h"
58 #include <omap_drmif.h>
59 #include <xf86drmMode.h>
60 @@ -516,13 +515,18 @@ gst_kms_sink_start (GstBaseSink * bsink)
62 sink = GST_KMS_SINK (bsink);
64 - drm_dev = dce_init ();
65 + drm_fd = open("/dev/dri/card0", O_RDWR | O_CLOEXEC);
69 + drm_dev = omap_device_new(drm_fd);
77 - sink->fd = dce_get_fd ();
78 - drm_fd = dce_get_fd ();
81 sink->resources = drmModeGetResources (sink->fd);
82 @@ -539,6 +543,11 @@ fail:
83 gst_kms_sink_reset (sink);
87 + GST_ELEMENT_ERROR (sink, RESOURCE, FAILED,
88 + (NULL), ("drmOpen failed"));
92 GST_ELEMENT_ERROR (sink, RESOURCE, FAILED,
93 (NULL), ("omap_device_new failed"));