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