From: Stuart Henderson Subject: Re: freerdp fails on latest snapshot To: Fred , mike@marcott.net, ports@openbsd.org Date: Fri, 7 Nov 2025 14:18:29 +0000 On 2025/11/07 14:11, Stuart Henderson wrote: > On 2025/11/07 13:57, Fred wrote: > > I'm not the op but I tried your patch and it failed with the following > > there was a call missing, try this actually, I'll just commit it, along with USE_NOBTCFI for now. > ? ktrace.out > Index: Makefile > =================================================================== > RCS file: /cvs/ports/x11/freerdp/Makefile,v > diff -u -p -r1.73 Makefile > --- Makefile 21 May 2024 08:40:53 -0000 1.73 > +++ Makefile 7 Nov 2025 14:11:13 -0000 > @@ -1,5 +1,6 @@ > COMMENT = client for Microsoft RDP (remote desktop protocol) > DISTNAME = freerdp-2.11.7 > +REVISION = 0 > DPB_PROPERTIES = parallel > CATEGORIES = x11 net > > @@ -27,6 +28,8 @@ PERMIT_PACKAGE = Yes > WANTLIB += X11 Xcursor Xext Xfixes Xi Xinerama Xrandr Xrender Xv > WANTLIB += avcodec avutil c crypto cups epoll-shim execinfo m pthread sndio > WANTLIB += ssl swresample usb-1.0 xkbfile > + > +DEBUG_PACKAGES = ${BUILD_PACKAGES} > > # thread-local storage; C11 > COMPILER = base-clang ports-gcc > Index: patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c > =================================================================== > RCS file: patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c > diff -N patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c 7 Nov 2025 14:11:13 -0000 > @@ -0,0 +1,22 @@ > +Index: channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c > +--- channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c.orig > ++++ channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c > +@@ -624,11 +624,18 @@ static void tsmf_ffmpeg_free(ITSMFDecoder* decoder) > + > + if (mdecoder->codec_context) > + { > ++ > ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 69, 100) > + if (mdecoder->prepared) > + avcodec_close(mdecoder->codec_context); > ++#endif > + > + free(mdecoder->codec_context->extradata); > ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100) > ++ avcodec_free_context(&mdecoder->codec_context); > ++#else > + av_free(mdecoder->codec_context); > ++#endif > + } > + > + free(decoder); > Index: patches/patch-libfreerdp_codec_h264_ffmpeg_c > =================================================================== > RCS file: patches/patch-libfreerdp_codec_h264_ffmpeg_c > diff -N patches/patch-libfreerdp_codec_h264_ffmpeg_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-libfreerdp_codec_h264_ffmpeg_c 7 Nov 2025 14:11:13 -0000 > @@ -0,0 +1,27 @@ > +Index: libfreerdp/codec/h264_ffmpeg.c > +--- libfreerdp/codec/h264_ffmpeg.c.orig > ++++ libfreerdp/codec/h264_ffmpeg.c > +@@ -100,10 +100,10 @@ static void libavcodec_destroy_encoder(H264_CONTEXT* h > + > + if (sys->codecEncoderContext) > + { > +- avcodec_close(sys->codecEncoderContext); > + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100) > + avcodec_free_context(&sys->codecEncoderContext); > + #else > ++ avcodec_close(sys->codecEncoderContext); > + av_free(sys->codecEncoderContext); > + #endif > + } > +@@ -430,10 +430,10 @@ static void libavcodec_uninit(H264_CONTEXT* h264) > + > + if (sys->codecDecoderContext) > + { > +- avcodec_close(sys->codecDecoderContext); > + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100) > + avcodec_free_context(&sys->codecDecoderContext); > + #else > ++ avcodec_close(sys->codecDecoderContext); > + av_free(sys->codecDecoderContext); > + #endif > + } >