From: Brad Smith Subject: Re: multimedia/xine-lib: Enable VA-API To: ports@openbsd.org Date: Thu, 25 Jul 2024 15:55:56 -0400 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 =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