mediastreamer: fix avcodec functions conflict
Autotools miss avcodec function check when linking statically, leading to conflicts between local functions and avcodec functions. Add patch to swap $FFMPEG_LIBS and -lavutil which are checked when AC_CHECK_LIB on avcodec_* functions. $FFMPEG_LIBS contain -ldrm that must be listed after -lavutil. Fixes: http://autobuild.buildroot.net/results/394/3945e06ea0dd1e16013184fbab5b67b3561c87ce/ http://autobuild.buildroot.net/results/576/576c7d71313c45753848462717200b2b8ff5bb0e/ http://autobuild.buildroot.net/results/f33/f339ac6ea30815eeb8ecb144c971f56c06a9f995 [Peter: adjust commit message to clarify that this is for static linking] Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
2989e3c87a
commit
daf7dd87f4
|
@ -0,0 +1,42 @@
|
|||
From d12e74a559602b3dff9a6bf38fcbb139535c9c9c Mon Sep 17 00:00:00 2001
|
||||
From: Giulio Benetti <giulio.benetti@micronovasrl.com>
|
||||
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 <giulio.benetti@micronovasrl.com>
|
||||
---
|
||||
acinclude.m4 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index 6c31ed82..89ff6643 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
|
||||
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
Loading…
Reference in a new issue