On Mon, Jul 22, 2024 at 06:18:50AM -0400, Brad Smith wrote:
> This should enable the VA-API support in Xine-lib.
> 
> Please test.

Here is an updated diff.


Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/xine-lib/Makefile,v
retrieving revision 1.157
diff -u -p -u -p -r1.157 Makefile
--- Makefile    27 Sep 2023 10:10:22 -0000      1.157
+++ Makefile    25 Jul 2024 19:53:13 -0000
@@ -1,6 +1,7 @@
 COMMENT=       multimedia decoding library
 
 DISTNAME=      xine-lib-1.2.13
+REVISION=      0
 CATEGORIES=    multimedia
 SITES=         ${SITE_SOURCEFORGE:=xine/}
 EXTRACT_SUFX=  .tar.xz
@@ -15,15 +16,17 @@ MAINTAINER= Brad Smith <b...@comstyle.co
 PERMIT_PACKAGE=        Yes
 
 WANTLIB += ${COMPILER_LIBCXX} EGL FLAC GL GLU ICE SDL SM X11 X11-xcb
-WANTLIB += Xau Xdmcp Xext Xfixes Xinerama Xv XvMCW Xxf86vm aom avcodec
-WANTLIB += avformat avutil bluray bz2 c cdio crypto dav1d drm dvdnav
-WANTLIB += dvdread execinfo expat fontconfig freetype gbm gcrypt glapi
-WANTLIB += gpg-error gsm iconv intl iso9660 jpeg lcms lzma m mng modplug
-WANTLIB += mp3lame mpcdec nfs ogg opus png postproc sndio speex ssl
-WANTLIB += swresample theora theoradec theoraenc udfread usbhid v4l2
-WANTLIB += v4lconvert vcdinfo vorbis vorbisenc vpx x264 x265 xcb xcb-dri2
-WANTLIB += xcb-dri3 xcb-glx xcb-present xcb-shape xcb-shm xcb-sync
-WANTLIB += xcb-xfixes xcb-xv xdg-basedir xml2 xshmfence xvidcore z
+WANTLIB += Xau Xdmcp Xext Xfixes Xinerama Xv XvMCW Xxf86vm aom
+WANTLIB += avcodec avformat avutil bluray bz2 c cdio crypto dav1d
+WANTLIB += drm dvdnav dvdread execinfo expat fontconfig freetype
+WANTLIB += gbm gcrypt glapi gpg-error gsm iconv intl iso9660 jpeg
+WANTLIB += lcms lzma m mng modplug mp3lame mpcdec nfs ogg opus
+WANTLIB += png postproc sndio speex ssl swresample theora theoradec
+WANTLIB += theoraenc udfread usbhid v4l2 v4lconvert va va-drm
+WANTLIB += va-x11 vcdinfo vorbis vorbisenc vpx x264 x265 xcb
+WANTLIB += xcb-dri2 xcb-dri3 xcb-glx xcb-present xcb-randr xcb-shape
+WANTLIB += xcb-shm xcb-sync xcb-xfixes xcb-xv xdg-basedir xml2
+WANTLIB += xshmfence xvidcore z
 
 XINEAPI_REV=   2.11
 SUBST_VARS+=   XINEAPI_REV
@@ -43,7 +46,7 @@ LIB_DEPENDS=  audio/flac \
                devel/gettext,-runtime \
                devel/libnfs \
                devel/sdl \
-               graphics/ffmpeg \
+               graphics/ffmpeg>=4.4.4p6 \
                graphics/jpeg \
                graphics/libmng \
                graphics/png \
Index: patches/patch-m4_video_out_m4
===================================================================
RCS file: patches/patch-m4_video_out_m4
diff -N patches/patch-m4_video_out_m4
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-m4_video_out_m4       25 Jul 2024 19:53:13 -0000
@@ -0,0 +1,16 @@
+Enable VA-API support on OpenBSD.
+
+Index: m4/video_out.m4
+--- m4/video_out.m4.orig
++++ m4/video_out.m4
+@@ -49,6 +49,10 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [
+             default_enable_vaapi=yes
+             ;;
+ 
++        openbsd*)
++            default_enable_vaapi=yes
++            ;;
++
+         gnu*)
+             default_enable_vdpau=yes
+             ;;
Index: patches/patch-src_audio_out_audio_sndio_out_c
===================================================================
RCS file: patches/patch-src_audio_out_audio_sndio_out_c
diff -N patches/patch-src_audio_out_audio_sndio_out_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_audio_out_audio_sndio_out_c       25 Jul 2024 19:53:13 
-0000
@@ -0,0 +1,37 @@
+Index: src/audio_out/audio_sndio_out.c
+--- src/audio_out/audio_sndio_out.c.orig
++++ src/audio_out/audio_sndio_out.c
+@@ -306,14 +306,31 @@ static int ao_sndio_set_property (ao_driver_t *this_ge
+  */
+ static int ao_sndio_ctrl(ao_driver_t *this_gen, int cmd, ...)
+ {
+-  (void)this_gen;
+-  (void)cmd;
++  sndio_driver_t *this = (sndio_driver_t *) this_gen;
++  int err;
+ 
+   /*
+    * sndio pauses automatically if there are no more samples to play
+    * and resumes when there are samples again. So we leave this empty
+    * for the moment.
+    */
++  switch (cmd) {
++  case AO_CTRL_PLAY_PAUSE:
++  case AO_CTRL_PLAY_RESUME:
++    break;
++
++  case AO_CTRL_FLUSH_BUFFERS:
++    if (!sio_flush(this->hdl)) {
++      xprintf (this->xine, XINE_VERBOSITY_DEBUG,
++               "audio_sndio_out: ao_sndio_ctrl could not flush\n");
++    }
++
++    if (!sio_start(this->hdl)) {
++      xprintf (this->xine, XINE_VERBOSITY_DEBUG,
++               "audio_sndio_out: ao_sndio_ctrl could not start\n");
++    }
++    break;
++  }
+ 
+   return 0;
+ }
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/multimedia/xine-lib/pkg/PLIST,v
retrieving revision 1.30
diff -u -p -u -p -r1.30 PLIST
--- pkg/PLIST   13 Mar 2022 13:55:09 -0000      1.30
+++ pkg/PLIST   25 Jul 2024 19:53:13 -0000
@@ -91,6 +91,7 @@ lib/xine/plugins/${XINEAPI_REV}/post/
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_slave.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_dmx_video.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_flac.so
+@so lib/xine/plugins/${XINEAPI_REV}/xineplug_hw_frame_vaapi.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_bluray.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_cdda.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_inp_crypto.so
@@ -105,6 +106,8 @@ lib/xine/plugins/${XINEAPI_REV}/post/
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_nsf.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_sputext.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_tls_openssl.so
+@so lib/xine/plugins/${XINEAPI_REV}/xineplug_va_display_drm.so
+@so lib/xine/plugins/${XINEAPI_REV}/xineplug_va_display_x11.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vdr.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_gl_egl_x11.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_gl_glx.so
@@ -112,6 +115,7 @@ lib/xine/plugins/${XINEAPI_REV}/post/
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_opengl2.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_raw.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_sdl.so
+@so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_vaapi.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xcbshm.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xcbxv.so
 @so lib/xine/plugins/${XINEAPI_REV}/xineplug_vo_out_xshm.so

Reply via email to