KasmVNC/common/rfb
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
..
benchmark Drop avcodec_close for FFmpeg 8 compatibility 2026-05-19 10:55:12 +00:00
encoders VNC-151 Handle AVERROR_EOF 2026-05-08 18:24:19 +00:00
adler32.h Initial commit 2020-09-20 12:16:44 +00:00
Blacklist.cxx Allow setting -BlacklistThreshold to 0 to disable it 2024-09-23 13:29:35 +03:00
Blacklist.h Initial commit 2020-09-20 12:16:44 +00:00
CConnection.cxx Sync utf8 clipboard support 2021-04-12 12:38:24 +03:00
CConnection.h Sync utf8 clipboard support 2021-04-12 12:38:24 +03:00
clipboardTypes.h Refactor 2026-01-29 00:02:44 +00:00
CMakeLists.txt VNC-151 Add ENABLE_DEBUG_ENCODERS option for extended encoder debug logging 2026-05-08 18:22:14 +00:00
CMsgHandler.cxx Sync utf8 clipboard support 2021-04-12 12:38:24 +03:00
CMsgHandler.h Fix animated cursor resize crash 2021-06-15 15:40:14 +03:00
CMsgReader.cxx Initial commit 2020-09-20 12:16:44 +00:00
CMsgReader.h Initial commit 2020-09-20 12:16:44 +00:00
CMsgWriter.cxx Sync utf8 clipboard support 2021-04-12 12:38:24 +03:00
CMsgWriter.h Sync utf8 clipboard support 2021-04-12 12:38:24 +03:00
ComparingUpdateTracker.cxx Initial /api/get_frame_stats 2021-07-27 15:33:48 +03:00
ComparingUpdateTracker.h Initial /api/get_frame_stats 2021-07-27 15:33:48 +03:00
Configuration.cxx Enable basicauth by default, remove the option to supply it on the command line 2021-03-25 11:25:30 +02:00
Configuration.h Use size_t for lengths in stream objects 2020-09-21 12:55:59 +03:00
Congestion.cxx Initial /api/get_frame_stats 2021-07-27 15:33:48 +03:00
Congestion.h Initial /api/get_frame_stats 2021-07-27 15:33:48 +03:00
ConnParams.cxx VNC-151 Small refactor 2026-05-08 18:22:13 +00:00
ConnParams.h VNC-151 Fix NVENC and VAAPI 2026-05-08 18:22:12 +00:00
CopyRectDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
CopyRectDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
cpuid.cxx VNC-156 Integrate libcpuid for enhanced CPU feature detection 2025-05-25 18:08:26 +05:00
cpuid.h VNC-156 Integrate libcpuid for enhanced CPU feature detection 2025-05-25 18:08:26 +05:00
CSecurity.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityNone.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityPlain.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityPlain.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityStack.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityStack.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityTLS.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityTLS.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVeNCrypt.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVeNCrypt.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVncAuth.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVncAuth.h Initial commit 2020-09-20 12:16:44 +00:00
Cursor.cxx Initial commit 2020-09-20 12:16:44 +00:00
Cursor.h Initial commit 2020-09-20 12:16:44 +00:00
d3des.c Initial commit 2020-09-20 12:16:44 +00:00
d3des.h Initial commit 2020-09-20 12:16:44 +00:00
DecodeManager.cxx Initial commit 2020-09-20 12:16:44 +00:00
DecodeManager.h Initial commit 2020-09-20 12:16:44 +00:00
Decoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
Decoder.h Initial commit 2020-09-20 12:16:44 +00:00
EncCache.cxx Initial commit 2020-09-20 12:16:44 +00:00
EncCache.h Initial commit 2020-09-20 12:16:44 +00:00
EncodeManager.cxx VNC-151 Refactor stopwatch macros and improve debug logging for frame timing 2026-05-08 18:24:19 +00:00
EncodeManager.h VNC-330 Fix decoder recovery and improve video frame handling 2026-05-08 18:22:13 +00:00
EncodeManagerBPP.cxx Initial commit 2020-09-20 12:16:44 +00:00
Encoder.cxx VNC-151 Refactor encoders to use Screen layout instead of id, update constructors, and remove unnecessary clone methods 2026-01-29 00:02:37 +00:00
Encoder.h Refactor 2026-01-29 00:02:44 +00:00
encodings.cxx Start on new video impl 2026-01-29 00:00:53 +00:00
encodings.h Refactor 2026-01-29 00:02:44 +00:00
Exception.h Initial commit 2020-09-20 12:16:44 +00:00
fenceTypes.h VNC-151 Switch to modern variable init 2026-01-29 00:02:34 +00:00
ffmpeg.cxx Drop avcodec_close for FFmpeg 8 compatibility 2026-05-19 10:55:12 +00:00
ffmpeg.h Drop avcodec_close for FFmpeg 8 compatibility 2026-05-19 10:55:12 +00:00
font.h Resolve KASM-4489 "Feature/ watermark time" 2023-07-26 23:55:06 +00:00
hextileConstants.h Initial commit 2020-09-20 12:16:44 +00:00
hextileDecode.h Initial commit 2020-09-20 12:16:44 +00:00
HextileDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
HextileDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
hextileEncode.h Initial commit 2020-09-20 12:16:44 +00:00
hextileEncodeBetter.h Initial commit 2020-09-20 12:16:44 +00:00
HextileEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
HextileEncoder.h Refactor 2026-01-29 00:02:44 +00:00
Hostname.h Initial commit 2020-09-20 12:16:44 +00:00
InputHandler.h Toggle game mode 2022-05-03 17:30:12 +00:00
JpegCompressor.cxx Remove special functions from JPEG compressor 2021-03-29 10:48:55 +03:00
JpegCompressor.h Remove special functions from JPEG compressor 2021-03-29 10:48:55 +03:00
JpegDecompressor.cxx Initial commit 2020-09-20 12:16:44 +00:00
JpegDecompressor.h Initial commit 2020-09-20 12:16:44 +00:00
KeyRemapper.cxx Initial commit 2020-09-20 12:16:44 +00:00
KeyRemapper.h Initial commit 2020-09-20 12:16:44 +00:00
keysymdef.h Initial commit 2020-09-20 12:16:44 +00:00
ledStates.h Initial commit 2020-09-20 12:16:44 +00:00
ListConnInfo.h Initial commit 2020-09-20 12:16:44 +00:00
Logger.cxx Initial commit 2020-09-20 12:16:44 +00:00
Logger.h Initial commit 2020-09-20 12:16:44 +00:00
Logger_file.cxx New logging setup 2022-05-25 18:04:33 +00:00
Logger_file.h Initial commit 2020-09-20 12:16:44 +00:00
Logger_stdio.cxx Initial commit 2020-09-20 12:16:44 +00:00
Logger_stdio.h Initial commit 2020-09-20 12:16:44 +00:00
Logger_syslog.cxx Initial commit 2020-09-20 12:16:44 +00:00
Logger_syslog.h Initial commit 2020-09-20 12:16:44 +00:00
LogWriter.cxx Initial commit 2020-09-20 12:16:44 +00:00
LogWriter.h Initial commit 2020-09-20 12:16:44 +00:00
msgTypes.h Refactor 2026-01-29 00:02:44 +00:00
Palette.h Initial commit 2020-09-20 12:16:44 +00:00
pam.c Initial commit 2020-09-20 12:16:44 +00:00
pam.h Initial commit 2020-09-20 12:16:44 +00:00
Password.cxx Use size_t for lengths in stream objects 2020-09-21 12:55:59 +03:00
Password.h Use size_t for lengths in stream objects 2020-09-21 12:55:59 +03:00
Pixel.h Initial commit 2020-09-20 12:16:44 +00:00
PixelBuffer.cxx Initial commit 2020-09-20 12:16:44 +00:00
PixelBuffer.h Initial commit 2020-09-20 12:16:44 +00:00
PixelFormat.cxx Handle pixel formats with odd shift values 2020-09-21 12:56:53 +03:00
PixelFormat.h Initial commit 2020-09-20 12:16:44 +00:00
PixelFormat.inl Initial commit 2020-09-20 12:16:44 +00:00
PixelFormatBPP.cxx Initial commit 2020-09-20 12:16:44 +00:00
qemuTypes.h Initial commit 2020-09-20 12:16:44 +00:00
qoi.h Resolve KASM-2948 "Feature/ qoi support" 2022-11-02 17:32:58 +00:00
RawDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
RawDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
RawEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
RawEncoder.h Refactor 2026-01-29 00:02:44 +00:00
Rect.h Initial commit 2020-09-20 12:16:44 +00:00
Region.cxx Initial support for intensity-tinted alpha watermark 2023-02-17 14:04:32 +02:00
Region.h Initial support for intensity-tinted alpha watermark 2023-02-17 14:04:32 +02:00
rreDecode.h Initial commit 2020-09-20 12:16:44 +00:00
RREDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
RREDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
rreEncode.h Initial commit 2020-09-20 12:16:44 +00:00
RREEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
RREEncoder.h Refactor 2026-01-29 00:02:44 +00:00
scale_dummy.cxx Sse scaling (#52) 2021-09-09 13:55:33 -04:00
scale_sse2.cxx Resolve VNC-221 "Bug/ crash during screenshot" 2025-07-31 17:32:18 +00:00
scale_sse2.h Sse scaling (#52) 2021-09-09 13:55:33 -04:00
ScaleFilters.cxx Initial commit 2020-09-20 12:16:44 +00:00
ScaleFilters.h Initial commit 2020-09-20 12:16:44 +00:00
SConnection.cxx VNC-151 Fix iterator increment style, update method signatures, and improve code consistency 2026-01-29 00:02:32 +00:00
SConnection.h VNC-151 Fix iterator increment style, update method signatures, and improve code consistency 2026-01-29 00:02:32 +00:00
ScreenSet.h VNC-151 Refactor ScreenSet logic for modern C++ 2026-01-29 00:02:59 +00:00
screenTypes.h Initial commit 2020-09-20 12:16:44 +00:00
SDesktop.h Add support for relaying unix sockets 2023-02-16 15:51:26 +02:00
Security.cxx Initial commit 2020-09-20 12:16:44 +00:00
Security.h Initial commit 2020-09-20 12:16:44 +00:00
SecurityClient.cxx Initial commit 2020-09-20 12:16:44 +00:00
SecurityClient.h Initial commit 2020-09-20 12:16:44 +00:00
SecurityServer.cxx Initial commit 2020-09-20 12:16:44 +00:00
SecurityServer.h Initial commit 2020-09-20 12:16:44 +00:00
SelfBench.cxx KASM-6984 Refactor SelfBench XML generation and enhance benchmarking. Simplified XML structure by removing unnecessary elements and attributes. Added new fields to aggregate test case count, total time, and class name in the generated "SelfBench.xml" file. Ensures clearer benchmarking output and streamlined code. 2025-04-28 23:41:52 +05:00
ServerCore.cxx VNC-151 Update video streaming options and associated documentation 2026-01-29 00:03:05 +00:00
ServerCore.h VNC-151 Update video streaming options and associated documentation 2026-01-29 00:03:05 +00:00
SMsgHandler.cxx VNC-275 added explicit keepalive 2025-10-30 06:16:19 -04:00
SMsgHandler.h Refactor 2026-01-29 00:02:44 +00:00
SMsgReader.cxx VNC-151 Set default implementation for SMsgReader destructor 2026-01-29 00:03:14 +00:00
SMsgReader.h VNC-151 Set default implementation for SMsgReader destructor 2026-01-29 00:03:14 +00:00
SMsgWriter.cxx VNC-349 Add additional cursor-related conditions to SMsgWriter 2026-05-08 18:22:14 +00:00
SMsgWriter.h VNC-151 Simplify includes and default SMsgWriter destructor 2026-01-29 00:03:15 +00:00
SSecurity.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityNone.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityPlain.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityPlain.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityStack.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityStack.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityTLS.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityTLS.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVeNCrypt.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVeNCrypt.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVncAuth.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVncAuth.h Initial commit 2020-09-20 12:16:44 +00:00
TightConstants.h Initial support for intensity-tinted alpha watermark 2023-02-17 14:04:32 +02:00
tightDecode.h Handle empty Tight gradient rects 2020-09-21 12:46:27 +03:00
TightDecoder.cxx Make ZlibInStream more robust against failures 2020-09-21 12:40:12 +03:00
TightDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
TightEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
TightEncoder.h Refactor 2026-01-29 00:02:44 +00:00
TightEncoderBPP.cxx Implement server-side downgrade from udp 2022-10-03 14:54:40 +03:00
TightJPEGEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
TightJPEGEncoder.h Refactor 2026-01-29 00:02:44 +00:00
TightQOIEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
TightQOIEncoder.h Refactor 2026-01-29 00:02:44 +00:00
TightWEBPEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
TightWEBPEncoder.h Refactor 2026-01-29 00:02:44 +00:00
Timer.cxx Initial commit 2020-09-20 12:16:44 +00:00
Timer.h Support calling methods from timers 2021-03-29 09:58:18 +03:00
UnixPasswordValidator.cxx Initial commit 2020-09-20 12:16:44 +00:00
UnixPasswordValidator.h Initial commit 2020-09-20 12:16:44 +00:00
unixRelayLimits.h Add support for relaying unix sockets 2023-02-16 15:51:26 +02:00
UpdateTracker.cxx Initial commit 2020-09-20 12:16:44 +00:00
UpdateTracker.h Initial commit 2020-09-20 12:16:44 +00:00
UserMsgBox.h Initial commit 2020-09-20 12:16:44 +00:00
UserPasswdGetter.h Initial commit 2020-09-20 12:16:44 +00:00
util.cxx VNC-151 Simplify timeval diff calculation 2026-05-08 18:24:19 +00:00
util.h VNC-151 Refactor screenshot handling 2026-05-08 18:24:19 +00:00
VNCSConnectionST.cxx VNC-330 Fix decoder recovery and improve video frame handling 2026-05-08 18:22:13 +00:00
VNCSConnectionST.h VNC-330 Fix decoder recovery and improve video frame handling 2026-05-08 18:22:13 +00:00
VNCServer.h Chromeclip (#69) 2021-10-15 15:57:58 -04:00
VNCServerST.cxx VNC-151 Fix screenshot timer logic to ensure proper interval handling 2026-05-08 18:24:19 +00:00
VNCServerST.h VNC-151 Adjust screenshot timer initialization and interval handling 2026-05-08 18:24:19 +00:00
Watermark.cxx Implement rotated watermark text support 2024-01-22 13:32:32 +02:00
Watermark.h Watermark refactoring, don't handle changes, only send when necessary 2024-01-12 10:46:13 +02:00
WinPasswdValidator.cxx Initial commit 2020-09-20 12:16:44 +00:00
WinPasswdValidator.h Initial commit 2020-09-20 12:16:44 +00:00
XF86keysym.h Initial commit 2020-09-20 12:16:44 +00:00
xxhash.c Initial commit 2020-09-20 12:16:44 +00:00
xxhash.h Initial commit 2020-09-20 12:16:44 +00:00
zrleDecode.h Make ZlibInStream more robust against failures 2020-09-21 12:40:12 +03:00
ZRLEDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
ZRLEDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
ZRLEEncoder.cxx Refactor 2026-01-29 00:02:44 +00:00
ZRLEEncoder.h Refactor 2026-01-29 00:02:44 +00:00
ZRLEEncoderBPP.cxx Initial commit 2020-09-20 12:16:44 +00:00