From: Stuart Henderson Subject: Re: freerdp fails on latest snapshot To: Fred Cc: mike@marcott.net, ports@openbsd.org Date: Fri, 7 Nov 2025 14:11:36 +0000 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 ? 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 + }