KasmVNC/common
Baldvin Kovacs c01476e117
Drop avcodec_close for FFmpeg 8 compatibility
avcodec_close() was deprecated in FFmpeg 3.x and removed in FFmpeg 8.0.
Its absence makes FFmpeg::FFmpeg()'s D_LOOKUP_SYM throw, which causes
the constructor to set available=false and disables the entire hardware
video encoding path. KasmVNC then logs:

  ffmpeg: Failed to load symbol avcodec_close
  VNCServerST: Hardware video encoding acceleration capability: unavailable

avcodec_close was only referenced from one site
(common/rfb/benchmark/FfmpegFrameFeeder.cpp's destructor), and that call
was redundant: codec_ctx_guard is a unique_ptr whose deleter calls
avcodec_free_context, which already releases the codec internally.

Remove the dlsym, the typedef, the struct member, and the wrapper, and
default the benchmark destructor (the guard handles cleanup). No runtime
behavior change on FFmpeg <= 7; restores hardware encode on FFmpeg >= 8.
2026-05-19 10:55:12 +00:00
..
network VNC-151 Refactor screenshot handling 2026-05-08 18:24:19 +00:00
os
rdr VNC-151 Include to ensure integer types usage 2026-01-29 00:02:39 +00:00
rfb Drop avcodec_close for FFmpeg 8 compatibility 2026-05-19 10:55:12 +00:00
Xregion
CMakeLists.txt