kcptun: add tcp option
[feed/packages.git] / multimedia / gst1-plugins-base / Makefile
1 #
2 # Copyright (C) 2008-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=gst1-plugins-base
11 PKG_VERSION:=1.18.5
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-base
16 PKG_HASH:=960b7af4585700db0fdd5b843554e11e2564fed9e061f591fae88a7be6446fa3
17 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-base-$(PKG_VERSION)
18
19 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
20 Ted Hess <thess@kitschensync.net>
21 PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later
22 PKG_LICENSE_FILES:=COPYING.LIB COPYING
23 PKG_CPE_ID:=cpe:/a:gstreamer:gst-plugins-base
24
25 PKG_INSTALL:=1
26
27 include $(INCLUDE_DIR)/package.mk
28 include $(INCLUDE_DIR)/nls.mk
29 include $(INCLUDE_DIR)/meson.mk
30
31 PKG_CONFIG_DEPENDS:= \
32 CONFIG_PACKAGE_gst1-mod-alsa \
33 CONFIG_PACKAGE_gst1-mod-app \
34 CONFIG_PACKAGE_gst1-mod-audioconvert \
35 CONFIG_PACKAGE_gst1-mod-audiorate \
36 CONFIG_PACKAGE_gst1-mod-audioresample \
37 CONFIG_PACKAGE_gst1-mod-audiotestsrc \
38 CONFIG_PACKAGE_gst1-mod-playback \
39 CONFIG_PACKAGE_gst1-mod-gio \
40 CONFIG_PACKAGE_gst1-mod-ogg \
41 CONFIG_PACKAGE_gst1-mod-opus \
42 CONFIG_PACKAGE_gst1-mod-tcp \
43 CONFIG_PACKAGE_gst1-mod-theora \
44 CONFIG_PACKAGE_gst1-mod-typefind \
45 CONFIG_PACKAGE_gst1-mod-videoconvert \
46 CONFIG_PACKAGE_gst1-mod-videorate \
47 CONFIG_PACKAGE_gst1-mod-videoscale \
48 CONFIG_PACKAGE_gst1-mod-videotestsrc \
49 CONFIG_PACKAGE_gst1-mod-volume \
50 CONFIG_PACKAGE_gst1-mod-vorbis \
51 CONFIG_PACKAGE_libgst1app
52
53 GST_BASE_LIBS:=
54 GST_BASE_MODULES:=
55
56 define Package/gstreamer1-base/Default
57 CATEGORY:=Multimedia
58 SECTION:=multimedia
59 TITLE:=GStreamer
60 URL:=https://gstreamer.freedesktop.org/
61 DEPENDS:= +libgstreamer1 $(ICONV_DEPENDS)
62 endef
63
64 define Package/gstreamer1-base/description/Default
65 GStreamer open source multimedia framework
66 endef
67
68
69 define Package/gst1-plugins-base
70 $(call Package/gstreamer1-base/Default)
71 TITLE+= plugins collection (base)
72 DEPENDS+= $(GST_DEPENDS)
73 HIDDEN:=1
74 endef
75
76 define Package/gts1-plugins-base/description
77 $(call Package/gstreamer1-base/description/Default)
78 .
79 This meta package contains only dependencies to the other libraries and
80 plugins from the base plugins collection.
81 endef
82
83 define Package/gstreamer1-plugins-base
84 $(call Package/gstreamer1-base/Default)
85 TITLE+= plugins collection (base)
86 DEPENDS:=+ALL:gst1-plugins-base +gstreamer1-libs
87 endef
88
89 define Package/gstreamer1-plugins-base/config
90 menu "Select GStreamer base modules and libraries"
91 depends on PACKAGE_gstreamer1-plugins-base
92
93
94 config gst1-plugins-base-all
95 bool "Include all GStreamer base plugins"
96 select PACKAGE_gst1-plugins-base
97
98 comment "Modules"
99
100 $(foreach mod,$(GST_BASE_MODULES), \
101 config PACKAGE_gst1-mod-$(mod)
102 prompt "GStreamer $(mod) module"
103
104 )
105
106 comment "Libraries"
107
108 $(foreach lib,$(GST_BASE_LIBS), \
109 config PACKAGE_libgst1$(lib)
110 prompt "GStreamer $(lib) library"
111
112 )
113
114 endmenu
115
116 endef
117
118 GST_COND_SELECT = -D$(1)=$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),en,dis)abled
119
120 GST_VERSION:=1.0
121
122 MESON_ARGS += \
123 -Daudioresample_format=int \
124 -Dgl=disabled \
125 \
126 $(call GST_COND_SELECT,adder) \
127 $(call GST_COND_SELECT,app) \
128 $(call GST_COND_SELECT,audioconvert) \
129 $(call GST_COND_SELECT,audiomixer) \
130 $(call GST_COND_SELECT,audiorate) \
131 $(call GST_COND_SELECT,audioresample) \
132 $(call GST_COND_SELECT,audiotestsrc) \
133 $(call GST_COND_SELECT,compositor) \
134 $(call GST_COND_SELECT,encoding) \
135 $(call GST_COND_SELECT,gio) \
136 $(call GST_COND_SELECT,overlaycomposition) \
137 $(call GST_COND_SELECT,pbtypes) \
138 $(call GST_COND_SELECT,playback) \
139 $(call GST_COND_SELECT,rawparse) \
140 $(call GST_COND_SELECT,subparse) \
141 $(call GST_COND_SELECT,tcp) \
142 -Dtypefind=$(if $(CONFIG_PACKAGE_gst1-mod-typefindfunctions),en,dis)abled \
143 $(call GST_COND_SELECT,videoconvert) \
144 $(call GST_COND_SELECT,videorate) \
145 $(call GST_COND_SELECT,videoscale) \
146 $(call GST_COND_SELECT,videotestsrc) \
147 $(call GST_COND_SELECT,volume) \
148 \
149 $(call GST_COND_SELECT,alsa) \
150 $(call GST_COND_SELECT,cdparanoia) \
151 $(call GST_COND_SELECT,libvisual) \
152 $(call GST_COND_SELECT,ogg) \
153 $(call GST_COND_SELECT,opus) \
154 $(call GST_COND_SELECT,pango) \
155 $(call GST_COND_SELECT,theora) \
156 $(call GST_COND_SELECT,tremor) \
157 -Dtremor=$(if $(CONFIG_PACKAGE_gst1-mod-ivorbisdec),en,dis)abled \
158 $(call GST_COND_SELECT,vorbis) \
159 -Dx11=disabled \
160 -Dxshm=disabled \
161 -Dxvideo=disabled \
162 \
163 -Dexamples=disabled \
164 -Dtests=disabled \
165 -Dtools=disabled \
166 -Dintrospection=disabled \
167 -Dnls=enabled \
168 -Dorc=disabled \
169 -Dgobject-cast-checks=disabled \
170 -Dglib-asserts=disabled \
171 -Dglib-checks=disabled \
172 -Ddoc=disabled
173
174 define Build/InstallDev
175 $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
176 ( cd $(PKG_INSTALL_DIR); $(CP) \
177 ./usr/include/gstreamer-$(GST_VERSION)/* \
178 $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
179 )
180 $(INSTALL_DIR) $(1)/usr/lib
181 ( cd $(PKG_INSTALL_DIR); $(CP) \
182 ./usr/lib/libgst*-$(GST_VERSION).so* \
183 $(1)/usr/lib/ \
184 )
185 if [ -d $(PKG_INSTALL_DIR)/usr/lib/gstreamer-$(GST_VERSION)/ ]; then \
186 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION); \
187 ( cd $(PKG_INSTALL_DIR); $(FIND) \
188 ./usr/lib/gstreamer-$(GST_VERSION)/ -name libgst*.so -print0 | \
189 xargs --null --no-run-if-empty $(CP) \
190 --target-directory=$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
191 ) \
192 fi
193 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
194 ( cd $(PKG_INSTALL_DIR); $(CP) \
195 ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
196 $(1)/usr/lib/pkgconfig/ \
197 )
198 endef
199
200
201 define Package/gst1-plugins-base/install
202 true
203 endef
204
205 define Package/gstreamer1-plugins-base/install
206 true
207 endef
208
209 # 1: short name
210 # 2: description
211 # 3: dependencies on other gstreamer libraries (short name)
212 # 4: dependencies on other packages
213 define GstBuildLibrary
214
215 GST_DEPENDS += +libgst1$(1)
216
217 GST_BASE_LIBS+= $(1)
218
219 define Package/libgst1$(1)
220 $(call Package/gstreamer1-base/Default)
221 TITLE+= $(2) library (base)
222 DEPENDS+= $$(foreach p,$(3),+libgst1$$(p)) $(4)
223 HIDDEN:=1
224 endef
225
226 define Package/libgst1$(1)/description
227 $(call Package/gstreamer1-base/description/Default)
228 .
229 This package contains the GStreamer $(2) library.
230 endef
231
232 define Package/libgst1$(1)/install
233 $(INSTALL_DIR) $$(1)/usr/lib
234 ( cd $(PKG_INSTALL_DIR); $(CP) \
235 ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
236 $$(1)/usr/lib/ \
237 )
238 endef
239
240 $$(eval $$(call BuildPackage,libgst1$(1)))
241 endef
242
243 $(eval $(call GstBuildLibrary,allocators,allocators,,))
244 $(eval $(call GstBuildLibrary,app,app,,))
245 $(eval $(call GstBuildLibrary,audio,audio,tag,))
246 $(eval $(call GstBuildLibrary,fft,FFT,,))
247 $(eval $(call GstBuildLibrary,pbutils,utils,audio tag video,))
248 $(eval $(call GstBuildLibrary,riff,RIFF media,audio tag,,))
249 $(eval $(call GstBuildLibrary,rtp,RTP,,))
250 $(eval $(call GstBuildLibrary,rtsp,RTSP,,))
251 $(eval $(call GstBuildLibrary,sdp,SDP,rtp,))
252 $(eval $(call GstBuildLibrary,tag,tag support,,))
253 $(eval $(call GstBuildLibrary,video,video,,))
254
255 # 1: short name
256 # 2: description
257 # 3: dependencies on other gstreamer libraries (short name)
258 # 4: dependencies on other gstreamer plugins (short name)
259 # 5: dependencies on other packages
260 define GstBuildPlugin
261
262 GST_DEPENDS += +gst1-mod-$(1)
263
264 GST_BASE_MODULES+= $(1)
265
266 define Package/gst1-mod-$(1)
267 $(call Package/gstreamer1-base/Default)
268 TITLE+= $(2) plugin (base)
269 DEPENDS+= $$(foreach p,$(3),+libgst1$$(p)) $$(foreach p,$(4),+gst1-mod-$$(p)) $(5)
270 HIDDEN:=1
271 endef
272
273 define Package/gst1-mod-$(1)/description
274 $(call Package/gstreamer1-base/description/Default)
275 .
276 This package contains the GStreamer $(2) plugin.
277 endef
278
279 define Package/gst1-mod-$(1)/install
280 $(INSTALL_DIR) $$(1)/usr/lib/gstreamer-$(GST_VERSION)
281 ( cd $(PKG_INSTALL_DIR); $(CP) \
282 ./usr/lib/gstreamer-$(GST_VERSION)/libgst$(1).so* \
283 $$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
284 )
285 endef
286
287 $$(eval $$(call BuildPackage,gst1-mod-$(1)))
288 endef
289
290 $(eval $(call GstBuildPlugin,adder,adder,audio,,))
291 $(eval $(call GstBuildPlugin,app,app,app,,))
292 $(eval $(call GstBuildPlugin,audioconvert,audio format conversion,audio,,))
293 $(eval $(call GstBuildPlugin,audiomixer,audio mixing,audio,,))
294 $(eval $(call GstBuildPlugin,audiorate,audio rate adjusting,audio tag,,))
295 $(eval $(call GstBuildPlugin,audioresample,audio resampling,audio tag,,))
296 $(eval $(call GstBuildPlugin,audiotestsrc,audio test,audio tag controller,,))
297 $(eval $(call GstBuildPlugin,compositor,video compositor,video,,))
298 $(eval $(call GstBuildPlugin,encoding,encoding plugin,pbutils video,,))
299 $(eval $(call GstBuildPlugin,gio,GIO,,,))
300 $(eval $(call GstBuildPlugin,overlaycomposition,overlay composition,video,,))
301 $(eval $(call GstBuildPlugin,pbtypes,pbtypes,video,,))
302 $(eval $(call GstBuildPlugin,playback,playback,pbutils,,))
303 $(eval $(call GstBuildPlugin,subparse,subparse,video,,))
304 $(eval $(call GstBuildPlugin,rawparse,parse raw media,audio video,,))
305 $(eval $(call GstBuildPlugin,tcp,TCP,net,,))
306 $(eval $(call GstBuildPlugin,typefindfunctions,'typefind' functions,audio pbutils tag video,,))
307 $(eval $(call GstBuildPlugin,videoconvert,video format conversion,video,,))
308 $(eval $(call GstBuildPlugin,videorate,Adjusts video frames,video,,))
309 $(eval $(call GstBuildPlugin,videoscale,Resizes video,video,,))
310 $(eval $(call GstBuildPlugin,videotestsrc,video test,video,,+liboil))
311 $(eval $(call GstBuildPlugin,volume,volume,audio controller,,+liboil))
312
313 $(eval $(call GstBuildPlugin,alsa,ALSA audio source/sink,audio tag,,+alsa-lib))
314 $(eval $(call GstBuildPlugin,ivorbisdec,Integer Vorbis decoder plugin for devices without floating point,audio tag,,+libvorbisidec))
315 #$(eval $(call GstBuildPlugin,cdparanoia,cdparanoia,,+libcdparanoia))
316 #$(eval $(call GstBuildPlugin,libvisual,libvisual audio visualization,,+libvisual))
317 $(eval $(call GstBuildPlugin,ogg,ogg parser muxer demuxer,riff tag pbutils video,,+libogg))
318 $(eval $(call GstBuildPlugin,opus,OPUS audio codec,pbutils video,,+libopus))
319 #$(eval $(call GstBuildPlugin,pango,Pango text rendering and overlay plugin,,+pango))
320 $(eval $(call GstBuildPlugin,theora,Theora,tag video,,+libogg +libtheora))
321 $(eval $(call GstBuildPlugin,vorbis,Vorbis,audio tag,ogg,+libvorbis))
322
323 $(eval $(call BuildPackage,gstreamer1-plugins-base))
324 $(eval $(call BuildPackage,gst1-plugins-base))