From a6c53f53842449a7cbb6b4dda020e58903c9c894 Mon Sep 17 00:00:00 2001 From: arrowd Date: Wed, 5 Aug 2020 17:22:26 +0000 Subject: [PATCH] multimedia/gstreamer1-vaapi: Add a patch to fix a crash. PR: 245722 Submitted by: Oleg Sidorkin More context: https://github.com/FreeBSDDesktop/libudev-devd/issues/19 git-svn-id: svn+ssh://svn.freebsd.org/ports/head@544235 35697150-7ecd-e111-bb59-0022644237b5 --- multimedia/gstreamer1-vaapi/Makefile | 1 + ...-gst-libs_gst_vaapi_gstvaapidisplay__drm.c | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 multimedia/gstreamer1-vaapi/files/patch-gst-libs_gst_vaapi_gstvaapidisplay__drm.c diff --git a/multimedia/gstreamer1-vaapi/Makefile b/multimedia/gstreamer1-vaapi/Makefile index 034870e0b633d..52ec2326d4fc2 100644 --- a/multimedia/gstreamer1-vaapi/Makefile +++ b/multimedia/gstreamer1-vaapi/Makefile @@ -3,6 +3,7 @@ PORTNAME= gstreamer1-vaapi PORTVERSION= 1.16.2 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= https://gstreamer.freedesktop.org/src/gstreamer-vaapi/ DISTNAME= gstreamer-vaapi-${PORTVERSION} 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 0000000000000..270a6c20164d7 --- /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) {