Greetings everyone, As you may know the libva* set of libraries share an internal ABI between them. In a resent libva commit, the va_fool API was removed.
Thus if one is to mix different versions of libva.so and libva-x11.so they will get an error, leading to a crash of the whole stack. The simple solution is to dlopen() the winsys components, like libva-x11 and libva-drm. The changes are pretty minor and allow us to handle this king of issues. Comments and suggestions are welcome, but please me gentle it's my first time hacking on ffmpeg :-P Thanks Emil Changes in v2: - add linkage against libdl Aside: - Please consider backporting it to the stable branches in due time. - I've noticed that we leak state in the error paths, happy to send follow-up patches if you'd like those fixed. - My TODO includes reducing the massive ABI between libva* and backend drivers, to a single extra "registration" API entrypoint. Emil Velikov (3): hwcontext_vaapi: do not link against libva-x11.so hwcontext_vaapi: do not link against libva-drm.so hwcontext_vaapi: #if guard VAAPI_DRM specifics configure | 2 +- libavutil/hwcontext_vaapi.c | 92 +++++++++++++++++++++++++++++++++++-- 2 files changed, 90 insertions(+), 4 deletions(-) -- 2.37.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".