srtp: enable plugins
[platform/upstream/gst-plugins-bad.git] / packaging / gst-plugins-bad.spec
index 773e8f3..0ef5285 100644 (file)
@@ -1,37 +1,49 @@
+%bcond_with wayland
+#%bcond_with x
+%define gst_branch 1.0
+
 Name:           gst-plugins-bad
-Version:        1.2.0
+Version:        1.16.2
 Release:        0
-%define gst_branch 1.0
 Summary:        GStreamer Streaming-Media Framework Plug-Ins
-License:        GPL-2.0+ and LGPL-2.1+
-Group:          Multimedia/Audio
+License:        LGPL-2.0+
+Group:          Multimedia/Framework
 Url:            http://gstreamer.freedesktop.org/
 Source:         http://gstreamer.freedesktop.org/src/gst-plugins-bad/%{name}-%{version}.tar.xz
-Source100:      common.tar.bz2
-Source1001:    gst-plugins-bad.manifest
+Source100:      common.tar.gz
 BuildRequires:  gettext-tools
-BuildRequires:  SDL-devel
 BuildRequires:  autoconf
 BuildRequires:  gcc-c++
-BuildRequires:  glib2-devel >= 2.31.14
-BuildRequires:  gstreamer-devel >= 1.0.0
-BuildRequires:  gst-plugins-base-devel >= 1.0.0
+BuildRequires:  pkgconfig(glib-2.0) >= 2.31.14
+BuildRequires:  pkgconfig(gstreamer-1.0) >= 1.12.0
+BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0) >= 1.12.0
 BuildRequires:  pkgconfig(orc-0.4) >= 0.4.11
 BuildRequires:  python
 BuildRequires:  xsltproc
-BuildRequires:  pkgconfig(cairo)
+BuildRequires:  pkgconfig(libusb-1.0)
 BuildRequires:  pkgconfig(gio-2.0) >= 2.25.0
-BuildRequires:  pkgconfig(libcrypto)
 BuildRequires:  pkgconfig(libcurl) >= 7.21.0
 BuildRequires:  pkgconfig(libexif) >= 0.6.16
-BuildRequires:  pkgconfig(libpng) >= 1.2
-BuildRequires:  pkgconfig(openssl) >= 0.9.5
+BuildRequires:  pkgconfig(openssl1.1)
 BuildRequires:  pkgconfig(sndfile) >= 1.0.16
+BuildRequires:  pkgconfig(openal)
+BuildRequires:  pkgconfig(soundtouch) > 1.4
+BuildRequires:  pkgconfig(nice)
+BuildRequires:  pkgconfig(usrsctp)
+BuildRequires:  pkgconfig(libsrtp2) >= 2.1.0
+%if %{with wayland}
+%if 0%{?enable_gl:1}
+BuildRequires:  pkgconfig(gles20)
+BuildRequires:  pkgconfig(wayland-egl) >= 9.0
+%endif
+BuildRequires:  pkgconfig(wayland-client) >= 1.0.0
+BuildRequires:  pkgconfig(wayland-cursor) >= 1.0.0
+BuildRequires:  pkgconfig(libxml-2.0)
+%endif
+%if %{with x}
 BuildRequires:  pkgconfig(x11)
-Requires(post): glib2-tools
-Requires(postun): glib2-tools
-Requires:       gstreamer >= 1.0.2
-Enhances:       gstreamer
+%endif
+Requires:       gstreamer >= 1.12.0
 
 %description
 GStreamer is a streaming media framework based on graphs of filters
@@ -41,96 +53,10 @@ videos. Its plug-in-based architecture means that new data types or
 processing capabilities can be added simply by installing new plug-ins.
 
 
-%package -n libgstbasecamerabinsrc
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgstbasecamerabinsrc
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
-%package -n libgstphotography
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgstphotography
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
-%package -n libgstvdp
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgstvdp
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
-%package -n libgstcodecparsers
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgstcodecparsers
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
-%package -n libgstegl
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgstegl
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
-%package -n libgstinsertbin
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgstinsertbin
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
-%package -n libgstmpegts
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgstmpegts
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
-%package -n libgsturidownloader
-Summary:        GStreamer Streaming-Media Framework Plug-Ins
-
-%description -n libgsturidownloader
-GStreamer is a streaming media framework based on graphs of filters
-that operate on media data. Applications using this library can do
-anything media-related,from real-time sound processing to playing
-videos. Its plug-in-based architecture means that new data types or
-processing capabilities can be added simply by installing new plug-ins.
-
 %package devel
 Summary:        GStreamer Streaming-Media Framework Plug-Ins
-Requires:       gstreamer-devel
-Requires:       libgstbasecamerabinsrc = %{version}
-Requires:       libgstcodecparsers = %{version}
-Requires:       libgstphotography = %{version}
-Requires:       libgstegl = %{version}
-Requires:       libgstinsertbin = %{version}
-Requires:       libgstmpegts = %{version}
-Requires:       libgsturidownloader = %{version}
+Requires: %{name} = %{version}-%{release}
+Requires: gst-plugins-base-devel
 
 %description devel
 GStreamer is a streaming media framework based on graphs of filters
@@ -143,16 +69,96 @@ processing capabilities can be added simply by installing new plug-ins.
 %prep
 %setup -q -n %{name}-%{version}
 %setup -q -T -D -a 100
-cp %{SOURCE1001} .
 
 %build
 export V=1
 NOCONFIGURE=1 ./autogen.sh
+export CFLAGS+=" -Wall -g -fPIC\
+  -DTIZEN_FEATURE_AVOID_PAD_SWITCHING\
+  -DTIZEN_FEATURE_ADAPTIVE_MODIFICATION\
+  -DTIZEN_FEATURE_TSDEMUX_MODIFICATION\
+  -DTIZEN_FEATURE_OALSINK_MODIFICATION\
+  -DTIZEN_FEATURE_UPSTREAM\
+  -fstack-protector-strong\
+  -Wl,-z,relro\
+  -D_FORTIFY_SOURCE=2"
+export CXXFLAGS+=" -DTIZEN_FEATURE_PITCH_AUDIO_META"
+# export pthread for checking usrsctp_init at sctp configure
+export LDFLAGS+=" -pthread "
+
 %configure\
-    --disable-static\
-    --disable-examples\
-    --enable-experimental\
-    --disable-gtk-doc
+       --disable-static\
+       --disable-examples\
+       --enable-experimental\
+%if "%{tizen_profile_name}" == "tv"
+       --enable-tv\
+       --disable-autoconvert\
+       --disable-camerabin2\
+       --disable-dash\
+       --disable-hls\
+       --disable-id3tag\
+       --disable-jpegformat\
+       --disable-mpegdemux\
+       --disable-smoothstreaming\
+       --disable-coloreffects\
+       --disable-rtp\
+       --disable-gl\
+%endif
+       --disable-accurip\
+       --disable-adpcmdec\
+       --disable-audiofxbad\
+       --disable-decklink\
+       --disable-dvb\
+       --disable-fieldanalysis\
+       --disable-gdp\
+       --disable-ivtc\
+       --disable-rawparse\
+       --disable-videofilters\
+       --disable-yadif\
+       --disable-curl\
+       --enable-dtls\
+       --disable-fbdev\
+       --disable-uvch264\
+       --disable-y4m\
+       --disable-adpcmenc\
+       --disable-aiff\
+       --disable-asfmux\
+       --disable-audiovisualizers\
+       --disable-bayer\
+       --disable-dvbsuboverlay\
+       --disable-dvdspu\
+       --disable-faceoverlay\
+       --disable-festival\
+       --disable-freeverb\
+       --disable-frei0r\
+       --disable-gaudieffects\
+       --disable-geometrictransform\
+       --disable-inter\
+       --disable-interlace\
+       --disable-ivfparse\
+       --disable-jp2kdecimator\
+       --disable-librfb\
+       --disable-mxf\
+       --disable-onvif\
+       --disable-pcapparse\
+       --disable-pnm\
+       --disable-removesilence\
+       --disable-segmentclip\
+       --disable-siren\
+       --disable-smooth\
+       --disable-speed\
+       --disable-subenc\
+       --disable-videosignal\
+       --disable-vmnc\
+%if 0%{?enable_gl:1}
+       --enable-egl=yes\
+       --enable-gles2=yes\
+%endif
+       --enable-wayland=yes\
+       --enable-openal=yes\
+       --disable-sndfile\
+       --disable-gtk-doc\
+       --disable-mpegpsmux
 %__make %{?_smp_mflags} V=1
 
 %install
@@ -162,152 +168,89 @@ mv %{name}-%{gst_branch}.lang %{name}.lang
 
 %lang_package
 
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post
-%glib2_gsettings_schema_post
-
-%postun
-%glib2_gsettings_schema_postun
-
-%post -n libgstbasecamerabinsrc -p /sbin/ldconfig
-
-%post -n libgstphotography -p /sbin/ldconfig
-
-%post -n libgstcodecparsers -p /sbin/ldconfig
-
-%post -n libgstvdp -p /sbin/ldconfig
+%post -p /sbin/ldconfig
 
-%post -n libgstegl -p /sbin/ldconfig
 
-%post -n libgstinsertbin -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
 
-%post -n libgstmpegts -p /sbin/ldconfig
-
-%post -n libgsturidownloader -p /sbin/ldconfig
-
-%postun -n libgstbasecamerabinsrc -p /sbin/ldconfig
-
-%postun -n libgstphotography -p /sbin/ldconfig
-
-%postun -n libgstcodecparsers -p /sbin/ldconfig
-
-%postun -n libgstvdp -p /sbin/ldconfig
-
-%postun -n libgstegl -p /sbin/ldconfig
-
-%postun -n libgstinsertbin -p /sbin/ldconfig
-
-%postun -n libgstmpegts -p /sbin/ldconfig
-
-%postun -n libgsturidownloader -p /sbin/ldconfig
 
 %files
 %manifest %{name}.manifest
 %defattr(-, root, root)
-%license COPYING COPYING.LIB
-%{_libdir}/gstreamer-%{gst_branch}/libgstadpcmdec.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstadpcmenc.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstasfmux.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstaudiovisualizers.so
+%license COPYING.LIB
+%if "%{tizen_profile_name}" != "tv"
 %{_libdir}/gstreamer-%{gst_branch}/libgstautoconvert.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstbayer.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstcamerabin2.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstcamerabin.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstcoloreffects.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstcurl.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstdataurisrc.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstdebugutilsbad.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstdvb.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstdvbsuboverlay.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstfestival.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstgaudieffects.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstgdp.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstgeometrictransform.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstid3tag.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstinter.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstinterlace.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstjpegformat.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstliveadder.so
-
 %{_libdir}/gstreamer-%{gst_branch}/libgstmpegpsdemux.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstsmoothstreaming.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstdashdemux.so
+%if 0%{?enable_gl:1}
+%{_libdir}/gstreamer-%{gst_branch}/libgstopengl.so
+%endif
+%{_libdir}/gstreamer-%{gst_branch}/libgstsoundtouch.so
+%{_libdir}/libgstinsertbin-%{gst_branch}.so.0*
+%{_libdir}/libgstphotography-%{gst_branch}.so.0*
+%{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0*
+%{_libdir}/libgsturidownloader-%{gst_branch}.so.0*
+%{_libdir}/libgstadaptivedemux-%{gst_branch}.so.0*
+%if 0%{?enable_gl:1}
+%{_libdir}/libgstgl-%{gst_branch}.so.0*
+%endif
+%{_libdir}/libgstisoff-%{gst_branch}.so.0*
+%endif
+%{_libdir}/gstreamer-%{gst_branch}/libgstdebugutilsbad.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstmpegtsdemux.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstmpegtsmux.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstpcapparse.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstpnm.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstrawparse.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstremovesilence.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstsdpelem.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstsegmentclip.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstshm.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstsmooth.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstspeed.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstvideoparsersbad.so
-%{_libdir}/gstreamer-%{gst_branch}/libgsty4mdec.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstdvdspu.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstfieldanalysis.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstfrei0r.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstsiren.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstsubenc.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstmpegpsmux.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstdecklink.so
-%{_libdir}/gstreamer-%{gst_branch}/libgsteglglessink.so
-
-%{_libdir}/gstreamer-%{gst_branch}/libgstaccurip.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstaiff.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstaudiofxbad.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstfbdevsink.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstfreeverb.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstivtc.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstmfc.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstmidi.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstmxf.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstrfbsrc.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstvideofiltersbad.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstyadif.so
-
-
-%files -n libgstphotography
-%manifest %{name}.manifest
-%defattr(-, root, root)
-%{_libdir}/libgstphotography-%{gst_branch}.so.0*
-
-%files -n libgstbasecamerabinsrc
-%manifest %{name}.manifest
-%defattr(-, root, root)
-%{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0*
-
-%files -n libgstcodecparsers
-%manifest %{name}.manifest
-%defattr(-, root, root)
+%{_libdir}/gstreamer-%{gst_branch}/libgstopenal.so
+%{_libdir}/gstreamer-%{gst_branch}/libgsthls.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstnetsim.so
+%{_libdir}/gstreamer-%{gst_branch}/libgsttimecode.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstvideoframe_audiolevel.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstaudiomixmatrix.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstaudiobuffersplit.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstaudiolatency.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstipcpipeline.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstproxy.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstwebrtc.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstdtls.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstsctp.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstsrtp.so
+%{_libdir}/libgstsctp-%{gst_branch}.so.0*
+%{_libdir}/libgstwebrtc-%{gst_branch}.so.0*
 %{_libdir}/libgstcodecparsers-%{gst_branch}.so.0*
-
-%files -n libgstegl
-%manifest %{name}.manifest
-%defattr(-, root, root)
-%{_libdir}/libgstegl-%{gst_branch}.so.0*
-
-%files -n libgstinsertbin
-%manifest %{name}.manifest
-%defattr(-, root, root)
-%{_libdir}/libgstinsertbin-%{gst_branch}.so.0*
-
-%files -n libgstmpegts
-%manifest %{name}.manifest
-%defattr(-, root, root)
 %{_libdir}/libgstmpegts-%{gst_branch}.so.0*
-
-%files -n libgsturidownloader
-%manifest %{name}.manifest
-%defattr(-, root, root)
-%{_libdir}/libgsturidownloader-%{gst_branch}.so.0*
+%{_libdir}/libgstbadaudio-%{gst_branch}.so.0*
+%{_libdir}/libgstplayer-%{gst_branch}.so.0*
 
 %files devel
 %manifest %{name}.manifest
 %defattr(-, root, root)
 %{_includedir}/gstreamer-%{gst_branch}
+%if "%{tizen_profile_name}" != "tv"
+%if 0%{?enable_gl:1}
+%{_libdir}/gstreamer-%{gst_branch}/include/gst/gl/gstglconfig.h
+%endif
+%endif
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/gstreamer-codecparsers-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{gst_branch}.pc
-%{_libdir}/pkgconfig/gstreamer-egl-%{gst_branch}.pc
 %{_libdir}/pkgconfig/gstreamer-insertbin-%{gst_branch}.pc
+%{_libdir}/pkgconfig/gstreamer-mpegts-%{gst_branch}.pc
+%if 0%{?enable_gl:1}
+%{_libdir}/pkgconfig/gstreamer-gl-1.0.pc
+%endif
+%{_libdir}/pkgconfig/gstreamer-bad-audio-1.0.pc
+%{_libdir}/pkgconfig/gstreamer-player-1.0.pc
+%{_libdir}/pkgconfig/gstreamer-sctp-1.0.pc
+%{_libdir}/pkgconfig/gstreamer-webrtc-1.0.pc