From c89c2e5562cdbe893a0498dcd1cbf4e6753e2750 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Mon, 3 Sep 2018 20:27:00 +0200 Subject: [PATCH] m4: fix local ffmpeg and avcodec function conflict Autotools miss avcodec function check. This is due to linker library list order, -ldrm is appended too early respect to -lavutil. This results in missing drm library functions for avcodec functions: - drmGetVersion() - drmFreeVersion() So these functions: - avcodec_get_context_defaults3 - avcodec_open2 - avcodec_encode_video2 can't link correctly during check and they seem not to be present. Then macros HAVE_FUN_avcodec_* are not defined in mediastreamer-config.h So local avcodec functions conflict with real avcodec library functions. In acinclude.m4 file, swap $FFMPEG_LIBS and -lavutil if avcodec is found. Signed-off-by: Giulio Benetti --- acinclude.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acinclude.m4 b/acinclude.m4 index 6c31ed823..89ff6643a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -110,7 +110,7 @@ AC_DEFUN([MS_CHECK_VIDEO],[ if test x$avcodec_found = xno ; then AC_MSG_WARN([Could not find libavcodec (from ffmpeg) headers and library.]) else - FFMPEG_LIBS="$FFMPEG_LIBS -lavutil" + FFMPEG_LIBS="-lavutil $FFMPEG_LIBS" fi