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