summaryrefslogtreecommitdiffstats
path: root/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch
blob: b5f79173b61153e850b20da5e1d3e8908f3eeaae (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
From fbbc07ce53e884b1603461ee5642d5f02788678d Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Thu, 21 Mar 2019 16:32:44 +0100
Subject: [PATCH] cmake/FindFFMPEG.cmake: use pkgconfig

ffmpeg has too many optional dependencies (opus, openssl, ...) instead
of trying to find them all one by one, use pkg-config to get them and
fallback on current mechanism

Fixes:
 - http://autobuild.buildroot.org/results/2b99fabd798db84a0fce26ad696c58e54c6ff626
 - http://autobuild.buildroot.org/results/95e410e5ab34c6d4626a58f97c0d2d5e6829a300

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved (and backported) from:
https://github.com/gerbera/gerbera/commit/fbbc07ce53e884b1603461ee5642d5f02788678d]
---
 cmake/FindFFMPEG.cmake | 147 +++++++++++++++++++++--------------------
 1 file changed, 75 insertions(+), 72 deletions(-)

diff --git a/cmake/FindFFMPEG.cmake b/cmake/FindFFMPEG.cmake
index 0a4a409f..9548b566 100644
--- a/cmake/FindFFMPEG.cmake
+++ b/cmake/FindFFMPEG.cmake
@@ -82,70 +82,76 @@ ENDIF (NOT FFMPEG_INCLUDE_DIR)
 # ffmpeg uses relative includes such as <ffmpeg/avformat.h> or <libavcodec/avformat.h>
 get_filename_component(FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_DIR} ABSOLUTE)
 
-FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_theora_LIBRARY theora
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_dts_LIBRARY dts
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_z_LIBRARY z
-        /usr/local/lib
-        /usr/lib
-        )
-
-FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2
-        /usr/local/lib
-        /usr/lib
-        )
+CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C)
+
+FIND_PACKAGE(PkgConfig QUIET)
+PKG_CHECK_MODULES(FFMPEG QUIET libavformat libavutil)
+IF (NOT FFMPEG_FOUND)
+	FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_theora_LIBRARY theora
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_dts_LIBRARY dts
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_z_LIBRARY z
+		/usr/local/lib
+		/usr/lib
+		)
+
+	FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2
+		/usr/local/lib
+		/usr/lib
+		)
+ENDIF(NOT FFMPEG_FOUND)
 
 SET(FFMPEG_LIBRARIES)
 IF (FFMPEG_INCLUDE_DIR)
@@ -205,9 +211,6 @@ IF (FFMPEG_INCLUDE_DIR)
                 ENDIF (FFMPEG_bz2_LIBRARY)
 
                 SET(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE INTERNAL "All presently found FFMPEG libraries.")
-
-                CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C)
-
             ENDIF (FFMPEG_avutil_LIBRARY)
         ENDIF (FFMPEG_avcodec_LIBRARY)
     ENDIF (FFMPEG_avformat_LIBRARY)
OpenPOWER on IntegriCloud