summaryrefslogtreecommitdiffstats
path: root/package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch
blob: cdaa0fab24d3548192de20c48a5b6d2214dd1aec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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

OpenPOWER on IntegriCloud