diff --git a/multimedia/gstreamer1-vaapi/Makefile b/multimedia/gstreamer1-vaapi/Makefile index 034870e0b633..52ec2326d4fc 100644 --- a/multimedia/gstreamer1-vaapi/Makefile +++ b/multimedia/gstreamer1-vaapi/Makefile @@ -1,39 +1,40 @@ # Created by: Koop Mast # $FreeBSD$ PORTNAME= gstreamer1-vaapi PORTVERSION= 1.16.2 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= https://gstreamer.freedesktop.org/src/gstreamer-vaapi/ DISTNAME= gstreamer-vaapi-${PORTVERSION} MAINTAINER= multimedia@FreeBSD.org COMMENT= GStreamer hardware video decoding via VA-API plug-in LICENSE= LGPL21 LIB_DEPENDS= libva.so:multimedia/libva GNU_CONFIGURE= yes INSTALL_TARGET= install-strip USES= compiler:c11 gettext-runtime gl gmake gnome libtool \ pkgconfig tar:xz xorg USE_LDCONFIG= yes USE_GNOME= glib20 USE_GSTREAMER1= bad gl USE_GL= gl USE_XORG= x11 xrandr xrender xorgproto OPTIONS_DEFINE= DRM WAYLAND DRM_DESC= Raw KMS/DRM backend DRM_CONFIGURE_ENABLE= drm DRM_LIB_DEPENDS= libudev.so:devel/libudev-devd \ libdrm.so:graphics/libdrm WAYLAND_CONFIGURE_ENABLE= wayland WAYLAND_LIB_DEPENDS= libva-wayland.so:multimedia/libva \ libwayland-client.so:graphics/wayland .include diff --git a/multimedia/gstreamer1-vaapi/files/patch-gst-libs_gst_vaapi_gstvaapidisplay__drm.c b/multimedia/gstreamer1-vaapi/files/patch-gst-libs_gst_vaapi_gstvaapidisplay__drm.c new file mode 100644 index 000000000000..270a6c20164d --- /dev/null +++ b/multimedia/gstreamer1-vaapi/files/patch-gst-libs_gst_vaapi_gstvaapidisplay__drm.c @@ -0,0 +1,22 @@ +Workaround for an incompatibility bug in our libudev-devd. +See https://github.com/FreeBSDDesktop/libudev-devd/issues/19 + +--- gst-libs/gst/vaapi/gstvaapidisplay_drm.c.orig 2019-12-02 20:09:01 UTC ++++ gst-libs/gst/vaapi/gstvaapidisplay_drm.c +@@ -108,6 +108,7 @@ get_default_device_path (GstVaapiDisplay * display) + udev_list_entry_foreach (l, udev_enumerate_get_list_entry (e)) { + syspath = udev_list_entry_get_name (l); + device = udev_device_new_from_syspath (udev, syspath); ++#ifdef __linux__ + parent = udev_device_get_parent (device); + + for (i = 0; allowed_subsystems[i] != NULL; i++) +@@ -119,7 +120,7 @@ get_default_device_path (GstVaapiDisplay * display) + udev_device_unref (device); + continue; + } +- ++#endif + devpath = udev_device_get_devnode (device); + fd = open (devpath, O_RDWR | O_CLOEXEC); + if (fd < 0) {