+%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
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
%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
%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