Add the necessary cflags in gstreamer-1.0 pkgconfig
[platform/upstream/gstreamer.git] / packaging / gstreamer.spec
1 %bcond_with x
2 %bcond_with wayland
3 %define gst_branch 1.0
4 %define _lib_gstreamer_dir %{_libdir}/gstreamer-%{gst_branch}
5 %define _lib_girepository %{_libdir}/girepository-%{gst_branch}
6 %define _enable_v4l2h264enc 0
7
8 #######################################################################
9 ## how to build each plugin :
10 ## add define option at gbs build cmd like [ --define "plugin bad" ]
11 ## if not, all the source code in subprojects will be built
12 #######################################################################
13
14 %if 0%{?plugin:1}
15   %if "%{plugin}" == "core"
16     %define _name gstreamer
17     %define _core_opt ""
18   %endif
19   %if "%{plugin}" == "base" || "%{plugin}" == "good" || "%{plugin}" == "bad" || "%{plugin}" == "ugly"
20     %define _name gst-plugins-%{plugin}
21     %define _base_opt ""
22     %define _good_opt ""
23     %define _bad_opt ""
24     %define _ugly_opt ""
25   %endif
26   %if "%{plugin}" == "omx" || "%{plugin}" == "libav"
27     %define _name gst-%{plugin}
28     %define _omx_opt ""
29     %define _libav_opt ""
30   %endif
31   %if "%{plugin}" == "rs"
32     %define _name gst-rtsp-server
33     %define _rs_opt ""
34   %endif
35   %if "%{plugin}" == "es"
36     %define _name gst-editing-services
37     %define _es_opt ""
38   %endif
39
40   %define _source_path subprojects/%{_name}
41
42 %else
43
44   %define plugin all
45   %define _name gstreamer
46   %define _source_path .
47
48   # plugin option prefix
49   %define _core_opt gstreamer:
50   %define _base_opt gst-plugins-base:
51   %define _good_opt gst-plugins-good:
52   %define _bad_opt gst-plugins-bad:
53   %define _ugly_opt gst-plugins-ugly:
54   %define _omx_opt gst-omx:
55   %define _libav_opt gst-libav:
56   %define _rs_opt gst-rtsp-server:
57   %define _es_opt gst-editing-services:
58
59 %endif
60
61 Name:           %{_name}
62 Version:        1.20.0
63 Release:        21
64 Summary:        Streaming-Media Framework Runtime
65 License:        LGPL-2.0+
66 Group:          Multimedia/Framework
67 Url:            http://gstreamer.freedesktop.org/
68 Source0:        gstreamer-%{version}.tar.gz
69 Source1001:     gstreamer.manifest
70 BuildRequires:  meson >= 0.59.0
71 BuildRequires:  gettext-tools
72 BuildRequires:  pkgconfig(glib-2.0) >= 2.32.0
73
74
75 %if "%{plugin}" == "all" || "%{plugin}" == "core"
76
77 BuildRequires:  bison
78 BuildRequires:  fdupes
79 BuildRequires:  flex
80 BuildRequires:  libtool
81 BuildRequires:  pkgconfig(dlog)
82 %if "%{tizen_profile_name}" != "tv"
83 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
84 %endif
85 BuildRequires:  pkgconfig(libxml-2.0)
86
87 %description -n gstreamer
88 GStreamer is a streaming-media framework, based on graphs of filters
89 which operate on media data. Applications using this library can do
90 anything from real-time sound processing to playing videos, and just
91 about anything else media-related.  Its plug-in-based architecture
92 means that new data types or processing capabilities can be added by
93 installing new plug-ins.
94
95 %package -n gstreamer-utils
96 Summary:        Streaming-Media Framework Runtime
97 Group:          Multimedia/Framework
98 Provides:       gstreamer:%{_bindir}/gst-launch-%{gst_branch} = %{version}
99 # Symbol for unversioned wrappers:
100 Provides:       gstreamer-utils_versioned = %{version}
101
102 %description -n gstreamer-utils
103 GStreamer is a streaming-media framework, based on graphs of filters
104 which operate on media data. Applications using this library can do
105 anything from real-time sound processing to playing videos, and just
106 about anything else media-related.  Its plug-in-based architecture
107 means that new data types or processing capabilities can be added by
108 installing new plug-ins.
109
110 %package -n gstreamer-devel
111 Summary:        Include Files and Libraries mandatory for Development
112 Group:          Development/Libraries
113 # gstreamer-utils is required for the gstreamer-provides rpm magic.
114 Requires:       gstreamer-utils = %{version}
115 Requires:       gstreamer = %{version}
116
117 %description -n gstreamer-devel
118 This package contains all necessary include files and libraries needed
119 to develop applications that require these.
120
121 %else
122
123 BuildRequires:  pkgconfig(gstreamer-1.0)
124
125 %if "%{plugin}" != "base"
126 BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
127 %endif
128
129 %endif
130
131 #######################################################
132 ## Package info of Base Plugin
133 #######################################################
134
135 %if "%{plugin}" == "all"
136 %package -n gst-plugins-base
137 Summary:        GStreamer Streaming-Media Framework Plug-Ins
138 Group:          Multimedia/Framework
139 %endif
140
141 %if "%{plugin}" == "all" || "%{plugin}" == "base"
142
143 BuildRequires:  orc >= 0.4.16
144 BuildRequires:  python
145 BuildRequires:  pkgconfig(alsa) >= 0.9.1
146 BuildRequires:  pkgconfig(freetype2) >= 2.0.9
147 BuildRequires:  pkgconfig(libdrm)
148 BuildRequires:  pkgconfig(libtbm)
149 BuildRequires:  pkgconfig(libxml-2.0)
150 BuildRequires:  pkgconfig(ogg) >= 1.0
151 BuildRequires:  pkgconfig(opus)
152 BuildRequires:  pkgconfig(theoradec) >= 1.1
153 BuildRequires:  pkgconfig(theoraenc) >= 1.1
154 BuildRequires:  pkgconfig(vorbis) >= 1.0
155 BuildRequires:  pkgconfig(vorbisenc) >= 1.0
156 BuildRequires:  pkgconfig(zlib)
157 %if "%{tizen_profile_name}" != "tv"
158 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
159 BuildRequires:  update-desktop-files
160 %endif
161 %if %{with wayland}
162 %if 0%{?enable_gl:1}
163 BuildRequires:  pkgconfig(gles20)
164 BuildRequires:  pkgconfig(wayland-egl) >= 9.0
165 %endif # wayland
166 %endif # gl
167 %if %{with x}
168 BuildRequires:  pkgconfig(dri2proto)
169 BuildRequires:  pkgconfig(libdri2)
170 BuildRequires:  pkgconfig(ice)
171 BuildRequires:  pkgconfig(sm)
172 BuildRequires:  pkgconfig(xext)
173 BuildRequires:  pkgconfig(xv)
174 BuildRequires:  pkgconfig(xfixes)
175 %endif
176 # gstreamer-utils is required for the gstreamer-provides rpm magic.
177 Requires:       gstreamer >= 1.0.0
178 Requires:       opus
179 Supplements:    gstreamer
180
181 %description -n gst-plugins-base
182 GStreamer is a streaming media framework based on graphs of filters
183 that operate on media data. Applications using this library can do
184 anything media-related, from real-time sound processing to playing
185 videos. Its plug-in-based architecture means that new data types or
186 processing capabilities can be added simply by installing new plug-ins.
187
188 %if "%{tizen_profile_name}" != "tv"
189 %package -n gst-plugins-base-extension-adder
190 Summary:        libgstadder.so for gst-plugins-base
191 Requires:       gst-plugins-base = %{version}-%{release}
192 Provides:       gst-plugins-base-profile_mobile = %{version}-%{release}
193
194 %description -n gst-plugins-base-extension-adder
195 Libgstadder.so for gst-plugin-base. Supplicant for gst-plugin-base.
196 This is for Tizen mobile profile.
197 %endif
198
199 %package -n gst-plugins-base-devel
200 Summary:        Include files and Libraries
201 Requires:       gst-plugins-base = %{version}
202
203 %description -n gst-plugins-base-devel
204 This package contains all necessary include files and libraries needed
205 to compile and link applications that use gstreamer-plugins-base.
206
207 %endif
208
209 #######################################################
210 ## Package info of Good Plugin
211 #######################################################
212
213 %if "%{plugin}" == "all"
214 %package -n gst-plugins-good
215 Summary:        GStreamer Streaming-Media Framework Plug-Ins
216 Group:          Multimedia/Framework
217 %endif
218
219 %if "%{plugin}" == "all" || "%{plugin}" == "good"
220
221 BuildRequires:  libjpeg-devel
222 BuildRequires:  orc >= 0.4.16
223 BuildRequires:  python
224 BuildRequires:  xsltproc
225 BuildRequires:  pkgconfig(bzip2)
226 BuildRequires:  pkgconfig(gio-2.0)
227 BuildRequires:  pkgconfig(libpulse) >= 1.0
228 BuildRequires:  pkgconfig(libsoup-2.4)
229 BuildRequires:  pkgconfig(libtbm)
230 BuildRequires:  pkgconfig(libxml-2.0) >= 2.4.9
231 BuildRequires:  pkgconfig(vconf)
232 BuildRequires:  pkgconfig(vpx)
233 BuildRequires:  pkgconfig(zlib)
234 %if "%{tizen_profile_name}" != "tv"
235 BuildRequires:  pkgconfig(cairo)
236 BuildRequires:  pkgconfig(cairo-gobject)
237 BuildRequires:  pkgconfig(libpng) >= 1.2
238 BuildRequires:  pkgconfig(libv4l2)
239 %endif
240 %if %{with x}
241 BuildRequires:  pkgconfig(ice)
242 BuildRequires:  pkgconfig(sm)
243 BuildRequires:  pkgconfig(xdamage)
244 BuildRequires:  pkgconfig(xfixes)
245 # used by libgstvideo4linux2.so
246 BuildRequires:  pkgconfig(xv)
247 %endif
248 Requires:       gstreamer >= %{version}
249 Requires:       gst-plugins-base >= %{version}
250 Requires:       libsoup
251
252 %description -n gst-plugins-good
253 GStreamer is a streaming media framework based on graphs of filters
254 that operate on media data. Applications using this library can do
255 anything media-related, from real-time sound processing to playing
256 videos. Its plug-in-based architecture means that new data types or
257 processing capabilities can be added simply by installing new plug-ins.
258
259 %package -n gst-plugins-good-extra
260 Summary:        Complementary plugins for gst-plugins-good
261 Group:          Productivity/Multimedia/Other
262 Requires:       gst-plugins-good = %{version}
263 Enhances:       gst-plugins-good
264
265 %description -n gst-plugins-good-extra
266 This package provides complementary plugins for gst-plugins-good and
267 plugins not included in official Tizen images, which may be used for development / experimental purposes.
268
269 %endif
270
271 #######################################################
272 ## Package info of Bad Plugin
273 #######################################################
274
275 %if "%{plugin}" == "all"
276 %package -n gst-plugins-bad
277 Summary:        GStreamer Streaming-Media Framework Plug-Ins
278 Group:          Multimedia/Framework
279 %endif
280
281 %if "%{plugin}" == "all" || "%{plugin}" == "bad"
282
283 BuildRequires:  python
284 BuildRequires:  xsltproc
285 BuildRequires:  pkgconfig(gio-2.0) >= 2.25.0
286 BuildRequires:  pkgconfig(libcurl) >= 7.21.0
287 BuildRequires:  pkgconfig(libexif) >= 0.6.16
288 BuildRequires:  pkgconfig(libsrtp2) >= 2.1.0
289 BuildRequires:  pkgconfig(libusb-1.0)
290 BuildRequires:  pkgconfig(nice)
291 BuildRequires:  pkgconfig(openal)
292 BuildRequires:  pkgconfig(openssl1.1)
293 BuildRequires:  pkgconfig(opus)
294 BuildRequires:  pkgconfig(orc-0.4) >= 0.4.11
295 BuildRequires:  pkgconfig(sndfile) >= 1.0.16
296 BuildRequires:  pkgconfig(soundtouch) > 1.4
297 BuildRequires:  pkgconfig(usrsctp)
298 %if %{with wayland}
299 BuildRequires:  pkgconfig(libdrm)
300 BuildRequires:  pkgconfig(libxml-2.0)
301 BuildRequires:  pkgconfig(wayland-client) >= 1.0.0
302 BuildRequires:  pkgconfig(wayland-cursor) >= 1.0.0
303 BuildRequires:  pkgconfig(wayland-protocols)
304 %endif
305 %if %{with x}
306 BuildRequires:  pkgconfig(x11)
307 %endif
308 Requires:       gstreamer >= %{version}
309
310 %description -n gst-plugins-bad
311 GStreamer is a streaming media framework based on graphs of filters
312 that operate on media data. Applications using this library can do
313 anything media-related,from real-time sound processing to playing
314 videos. Its plug-in-based architecture means that new data types or
315 processing capabilities can be added simply by installing new plug-ins.
316
317 %package -n gst-plugins-bad-devel
318 Summary:        GStreamer Streaming-Media Framework Plug-Ins
319 Requires:       gst-plugins-bad = %{version}-%{release}
320 Requires:       gst-plugins-base-devel
321
322 %description -n gst-plugins-bad-devel
323 GStreamer is a streaming media framework based on graphs of filters
324 that operate on media data. Applications using this library can do
325 anything media-related,from real-time sound processing to playing
326 videos. Its plug-in-based architecture means that new data types or
327 processing capabilities can be added simply by installing new plug-ins.
328
329 %endif
330
331 #######################################################
332 ## Package info of Ugly Plugin
333 #######################################################
334
335 %if "%{plugin}" == "all"
336 %package -n gst-plugins-ugly
337 Summary:        GStreamer plugins from the "ugly" set
338 Group:          Multimedia/Framework
339 %endif
340
341 %if "%{plugin}" == "all" || "%{plugin}" == "ugly"
342
343 BuildRequires:  which
344 BuildRequires:  pkgconfig(opencore-amrwb)
345 %if "%{tizen_profile_name}" != "tv"
346 BuildRequires:  pkgconfig(opencore-amrnb)
347 %endif
348
349 %description -n gst-plugins-ugly
350  GStreamer is a streaming media framework, based on graphs of filters
351  which operate on media data.  Applications using this library can do
352  anything from real-time sound processing to playing videos, and just
353  about anything else media-related.  Its plugin-based architecture means
354  that new data types or processing capabilities can be added simply by
355  installing new plug-ins.
356  .
357  This packages contains plugins from the "ugly" set, a set of
358  good-quality plug-ins that might pose distribution problems.
359
360 %endif
361
362 #######################################################
363 ## Package info of Omx Plugin
364 #######################################################
365
366 %if "%{tizen_profile_name}" != "tv"
367 %ifarch %{arm} aarch64
368
369 %if "%{plugin}" == "all"
370 %package -n gst-omx
371 Summary:        GStreamer plug-in that allows communication with OpenMAX IL components
372 Group:          Multimedia/Framework
373 %endif
374
375 %if "%{plugin}" == "all" || "%{plugin}" == "omx"
376
377 BuildRequires:  which
378 BuildRequires:  pkgconfig(libtbm)
379 BuildRequires:  pkgconfig(mm-common)
380 %if "%{target}" == "rpi"
381 BuildRequires:  pkgconfig(bcm_host)
382 BuildRequires:  pkgconfig(brcmegl)
383 %endif
384
385 %description -n gst-omx
386 gst-openmax is a GStreamer plug-in that allows communication with OpenMAX IL components.
387 Multiple OpenMAX IL implementations can be used.
388
389 %endif # plugin
390 %endif # arch
391 %endif # profile
392
393 #######################################################
394 ## Package info of libav Plugin
395 #######################################################
396
397 %if "%{plugin}" == "all"
398 %package -n gst-libav
399 Summary:        Libav plugin for GStreamer
400 Group:          Multimedia/Framework
401 %endif
402
403 %if "%{plugin}" == "all" || "%{plugin}" == "libav"
404
405 BuildRequires:  bzip2-devel
406 BuildRequires:  gettext
407 BuildRequires:  which
408 BuildRequires:  yasm
409 BuildRequires:  pkgconfig(libavcodec)
410 BuildRequires:  pkgconfig(libavfilter)
411 BuildRequires:  pkgconfig(libavformat)
412 BuildRequires:  pkgconfig(libavutil)
413 BuildRequires:  pkgconfig(orc-0.4)
414 BuildRequires:  pkgconfig(theora)
415 BuildRequires:  pkgconfig(vorbis)
416 BuildRequires:  pkgconfig(zlib)
417
418 %description -n gst-libav
419 This GStreamer plugin supports a large number of audio and video compression
420 formats through the use of the libav library.  The plugin contains GStreamer
421 elements for decoding 90+ formats (AVI, MPEG, OGG, Matroska, ASF, ...),
422 demuxing 30+ formats and colorspace conversion.
423
424 %endif
425
426 #######################################################
427 ## Package info of rtsp-server Plugin
428 #######################################################
429
430 %if "%{plugin}" == "all"
431 %package -n gst-rtsp-server
432 Summary:        Multimedia Framework Library
433 Group:          System/Libraries
434 %endif
435
436 %if "%{plugin}" == "all" || "%{plugin}" == "rs"
437
438 Requires(post):  /sbin/ldconfig
439 Requires(postun):  /sbin/ldconfig
440
441 %description -n gst-rtsp-server
442 This GStreamer plugin supports a large number of audio and video compression
443 formats through the use of the libav library.  The plugin contains GStreamer
444 elements for decoding 90+ formats (AVI, MPEG, OGG, Matroska, ASF, ...),
445 demuxing 30+ formats and colorspace conversion.
446
447 %package -n gst-rtsp-server-devel
448 Summary:        Multimedia Framework RTSP server library (DEV)
449 Group:          Development/Libraries
450 Requires:       gst-rtsp-server = %{version}-%{release}
451
452 %description -n gst-rtsp-server-devel
453
454 %endif
455
456 #######################################################
457 ## Package info of editing-services Plugin
458 #######################################################
459
460 %if "%{tizen_profile_name}" != "tv"
461
462 %if "%{plugin}" == "all"
463 %package -n gst-editing-services
464 Summary:        GStreamer Editing Service Plug-Ins
465 Group:          Multimedia/Framework
466 %endif
467
468 %if "%{plugin}" == "all" || "%{plugin}" == "es"
469
470 BuildRequires:  flex
471 BuildRequires:  gtk-doc
472 BuildRequires:  pkgconfig(libxml-2.0)
473 Requires:       gstreamer >= 1.0.0
474 Supplements:    gstreamer
475
476 %description -n gst-editing-services
477 This is a high-level library for facilitating the creation of audio/video
478 non-linear editors.
479
480 %package -n gst-editing-services-devel
481 Summary:        Development files for gst-editing-services
482 Requires:       gst-editing-services = %{version}-%{release}
483
484 %description -n gst-editing-services-devel
485 This package contains libraries and header files for
486 developing applications that use %{name}
487
488 %endif # plugin
489
490 %endif # profile
491
492 #######################################################
493 ## Prep
494 #######################################################
495
496 %prep
497 %setup -q -n gstreamer-%{version}
498 cp %{SOURCE1001} ./gstreamer.manifest
499 cp %{SOURCE1001} ./gst-plugins-base.manifest
500 cp %{SOURCE1001} ./gst-plugins-good.manifest
501 cp %{SOURCE1001} ./gst-plugins-bad.manifest
502 cp %{SOURCE1001} ./gst-plugins-ugly.manifest
503 cp %{SOURCE1001} ./gst-libav.manifest
504 cp %{SOURCE1001} ./gst-rtsp-server.manifest
505 %if "%{tizen_profile_name}" != "tv"
506 cp %{SOURCE1001} ./gst-omx.manifest
507 cp %{SOURCE1001} ./gst-editing-services.manifest
508 %endif
509
510 #######################################################
511 ## Build
512 #######################################################
513
514 %build
515
516 %if "%{plugin}" != "all"
517 pushd %{_source_path}
518 %endif
519
520 mkdir -p build
521 export CFLAGS="%{optflags} \
522   -fno-strict-aliasing\
523   -fstack-protector-strong\
524   -Wl,-z,relro\
525 %if "%{tizen_profile_name}" == "tv"
526   -Wno-declaration-after-statement\
527 %endif
528   -D_FORTIFY_SOURCE=2"
529 export CXXFLAGS+=" -Wno-error"
530 export LDFLAGS+=" -pthread"
531
532 meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_datadir} --sysconfdir=%{_hal_sysconfdir} \
533 %if "%{plugin}" == "all"
534   %if "%{tizen_profile_name}" == "tv"
535     -D ges=disabled \
536     -D omx=disabled \
537   %endif # profile
538   %ifarch x86_64 %{ix86}
539     -D omx=disabled \
540   %endif # arch
541 %endif # plugin
542 %if "%{plugin}" == "all" || "%{plugin}" == "core"
543   -D %{_core_opt}check=enabled \
544   -D %{_core_opt}coretracers=enabled \
545   -D %{_core_opt}tools=enabled \
546   -D %{_core_opt}extra-checks=enabled \
547   -D %{_core_opt}ptp-helper-permissions=none \
548   %if "%{tizen_profile_name}" == "tv"
549     -D %{_core_opt}tv-profile=true \
550     -D %{_core_opt}introspection=disabled \
551   %else
552     -D %{_core_opt}introspection=enabled \
553   %endif # profile
554 %endif # plugin
555 %if "%{plugin}" == "all" || "%{plugin}" == "base"
556   -D %{_base_opt}app=enabled \
557   -D %{_base_opt}audioconvert=enabled \
558   -D %{_base_opt}audiomixer=enabled \
559   -D %{_base_opt}audiorate=enabled \
560   -D %{_base_opt}audioresample=enabled \
561   -D %{_base_opt}audiotestsrc=enabled \
562   -D %{_base_opt}compositor=enabled \
563   -D %{_base_opt}gio=enabled \
564   -D %{_base_opt}gio-typefinder=enabled \
565   -D %{_base_opt}overlaycomposition=enabled \
566   -D %{_base_opt}pbtypes=enabled \
567   -D %{_base_opt}playback=enabled \
568   -D %{_base_opt}rawparse=enabled \
569   -D %{_base_opt}subparse=enabled \
570   -D %{_base_opt}tcp=enabled \
571   -D %{_base_opt}typefind=enabled \
572   -D %{_base_opt}videoconvert=enabled \
573   -D %{_base_opt}videorate=enabled \
574   -D %{_base_opt}videoscale=enabled \
575   -D %{_base_opt}videotestsrc=enabled \
576   -D %{_base_opt}volume=enabled \
577   -D %{_base_opt}alsa=enabled \
578   -D %{_base_opt}ogg=enabled \
579   -D %{_base_opt}opus=enabled \
580   -D %{_base_opt}theora=enabled \
581   -D %{_base_opt}vorbis=enabled \
582   -D %{_base_opt}tbm=true \
583   %if "%{tizen_profile_name}" == "tv"
584     -D %{_base_opt}tv-profile=true \
585   %else
586     -D %{_base_opt}adder=enabled \
587     -D %{_base_opt}encoding=enabled \
588     -D %{_base_opt}introspection=enabled \
589     %if 0%{?enable_gl:1}
590       -D %{_base_opt}gl=enabled \
591     %endif # gl
592   %endif # profile
593 %endif # base plugin
594 %if "%{plugin}" == "all" || "%{plugin}" == "good"
595   %if 0%{?ENABLE_AALIB}
596     -D %{_good_opt}aalib=enabled \
597   %endif
598   -D %{_good_opt}apetag=enabled \
599   -D %{_good_opt}audiofx=enabled \
600   -D %{_good_opt}audioparsers=enabled \
601   -D %{_good_opt}autodetect=enabled \
602   -D %{_good_opt}avi=enabled \
603   -D %{_good_opt}debugutils=enabled \
604   -D %{_good_opt}deinterlace=enabled \
605   -D %{_good_opt}icydemux=enabled \
606   -D %{_good_opt}id3demux=enabled \
607   -D %{_good_opt}interleave=enabled \
608   -D %{_good_opt}isomp4=enabled \
609   -D %{_good_opt}law=enabled \
610   -D %{_good_opt}replaygain=enabled \
611   -D %{_good_opt}rtp=enabled \
612   -D %{_good_opt}rtpmanager=enabled \
613   -D %{_good_opt}rtsp=enabled \
614   -D %{_good_opt}udp=enabled \
615   -D %{_good_opt}videocrop=enabled \
616   -D %{_good_opt}videofilter=enabled \
617   -D %{_good_opt}wavenc=enabled \
618   -D %{_good_opt}wavparse=enabled \
619   -D %{_good_opt}jpeg=enabled \
620   -D %{_good_opt}pulse=enabled \
621   -D %{_good_opt}soup=enabled \
622   -D %{_good_opt}vpx=enabled \
623   -D %{_good_opt}tbm=true \
624   %if "%{_enable_v4l2h264enc}" == "1"
625     -D %{_good_opt}v4l2h264enc=enabled \
626   %endif
627   %if "%{tizen_profile_name}" == "tv"
628     -D %{_good_opt}tv-profile=true \
629     %ifnarch %{arm} aarch64
630       -D %{_good_opt}v4l2=enabled \
631     %endif
632   %else
633     -D %{_good_opt}cairo=enabled \
634     -D %{_good_opt}effectv=enabled \
635     -D %{_good_opt}flv=enabled \
636     -D %{_good_opt}imagefreeze=enabled \
637     -D %{_good_opt}matroska=enabled \
638     -D %{_good_opt}multifile=enabled \
639     -D %{_good_opt}png=enabled \
640     -D %{_good_opt}smpte=enabled \
641     -D %{_good_opt}v4l2=enabled \
642     -D %{_good_opt}v4l2-libv4l2=enabled \
643     -D %{_good_opt}v4l2-probe=true \
644     -D %{_good_opt}videobox=enabled \
645     -D %{_good_opt}videomixer=enabled \
646   %endif # profile
647 %endif # plugin
648 %if "%{plugin}" == "all" || "%{plugin}" == "bad"
649   -D %{_bad_opt}gst_play_tests=false\
650   -D %{_bad_opt}introspection=disabled \
651   -D %{_bad_opt}audiobuffersplit=enabled \
652   -D %{_bad_opt}audiomixmatrix=enabled \
653   -D %{_bad_opt}audiolatency=enabled \
654   -D %{_bad_opt}debugutils=enabled \
655   -D %{_bad_opt}midi=enabled \
656   -D %{_bad_opt}mpegtsmux=enabled \
657   -D %{_bad_opt}mpegtsdemux=enabled \
658   -D %{_bad_opt}netsim=enabled \
659   -D %{_bad_opt}proxy=enabled \
660   -D %{_bad_opt}sdp=enabled \
661   -D %{_bad_opt}timecode=enabled \
662   -D %{_bad_opt}videoframe_audiolevel=enabled \
663   -D %{_bad_opt}videoparsers=enabled \
664   -D %{_bad_opt}ipcpipeline=enabled \
665   -D %{_bad_opt}shm=enabled \
666   -D %{_bad_opt}aes=enabled \
667   -D %{_bad_opt}dtls=enabled \
668   -D %{_bad_opt}openal=enabled \
669   -D %{_bad_opt}opus=enabled \
670   -D %{_bad_opt}sctp=enabled \
671   -D %{_bad_opt}soundtouch=enabled \
672   -D %{_bad_opt}srtp=enabled \
673   -D %{_bad_opt}wayland=enabled \
674   -D %{_bad_opt}webrtc=enabled \
675   %if %{with wayland}
676     -D %{_bad_opt}wayland=enabled \
677   %endif
678   %if "%{tizen_profile_name}" == "tv"
679     -D %{_bad_opt}tv-profile=true \
680   %else
681     -D %{_bad_opt}autoconvert=enabled \
682     -D %{_bad_opt}coloreffects=enabled \
683     -D %{_bad_opt}gaudieffects=enabled \
684     -D %{_bad_opt}gdp=enabled \
685     -D %{_bad_opt}id3tag=enabled \
686     -D %{_bad_opt}camerabin2=enabled \
687     -D %{_bad_opt}jpegformat=enabled \
688     -D %{_bad_opt}dash=enabled \
689     -D %{_bad_opt}hls=enabled \
690     -D %{_bad_opt}mpegdemux=enabled \
691     -D %{_bad_opt}rtp=enabled \
692     -D %{_bad_opt}smoothstreaming=enabled \
693     %if 0%{?enable_gl:1}
694       -D %{_bad_opt}gl=enabled \
695     %endif # gl
696   %endif # profile
697 %endif # plugin
698 %if "%{plugin}" == "all" || "%{plugin}" == "ugly"
699   -D %{_ugly_opt}amrwbdec=enabled \
700   %if "%{tizen_profile_name}" == "tv"
701     -D %{_ugly_opt}tv-profile=true \
702   %else
703   -D %{_ugly_opt}asfdemux=enabled \
704   -D %{_ugly_opt}amrnb=enabled \
705   %endif # profile
706 %endif # plugin
707 %if "%{plugin}" == "all" || "%{plugin}" == "libav"
708   %if "%{tizen_profile_name}" == "tv"
709     -D %{_libav_opt}tv-profile=true \
710   %endif # profile
711 %endif # plugin
712 %if "%{plugin}" == "all" || "%{plugin}" == "rs"
713   -D %{_rs_opt}rtspclientsink=enabled \
714   -D %{_rs_opt}introspection=disabled \
715 %endif
716 %if "%{tizen_profile_name}" != "tv"
717   %ifarch %{arm} aarch64
718     %if "%{plugin}" == "all" || "%{plugin}" == "omx"
719       %if "%{target}" == "rpi"
720         -D %{_omx_opt}target=rpi \
721         -D %{_omx_opt}header_path=/opt/vc/include/interface/vmcs_host/khronos/IL \
722       %else
723         %ifarch aarch64
724           -D %{_omx_opt}target=exynos64 \
725         %else
726           -D %{_omx_opt}target=exynos \
727           -D %{_omx_opt}vp9=true \
728         %endif # arch
729       %endif # target
730     %endif # plugin
731   %endif # arch
732   %if "%{plugin}" == "all" || "%{plugin}" == "es"
733     -D %{_es_opt}introspection=disabled \
734     -D %{_es_opt}tools=enabled \
735     -D %{_es_opt}xptv=enabled \
736     -D %{_es_opt}python=enabled \
737   %endif # plugin
738 %endif # profile
739   build
740
741 ninja -C build all %{?_smp_mflags}
742
743 %if "%{plugin}" != "all"
744 popd
745 %endif
746
747 #######################################################
748 ## Install
749 #######################################################
750
751 %install
752 rm -rf %{buildroot}
753 export DESTDIR=%{buildroot}
754 ninja -C %{_source_path}/build install
755 mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets
756 rm -rf %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/encoding-profiles
757 rm -rf %{buildroot}%{_datadir}/locale
758
759 %clean
760 rm -rf $RPM_BUILD_ROOT
761
762 %post -p /sbin/ldconfig
763 %postun -p /sbin/ldconfig
764
765 #######################################################
766 ## Packaging rpms
767 #######################################################
768
769 ###################### gstreamer ######################
770
771 %if "%{plugin}" == "all" || "%{plugin}" == "core"
772
773 %files -n gstreamer
774 %manifest gstreamer.manifest
775 %defattr(-, root, root)
776 %license subprojects/gstreamer/COPYING
777 %dir %{_datadir}/gstreamer-%{gst_branch}
778 %dir %{_datadir}/gstreamer-%{gst_branch}/presets
779 %dir %{_lib_gstreamer_dir}
780 %{_lib_gstreamer_dir}/libgstcoreelements.so
781 %{_lib_gstreamer_dir}/libgstcoretracers.so
782 %dir %{_libexecdir}/gstreamer-%{gst_branch}
783 %{_libexecdir}/gstreamer-%{gst_branch}/gst-hotdoc-plugins-scanner
784 %{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner
785 %{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper
786 %exclude %{_libexecdir}/gstreamer-%{gst_branch}/gst-plugins-doc-cache-generator
787 %{_libdir}/libgstbase-%{gst_branch}.so.*
788 %{_libdir}/libgstcontroller-%{gst_branch}.so.*
789 %{_libdir}/libgstnet-%{gst_branch}.so.*
790 %{_libdir}/libgstcheck-%{gst_branch}.so.*
791 %{_libdir}/libgstreamer-%{gst_branch}.so.*
792 %if "%{tizen_profile_name}" != "tv"
793 %{_lib_girepository}/Gst-%{gst_branch}.typelib
794 %{_lib_girepository}/GstBase-%{gst_branch}.typelib
795 %{_lib_girepository}/GstController-%{gst_branch}.typelib
796 %{_lib_girepository}/GstNet-%{gst_branch}.typelib
797 %{_lib_girepository}/GstCheck-%{gst_branch}.typelib
798 %endif
799 %{_datadir}/gdb/auto-load/usr/%{_lib}/libgstreamer-%{gst_branch}*-gdb.py
800 %{_datadir}/gstreamer-%{gst_branch}/gdb/glib_gobject_helper.py
801 %{_datadir}/gstreamer-%{gst_branch}/gdb/gst_gdb.py
802
803 %files -n gstreamer-utils
804 %manifest gstreamer.manifest
805 %defattr(-, root, root)
806 %license subprojects/gstreamer/COPYING
807 %{_bindir}/gst-inspect-%{gst_branch}
808 %{_bindir}/gst-launch-%{gst_branch}
809 %{_bindir}/gst-stats-%{gst_branch}
810 %{_bindir}/gst-typefind-%{gst_branch}
811 %exclude %doc %{_mandir}/man?/*-%{gst_branch}.*
812
813 %files -n gstreamer-devel
814 %manifest gstreamer.manifest
815 %defattr(-, root, root)
816 %{_datadir}/aclocal/gst-element-check-%{gst_branch}.m4
817 %{_includedir}/gstreamer-%{gst_branch}/gst/*.h
818 %{_includedir}/gstreamer-%{gst_branch}/gst/base/*
819 %{_includedir}/gstreamer-%{gst_branch}/gst/controller/*
820 %{_includedir}/gstreamer-%{gst_branch}/gst/net/*
821 %{_includedir}/gstreamer-%{gst_branch}/gst/check/*
822 %{_libdir}/libgstbase-%{gst_branch}.so
823 %{_libdir}/libgstcontroller-%{gst_branch}.so
824 %{_libdir}/libgstnet-%{gst_branch}.so
825 %{_libdir}/libgstcheck-%{gst_branch}.so
826 %{_libdir}/libgstreamer-%{gst_branch}.so
827 %{_libdir}/pkgconfig/gstreamer-%{gst_branch}.pc
828 %{_libdir}/pkgconfig/gstreamer-base-%{gst_branch}.pc
829 %{_libdir}/pkgconfig/gstreamer-controller-%{gst_branch}.pc
830 %{_libdir}/pkgconfig/gstreamer-net-%{gst_branch}.pc
831 %{_libdir}/pkgconfig/gstreamer-check-%{gst_branch}.pc
832 %if "%{tizen_profile_name}" != "tv"
833 %{_datadir}/gir-%{gst_branch}/Gst-%{gst_branch}.gir
834 %{_datadir}/gir-%{gst_branch}/GstBase-%{gst_branch}.gir
835 %{_datadir}/gir-%{gst_branch}/GstController-%{gst_branch}.gir
836 %{_datadir}/gir-%{gst_branch}/GstNet-%{gst_branch}.gir
837 %{_datadir}/gir-%{gst_branch}/GstCheck-%{gst_branch}.gir
838 %endif
839
840 %changelog
841
842 %endif
843
844 ###################### gst-plugins-base ######################
845
846 %if "%{plugin}" == "all" || "%{plugin}" == "base"
847
848 %files -n gst-plugins-base
849 %manifest gst-plugins-base.manifest
850 %defattr(-, root, root)
851 %license subprojects/gst-plugins-base/COPYING
852 %{_lib_gstreamer_dir}/libgstalsa.so
853 %{_lib_gstreamer_dir}/libgstapp.so
854 %{_lib_gstreamer_dir}/libgstaudioconvert.so
855 %{_lib_gstreamer_dir}/libgstaudiorate.so
856 %{_lib_gstreamer_dir}/libgstaudioresample.so
857 %{_lib_gstreamer_dir}/libgstaudiotestsrc.so
858 %{_lib_gstreamer_dir}/libgstgio.so
859 %{_lib_gstreamer_dir}/libgstogg.so
860 %{_lib_gstreamer_dir}/libgstplayback.so
861 %{_lib_gstreamer_dir}/libgstoverlaycomposition.so
862 %{_lib_gstreamer_dir}/libgstsubparse.so
863 %{_lib_gstreamer_dir}/libgsttcp.so
864 %{_lib_gstreamer_dir}/libgsttheora.so
865 %{_lib_gstreamer_dir}/libgsttypefindfunctions.so
866 %{_lib_gstreamer_dir}/libgstvideoconvert.so
867 %{_lib_gstreamer_dir}/libgstvideorate.so
868 %{_lib_gstreamer_dir}/libgstvideoscale.so
869 %{_lib_gstreamer_dir}/libgstvideotestsrc.so
870 %{_lib_gstreamer_dir}/libgstvolume.so
871 %{_lib_gstreamer_dir}/libgstvorbis.so
872 %{_lib_gstreamer_dir}/libgstpbtypes.so
873 %{_lib_gstreamer_dir}/libgstrawparse.so
874 %{_lib_gstreamer_dir}/libgstopus.so
875 %{_lib_gstreamer_dir}/libgstaudiomixer.so
876 %{_lib_gstreamer_dir}/libgstcompositor.so
877 %if %{with x}
878 %{_lib_gstreamer_dir}/libgstximagesink.so
879 %{_lib_gstreamer_dir}/libgstxvimagesink.so
880 %endif
881 %{_libdir}/libgstapp-%{gst_branch}.so.*
882 %{_libdir}/libgstaudio-%{gst_branch}.so.*
883 %{_libdir}/libgstallocators-%{gst_branch}.so.*
884 %{_libdir}/libgstfft-%{gst_branch}.so.*
885 %{_libdir}/libgstpbutils-%{gst_branch}.so.*
886 %{_libdir}/libgstriff-%{gst_branch}.so.*
887 %{_libdir}/libgstrtp-%{gst_branch}.so.*
888 %{_libdir}/libgstrtsp-%{gst_branch}.so.*
889 %{_libdir}/libgstsdp-%{gst_branch}.so.*
890 %{_libdir}/libgsttag-%{gst_branch}.so.*
891 %{_libdir}/libgstvideo-%{gst_branch}.so.*
892 %if "%{tizen_profile_name}" != "tv"
893 %{_lib_gstreamer_dir}/libgstencoding.so
894 %{_lib_girepository}/GstAllocators-%{gst_branch}.typelib
895 %{_lib_girepository}/GstApp-%{gst_branch}.typelib
896 %{_lib_girepository}/GstAudio-%{gst_branch}.typelib
897 %{_lib_girepository}/GstPbutils-%{gst_branch}.typelib
898 %{_lib_girepository}/GstRtp-%{gst_branch}.typelib
899 %{_lib_girepository}/GstRtsp-%{gst_branch}.typelib
900 %{_lib_girepository}/GstSdp-%{gst_branch}.typelib
901 %{_lib_girepository}/GstTag-%{gst_branch}.typelib
902 %{_lib_girepository}/GstVideo-%{gst_branch}.typelib
903 %endif
904 %dir %{_datadir}/gst-plugins-base/
905 %dir %{_datadir}/gst-plugins-base/%{gst_branch}/
906 %{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict
907
908 %if "%{tizen_profile_name}" != "tv"
909 %files -n gst-plugins-base-extension-adder
910 %{_lib_gstreamer_dir}/libgstadder.so
911 %license subprojects/gst-plugins-base/COPYING
912 %endif # profile
913
914 %files -n gst-plugins-base-devel
915 %manifest gst-plugins-base.manifest
916 %defattr(-, root, root)
917 %{_includedir}/gstreamer-%{gst_branch}/gst/allocators/*
918 %{_includedir}/gstreamer-%{gst_branch}/gst/app/*
919 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/*
920 %{_includedir}/gstreamer-%{gst_branch}/gst/fft/*
921 %{_includedir}/gstreamer-%{gst_branch}/gst/pbutils/*
922 %{_includedir}/gstreamer-%{gst_branch}/gst/riff/*
923 %{_includedir}/gstreamer-%{gst_branch}/gst/rtp/*
924 %{_includedir}/gstreamer-%{gst_branch}/gst/rtsp/*
925 %{_includedir}/gstreamer-%{gst_branch}/gst/sdp/*
926 %{_includedir}/gstreamer-%{gst_branch}/gst/tag/*
927 %{_includedir}/gstreamer-%{gst_branch}/gst/video/*
928 %if "%{plugin}" == "all" && "%{tizen_profile_name}" != "tv"
929 %exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/audio-bad-prelude.h
930 %exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstnonstreamaudiodecoder.h
931 %exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstplanaraudioadapter.h
932 %endif
933 %{_libdir}/libgstallocators-%{gst_branch}.so
934 %{_libdir}/libgstapp-%{gst_branch}.so
935 %{_libdir}/libgstaudio-%{gst_branch}.so
936 %{_libdir}/libgstfft-%{gst_branch}.so
937 %{_libdir}/libgstpbutils-%{gst_branch}.so
938 %{_libdir}/libgstriff-%{gst_branch}.so
939 %{_libdir}/libgstrtp-%{gst_branch}.so
940 %{_libdir}/libgstrtsp-%{gst_branch}*.so
941 %{_libdir}/libgstsdp-%{gst_branch}.so
942 %{_libdir}/libgsttag-%{gst_branch}.so
943 %{_libdir}/libgstvideo-%{gst_branch}.so
944 %{_libdir}/pkgconfig/gstreamer-allocators-%{gst_branch}.pc
945 %{_libdir}/pkgconfig/gstreamer-app-%{gst_branch}.pc
946 %{_libdir}/pkgconfig/gstreamer-audio-%{gst_branch}.pc
947 %{_libdir}/pkgconfig/gstreamer-fft-%{gst_branch}.pc
948 %{_libdir}/pkgconfig/gstreamer-pbutils-%{gst_branch}.pc
949 %{_libdir}/pkgconfig/gstreamer-plugins-base-%{gst_branch}.pc
950 %{_libdir}/pkgconfig/gstreamer-riff-%{gst_branch}.pc
951 %{_libdir}/pkgconfig/gstreamer-rtp-%{gst_branch}.pc
952 %{_libdir}/pkgconfig/gstreamer-rtsp-%{gst_branch}.pc
953 %{_libdir}/pkgconfig/gstreamer-sdp-%{gst_branch}.pc
954 %{_libdir}/pkgconfig/gstreamer-tag-%{gst_branch}.pc
955 %{_libdir}/pkgconfig/gstreamer-video-%{gst_branch}.pc
956 %if "%{tizen_profile_name}" != "tv"
957 %{_datadir}/gir-%{gst_branch}/GstAllocators-%{gst_branch}.gir
958 %{_datadir}/gir-%{gst_branch}/GstApp-%{gst_branch}.gir
959 %{_datadir}/gir-%{gst_branch}/GstAudio-%{gst_branch}.gir
960 %{_datadir}/gir-%{gst_branch}/GstPbutils-%{gst_branch}.gir
961 %{_datadir}/gir-%{gst_branch}/GstRtp-%{gst_branch}.gir
962 %{_datadir}/gir-%{gst_branch}/GstRtsp-%{gst_branch}.gir
963 %{_datadir}/gir-%{gst_branch}/GstSdp-%{gst_branch}.gir
964 %{_datadir}/gir-%{gst_branch}/GstTag-%{gst_branch}.gir
965 %{_datadir}/gir-%{gst_branch}/GstVideo-%{gst_branch}.gir
966 %endif # profile
967
968 %endif # plugin
969
970 ###################### gst-plugins-good ######################
971
972 %if "%{plugin}" == "all" || "%{plugin}" == "good"
973
974 %files -n gst-plugins-good
975 %manifest gst-plugins-good.manifest
976 %defattr(-, root, root)
977 %license subprojects/gst-plugins-good/COPYING
978 %{_lib_gstreamer_dir}/libgstalaw.so
979 %{_lib_gstreamer_dir}/libgstapetag.so
980 %{_lib_gstreamer_dir}/libgstaudiofx.so
981 %{_lib_gstreamer_dir}/libgstaudioparsers.so
982 %{_lib_gstreamer_dir}/libgstautodetect.so
983 %{_lib_gstreamer_dir}/libgstavi.so
984 %{_lib_gstreamer_dir}/libgstdebug.so
985 %{_lib_gstreamer_dir}/libgstdeinterlace.so
986 %{_lib_gstreamer_dir}/libgsticydemux.so
987 %{_lib_gstreamer_dir}/libgstid3demux.so
988 %{_lib_gstreamer_dir}/libgstinterleave.so
989 %{_lib_gstreamer_dir}/libgstisomp4.so
990 %{_lib_gstreamer_dir}/libgstjpeg.so
991 %{_lib_gstreamer_dir}/libgstmulaw.so
992 %{_lib_gstreamer_dir}/libgstnavigationtest.so
993 %{_lib_gstreamer_dir}/libgstpulseaudio.so
994 %{_lib_gstreamer_dir}/libgstreplaygain.so
995 %{_lib_gstreamer_dir}/libgstrtp.so
996 %{_lib_gstreamer_dir}/libgstrtpmanager.so
997 %{_lib_gstreamer_dir}/libgstrtsp.so
998 %{_lib_gstreamer_dir}/libgstudp.so
999 %{_lib_gstreamer_dir}/libgstvideocrop.so
1000 %{_lib_gstreamer_dir}/libgstvideofilter.so
1001 %{_lib_gstreamer_dir}/libgstwavenc.so
1002 %{_lib_gstreamer_dir}/libgstwavparse.so
1003 %if %{with x}
1004 %{_lib_gstreamer_dir}/libgstximagesrc.so
1005 %endif # x
1006 %{_lib_gstreamer_dir}/libgstsoup.so
1007 %{_lib_gstreamer_dir}/libgstvpx.so
1008 %if "%{tizen_profile_name}" != "tv"
1009 %{_lib_gstreamer_dir}/libgstcairo.so
1010 %{_lib_gstreamer_dir}/libgsteffectv.so
1011 %{_lib_gstreamer_dir}/libgstflv.so
1012 %{_lib_gstreamer_dir}/libgstimagefreeze.so
1013 %{_lib_gstreamer_dir}/libgstmatroska.so
1014 %{_lib_gstreamer_dir}/libgstmultifile.so
1015 %{_lib_gstreamer_dir}/libgstsmpte.so
1016 %{_lib_gstreamer_dir}/libgstvideo4linux2.so
1017 %{_lib_gstreamer_dir}/libgstvideobox.so
1018 %{_lib_gstreamer_dir}/libgstvideomixer.so
1019 %else
1020 %ifnarch %{arm} aarch64
1021 %{_lib_gstreamer_dir}/libgstvideo4linux2.so
1022 %endif # arch
1023 %endif # profile
1024 %{_datadir}/gstreamer-%{gst_branch}/presets/GstQTMux.prs
1025 %{_datadir}/gstreamer-%{gst_branch}/presets/GstVP8Enc.prs
1026
1027 %files -n gst-plugins-good-extra
1028 %manifest gst-plugins-good.manifest
1029 %defattr(-, root, root)
1030 %license subprojects/gst-plugins-good/COPYING
1031 %if 0%{?ENABLE_AALIB}
1032 %{_lib_gstreamer_dir}/libgstaasink.so
1033 %endif
1034 %if "%{tizen_profile_name}" != "tv"
1035 %{_lib_gstreamer_dir}/libgstpng.so
1036 %{_lib_gstreamer_dir}/libgstimagefreeze.so
1037 %endif
1038
1039 %endif
1040
1041 ###################### gst-plugins-bad ######################
1042
1043 %if "%{plugin}" == "all" || "%{plugin}" == "bad"
1044
1045 %files -n gst-plugins-bad
1046 %manifest gst-plugins-bad.manifest
1047 %defattr(-, root, root)
1048 %license subprojects/gst-plugins-bad/COPYING
1049 %if "%{tizen_profile_name}" != "tv"
1050 %{_lib_gstreamer_dir}/libgstgaudieffects.so
1051 %{_lib_gstreamer_dir}/libgstautoconvert.so
1052 %{_lib_gstreamer_dir}/libgstcamerabin.so
1053 %{_lib_gstreamer_dir}/libgstcoloreffects.so
1054 %{_lib_gstreamer_dir}/libgstdash.so
1055 %{_lib_gstreamer_dir}/libgstgdp.so
1056 %{_lib_gstreamer_dir}/libgsthls.so
1057 %{_lib_gstreamer_dir}/libgstid3tag.so
1058 %{_lib_gstreamer_dir}/libgstjpegformat.so
1059 %{_lib_gstreamer_dir}/libgstmpegpsdemux.so
1060 %{_lib_gstreamer_dir}/libgstsmoothstreaming.so
1061 %if 0%{?enable_gl:1}
1062 %{_lib_gstreamer_dir}/libgstopengl.so
1063 %{_libdir}/libgstgl-%{gst_branch}.so.0*
1064 %endif
1065 %{_libdir}/libgstisoff-%{gst_branch}.so.0*
1066 %{_libdir}/libgstadaptivedemux-%{gst_branch}.so.0*
1067 %{_libdir}/libgstbadaudio-%{gst_branch}.so.0*
1068 %{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0*
1069 %{_libdir}/libgstinsertbin-%{gst_branch}.so.0*
1070 %{_libdir}/libgstplay-%{gst_branch}.so.0*
1071 %{_libdir}/libgstplayer-%{gst_branch}.so.0*
1072 %{_libdir}/libgstphotography-%{gst_branch}.so.0*
1073 %{_libdir}/libgsturidownloader-%{gst_branch}.so.0*
1074 %endif # profile
1075 %{_lib_gstreamer_dir}/libgstsoundtouch.so
1076 %{_lib_gstreamer_dir}/libgstaes.so
1077 %{_lib_gstreamer_dir}/libgstdebugutilsbad.so
1078 %{_lib_gstreamer_dir}/libgstmpegtsmux.so
1079 %{_lib_gstreamer_dir}/libgstmpegtsdemux.so
1080 %{_lib_gstreamer_dir}/libgstsdpelem.so
1081 %{_lib_gstreamer_dir}/libgstshm.so
1082 %{_lib_gstreamer_dir}/libgstvideoparsersbad.so
1083 %{_lib_gstreamer_dir}/libgstmidi.so
1084 %{_lib_gstreamer_dir}/libgstopenal.so
1085 %{_lib_gstreamer_dir}/libgstnetsim.so
1086 %{_lib_gstreamer_dir}/libgsttimecode.so
1087 %{_lib_gstreamer_dir}/libgstvideoframe_audiolevel.so
1088 %{_lib_gstreamer_dir}/libgstaudiomixmatrix.so
1089 %{_lib_gstreamer_dir}/libgstaudiobuffersplit.so
1090 %{_lib_gstreamer_dir}/libgstaudiolatency.so
1091 %{_lib_gstreamer_dir}/libgstipcpipeline.so
1092 %{_lib_gstreamer_dir}/libgstproxy.so
1093 %{_lib_gstreamer_dir}/libgstnice.so
1094 %{_lib_gstreamer_dir}/libgstwebrtc.so
1095 %{_lib_gstreamer_dir}/libgstdtls.so
1096 %if "%{tizen_profile_name}" != "tv"
1097 %{_lib_gstreamer_dir}/libgstrtpmanagerbad.so
1098 %endif
1099 %{_lib_gstreamer_dir}/libgstsctp.so
1100 %{_lib_gstreamer_dir}/libgstsrtp.so
1101 %{_lib_gstreamer_dir}/libgstopusparse.so
1102 %if %{with wayland}
1103 %{_lib_gstreamer_dir}/libgstwaylandsink.so
1104 %endif
1105 %{_libdir}/libgstcodecs-%{gst_branch}.so.0*
1106 %{_libdir}/libgstcodecparsers-%{gst_branch}.so.0*
1107 %{_libdir}/libgstmpegts-%{gst_branch}.so.0*
1108 %{_libdir}/libgstsctp-%{gst_branch}.so.0*
1109 %{_libdir}/libgsttranscoder-%{gst_branch}.so.0*
1110 %{_libdir}/libgstwebrtc-%{gst_branch}.so.0*
1111 %if %{with wayland}
1112 %{_libdir}/libgstwayland-%{gst_branch}.so.0*
1113 %endif
1114 %exclude %{_bindir}/gst-transcoder-%{gst_branch}
1115 %exclude %{_libdir}/debug/.build-id/*
1116 %exclude %{_libdir}/debug/*
1117
1118 %files -n gst-plugins-bad-devel
1119 %manifest gst-plugins-bad.manifest
1120 %defattr(-, root, root)
1121 %if "%{tizen_profile_name}" != "tv"
1122 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/audio-bad-prelude.h
1123 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstnonstreamaudiodecoder.h
1124 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstplanaraudioadapter.h
1125 %{_includedir}/gstreamer-%{gst_branch}/gst/basecamerabinsrc/*
1126 %{_includedir}/gstreamer-%{gst_branch}/gst/insertbin/*
1127 %{_includedir}/gstreamer-%{gst_branch}/gst/interfaces/*
1128 %{_includedir}/gstreamer-%{gst_branch}/gst/isoff/*
1129 %{_includedir}/gstreamer-%{gst_branch}/gst/play/*
1130 %{_includedir}/gstreamer-%{gst_branch}/gst/player/*
1131 %{_includedir}/gstreamer-%{gst_branch}/gst/uridownloader/*
1132 %endif
1133 %{_includedir}/gstreamer-%{gst_branch}/gst/codecparsers/*
1134 %{_includedir}/gstreamer-%{gst_branch}/gst/mpegts/*
1135 %{_includedir}/gstreamer-%{gst_branch}/gst/sctp/*
1136 %{_includedir}/gstreamer-%{gst_branch}/gst/transcoder/*
1137 %if %{with wayland}
1138 %{_includedir}/gstreamer-%{gst_branch}/gst/wayland/*
1139 %endif
1140 %{_includedir}/gstreamer-%{gst_branch}/gst/webrtc/*
1141 %if "%{tizen_profile_name}" != "tv"
1142 %{_libdir}/libgstadaptivedemux*.so
1143 %{_libdir}/libgstbadaudio*.so
1144 %{_libdir}/libgstbasecamerabinsrc*.so
1145 %{_libdir}/libgstinsertbin*.so
1146 %{_libdir}/libgstisoff*.so
1147 %{_libdir}/libgstphotography*.so
1148 %{_libdir}/libgstplay*.so
1149 %{_libdir}/libgsturidownloader*.so
1150 %if 0%{?enable_gl:1}
1151 %{_lib_gstreamer_dir}/include/gst/gl/*
1152 %endif # gl
1153 %endif # profile
1154
1155 %{_libdir}/libgstcodecparsers*.so
1156 %{_libdir}/libgstcodecs*.so
1157 %{_libdir}/libgstmpegts*.so
1158 %{_libdir}/libgstsctp*.so
1159 %{_libdir}/libgsttranscoder*.so
1160 %if %{with wayland}
1161 %{_libdir}/libgstwayland*.so
1162 %endif
1163 %{_libdir}/libgstwebrtc*.so
1164 %{_libdir}/pkgconfig/gstreamer-codecparsers-%{gst_branch}.pc
1165 %if "%{tizen_profile_name}" != "tv"
1166 %{_libdir}/pkgconfig/gstreamer-bad-audio-%{gst_branch}.pc
1167 %{_libdir}/pkgconfig/gstreamer-insertbin-%{gst_branch}.pc
1168 %{_libdir}/pkgconfig/gstreamer-photography-%{gst_branch}.pc
1169 %{_libdir}/pkgconfig/gstreamer-play-%{gst_branch}.pc
1170 %{_libdir}/pkgconfig/gstreamer-player-%{gst_branch}.pc
1171 %if 0%{?enable_gl:1}
1172 %{_libdir}/pkgconfig/gstreamer-gl-*.pc
1173 %endif # gl
1174 %endif # profile
1175 %{_libdir}/pkgconfig/gstreamer-mpegts-%{gst_branch}.pc
1176 %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{gst_branch}.pc
1177 %{_libdir}/pkgconfig/gstreamer-sctp-%{gst_branch}.pc
1178 %{_libdir}/pkgconfig/gstreamer-transcoder-%{gst_branch}.pc
1179 %if %{with wayland}
1180 %{_libdir}/pkgconfig/gstreamer-wayland-%{gst_branch}.pc
1181 %endif
1182 %{_libdir}/pkgconfig/gstreamer-webrtc-%{gst_branch}.pc
1183
1184 %endif
1185
1186 ###################### gst-plugins-ugly ######################
1187
1188 %if "%{plugin}" == "all" || "%{plugin}" == "ugly"
1189
1190 %files -n gst-plugins-ugly
1191 %manifest gst-plugins-ugly.manifest
1192 %defattr(-,root,root,-)
1193 %license subprojects/gst-plugins-ugly/COPYING
1194 %if "%{tizen_profile_name}" != "tv"
1195 %{_lib_gstreamer_dir}/libgstasf.so
1196 %{_lib_gstreamer_dir}/libgstamrnb.so
1197 %exclude %{_datadir}/gstreamer-%{gst_branch}/presets/GstAmrnbEnc.prs
1198 %endif # profile
1199 %{_lib_gstreamer_dir}/libgstamrwbdec.so
1200
1201 %endif # plugin
1202
1203 ######################## gst-libav ###########################
1204
1205 %if "%{plugin}" == "all" || "%{plugin}" == "libav"
1206
1207 %files -n gst-libav
1208 %manifest gst-libav.manifest
1209 %defattr(-,root,root,-)
1210 %license subprojects/gst-libav/COPYING
1211 %{_lib_gstreamer_dir}/libgstlibav.so
1212
1213 %endif
1214
1215 ###################### gst-rtsp-server #######################
1216
1217 %if "%{plugin}" == "all" || "%{plugin}" == "rs"
1218
1219 %files -n gst-rtsp-server
1220 %manifest gst-rtsp-server.manifest
1221 %defattr(-,root,root,-)
1222 %license subprojects/gst-rtsp-server/COPYING
1223 %{_libdir}/libgstrtspserver*.so.*
1224 %{_lib_gstreamer_dir}/libgstrtspclientsink.so
1225
1226 %files -n gst-rtsp-server-devel
1227 %defattr(-,root,root,-)
1228 %{_libdir}/libgstrtspserver*.so
1229 %{_includedir}/gstreamer-%{gst_branch}/gst/rtsp-server/rtsp-*.h
1230 %{_includedir}/gstreamer-%{gst_branch}/gst/rtsp-server/gstwfd*.h
1231 %{_libdir}/pkgconfig/gstreamer-rtsp-server-%{gst_branch}.pc
1232
1233 %endif
1234
1235 %if "%{tizen_profile_name}" != "tv"
1236
1237 ########################## gst-omx ###########################
1238 %ifarch %{arm} aarch64
1239
1240 %if "%{plugin}" == "all" || "%{plugin}" == "omx"
1241
1242 %files -n gst-omx
1243 %manifest gst-omx.manifest
1244 %defattr(-,root,root,-)
1245 %license subprojects/gst-omx/COPYING
1246 %{_lib_gstreamer_dir}/libgstomx.so
1247
1248 %endif
1249
1250 %endif # arch
1251
1252 ###################### gst-editing-services #######################
1253
1254 %if "%{plugin}" == "all" || "%{plugin}" == "es"
1255
1256 %files -n gst-editing-services
1257 %manifest gst-editing-services.manifest
1258 %defattr(-,root,root,-)
1259 %license subprojects/gst-editing-services/COPYING
1260 %{_libdir}/libges-%{gst_branch}.so.*
1261 %{_lib_gstreamer_dir}/libgstges.so
1262 %{_lib_gstreamer_dir}/libgstnle.so
1263 %exclude %{_libdir}/gst-validate-launcher/python/launcher/apps/geslaunch.py
1264 %exclude %{_datadir}/gstreamer-%{gst_branch}/validate/scenarios/ges-edit-clip-while-paused.scenario
1265 %{_bindir}/ges-launch-%{gst_branch}
1266
1267 %files -n gst-editing-services-devel
1268 %{_libdir}/libges-%{gst_branch}.so
1269 %{_includedir}/gstreamer-%{gst_branch}/ges/*
1270 %{_libdir}/pkgconfig/gst-editing-services-%{gst_branch}.pc
1271
1272 %endif # plugin
1273
1274 %endif # profile