%bcond_without aalib # aa videosink plugin
%bcond_without caca # caca videosink plugin
%bcond_without cairo # cairo plugin
+%bcond_without gtk # GTK+ (3.x) elements (video sink plugin)
%bcond_without jack # JACK audio plugin
+%bcond_with jack1 # JACK 1 (0.12x) instead of JACK 2 (1.9.x)
+%bcond_without lame # LAME MP2/MP3 encoding plugin
+%bcond_without mpg123 # MPG123-based MP3 plugin
+%bcond_without qt # Qt (5.x) elements (video sink plugin)
%bcond_without soup # libsoup (2.4 API) http source plugin
%bcond_without speex # speex plugin
%bcond_without wavpack # wavpack plugin
%define gstname gst-plugins-good
%define major_ver 1.0
-%define gst_req_ver 1.4.0
-%define gstpb_req_ver 1.4.0
+%define gst_req_ver 1.14.4
+%define gstpb_req_ver 1.14.4
%include /usr/lib/rpm/macros.gstreamer
Summary: Good GStreamer Streaming-media framework plugins
Summary(pl.UTF-8): Dobre wtyczki do środowiska obróbki strumieni GStreamer
Name: gstreamer-plugins-good
-Version: 1.4.1
+Version: 1.14.4
Release: 1
License: LGPL v2+
Group: Libraries
-Source0: http://gstreamer.freedesktop.org/src/gst-plugins-good/%{gstname}-%{version}.tar.xz
-# Source0-md5: eb3a3296b2f6009def1f5a09590ce767
-URL: http://gstreamer.freedesktop.org/
-BuildRequires: autoconf >= 2.68
-BuildRequires: automake >= 1:1.11
+Source0: https://gstreamer.freedesktop.org/src/gst-plugins-good/%{gstname}-%{version}.tar.xz
+# Source0-md5: 6e3b247097366cf2639f22abfece7113
+Patch0: libvpx1.8.patch
+URL: https://gstreamer.freedesktop.org/
+BuildRequires: autoconf >= 2.69
+BuildRequires: automake >= 1:1.14
BuildRequires: docbook-dtd412-xml
-BuildRequires: gettext-devel >= 0.17
-BuildRequires: glib2-devel >= 1:2.32
+BuildRequires: gettext-tools >= 0.17
+BuildRequires: glib2-devel >= 1:2.40
+%if %(locale -a | grep -q '^C\.utf8$'; echo $?)
+BuildRequires: glibc-localedb-all
+%endif
BuildRequires: gstreamer-devel >= %{gst_req_ver}
+BuildRequires: gstreamer-gl-devel >= %{gstpb_req_ver}
BuildRequires: gstreamer-plugins-base-devel >= %{gstpb_req_ver}
BuildRequires: gtk+3-devel >= 3.0.0
%{?with_apidocs:BuildRequires: gtk-doc >= 1.12}
-BuildRequires: libtool >= 1.4
+BuildRequires: libtool >= 2:2.2.6
BuildRequires: orc-devel >= 0.4.17
BuildRequires: pkgconfig >= 1:0.9.0
BuildRequires: python >= 2.1
##
## plugins
##
+%{?with_qt:BuildRequires: Qt5Core-devel >= 5.4.0}
+%{?with_qt:BuildRequires: Qt5Gui-devel >= 5.4.0}
+%{?with_qt:BuildRequires: Qt5Quick-devel >= 5.4.0}
+%{?with_qt:BuildRequires: Qt5Qml-devel >= 5.4.0}
+%{?with_qt:BuildRequires: Qt5X11Extras-devel >= 5.4.0}
+%{?with_qt:BuildRequires: Qt5WaylandClient-devel >= 5.4.0}
%{?with_aalib:BuildRequires: aalib-devel >= 0.11.0}
BuildRequires: bzip2-devel
%{?with_cairo:BuildRequires: cairo-devel >= 1.10.0}
BuildRequires: dbus-devel >= 0.91
BuildRequires: flac-devel >= 1.1.4
BuildRequires: gdk-pixbuf2-devel >= 2.8.0
-%{?with_jack:BuildRequires: jack-audio-connection-kit-devel >= 0.99.10}
+%{?with_gtk:BuildRequires: gtk+3-devel >= 3.15.0}
+%if %{with jack}
+%{?with_jack1:BuildRequires: jack-audio-connection-kit-devel >= 0.120.1}
+%{!?with_jack1:BuildRequires: jack-audio-connection-kit-devel >= 1.9.7}
+%endif
+%{?with_lame:BuildRequires: lame-libs-devel}
BuildRequires: libavc1394-devel
%{?with_caca:BuildRequires: libcaca-devel}
BuildRequires: libdv-devel >= 0.104
BuildRequires: libiec61883-devel >= 1.0.0
BuildRequires: libjpeg-devel
-BuildRequires: libpng-devel >= 1.2.0
+%{?with_mpg123:BuildRequires: libmpg123-devel >= 1.14}
+BuildRequires: libpng-devel >= 2:1.5.1
BuildRequires: libraw1394-devel >= 2.0.0
BuildRequires: libshout-devel >= 2.0
-%{?with_soup:BuildRequires: libsoup-devel >= 2.40}
-# for taglib
+%{?with_soup:BuildRequires: libsoup-devel >= 2.48}
BuildRequires: libstdc++-devel
BuildRequires: libv4l-devel
-BuildRequires: libvpx-devel >= 1.3.0
+BuildRequires: libvpx-devel >= 1.4.0
BuildRequires: pulseaudio-devel >= 2.0
+%{?with_qt:BuildRequires: qt5-build >= 5.4.0}
%{?with_speex:BuildRequires: speex-devel >= 1:1.1.6}
BuildRequires: taglib-devel >= 1.5
+%{?with_lame:BuildRequires: twolame-devel >= 0.3.10}
BuildRequires: udev-glib-devel >= 1:147
-%{?with_wavpack:BuildRequires: wavpack-devel >= 4.40.0}
+%{?with_wavpack:BuildRequires: wavpack-devel >= 4.60.0}
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXdamage-devel
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXfixes-devel
-BuildRequires: xorg-lib-libXv-devel
BuildRequires: zlib-devel
-Requires: glib2 >= 1:2.32
+Requires: glib2 >= 1:2.40
Requires: gstreamer >= %{gst_req_ver}
Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Requires: orc >= 0.4.17
Summary(pl.UTF-8): Wtyczka wyjścia obrazu Ascii-art do GStreamera
Group: Libraries
Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Provides: gstreamer-videosink = %{version}
Obsoletes: gstreamer-aalib
Summary: Good GStreamer audio effects plugins
Summary(pl.UTF-8): Dobre wtyczki efektów dźwiękowych do GStreamera
Group: Libraries
+Requires: gstreamer >= %{gst_req_ver}
Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Obsoletes: gstreamer-audio-effects
Summary: GStreamer audio format plugins
Summary(pl.UTF-8): Wtyczki formatów dźwięku
Group: Libraries
-#Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
# for locales in wavparse module
Requires: %{name} = %{version}-%{release}
Requires: cairo >= 1.10.0
Requires: cairo-gobject >= 1.10.0
Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
%description -n gstreamer-cairo
GStreamer cairo plugin.
Summary: GStreamer dv plugin
Summary(pl.UTF-8): Wtyczka dv do GStreamera
Group: Libraries
+Requires: gstreamer >= %{gst_req_ver}
Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Requires: libdv >= 0.104
Summary(pl.UTF-8): Wtyczka do GStreamera obsługująca bezstratny format dźwięku FLAC
Group: Libraries
Requires: flac >= 1.1.4
+Requires: gstreamer >= %{gst_req_ver}
Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
%description -n gstreamer-flac
Group: Libraries
Requires: gdk-pixbuf2 >= 2.8.0
Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
%description -n gstreamer-gdkpixbuf
This GStreamer plugin load images via gdkpixbuf library.
Ta wtyczka GStreamera wczytuje obrazki za pośrednictwem biblioteki
gdkpixbuf.
+%package -n gstreamer-videosink-gtk
+Summary: GStreamer GTK+ (3.x) output plugin
+Summary(pl.UTF-8): Wtyczka wyjścia obrazu GTK+ (3.x) dla GStreamera
+Group: Libraries
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-gl-libs >= %{gstpb_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: gtk+3 >= 3.15.0
+Provides: gstreamer-videosink = %{version}
+
+%description -n gstreamer-videosink-gtk
+GStreamer GTK+ (3.x) output plugin.
+
+%description -n gstreamer-videosink-gtk -l pl.UTF-8
+Wtyczka wyjścia obrazu GTK+ (3.x) dla GStreamera.
+
%package -n gstreamer-jack
Summary: GStreamer plugin for the JACK Sound Server
Summary(pl.UTF-8): Wtyczka serwera dźwięku JACK dla GStreamera
Group: Libraries
+Requires: gstreamer >= %{gst_req_ver}
Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+%{?with_jack1:Requires: jack-audio-connection-kit-libs >= 0.120.1}
+%{!?with_jack1:Requires: jack-audio-connection-kit-libs >= 1.9.7}
+# for locales
+Requires: %{name} = %{version}-%{release}
Provides: gstreamer-audiosink = %{version}
%description -n gstreamer-jack
Summary: GStreamer plugin for libcaca Ascii-art output
Summary(pl.UTF-8): Wtyczka libcaca do GStreamera
Group: Libraries
+Requires: gstreamer >= %{gst_req_ver}
Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Provides: gstreamer-videosink = %{version}
%description -n gstreamer-videosink-libcaca -l pl.UTF-8
Wtyczka libcaca do GStreamera.
+%package -n gstreamer-lame
+Summary: GStreamer plugin encoding MP3 songs
+Summary(pl.UTF-8): Wtyczka do GStreamera kodująca pliki MP3
+Group: Libraries
+# for NLS
+Requires: %{name} = %{version}-%{release}
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: twolame-libs >= 0.3.10
+
+%description -n gstreamer-lame
+Plugin for encoding MP3 with lame.
+
+%description -n gstreamer-lame -l pl.UTF-8
+Wtyczka do GStreamera kodująca pliki MP3 przy użyciu lame.
+
+%package -n gstreamer-mpg123
+Summary: GStreamer mpg123 plugin
+Summary(pl.UTF-8): Wtyczka mpg123 do GStreamera
+Group: Libraries
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: libmpg123 >= 1.14
+# plugin obsoleted in 1.12.0, functionality in mpg123 plugin (or libav)
+Obsoletes: gstreamer-mad < 1.12.0
+
+%description -n gstreamer-mpg123
+GStreamer mpg123 plugin for MP3 playback.
+
+%description -n gstreamer-mpg123 -l pl.UTF-8
+Wtyczka mpg123 do GStreamera, odtwarzająca MP3.
+
%package -n gstreamer-libpng
Summary: GStreamer plugin to encode png images
Summary(pl.UTF-8): Wtyczka GStreamera kodująca pliki png
Group: Libraries
-#Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
# for locales
Requires: %{name} = %{version}-%{release}
-Requires: libpng >= 1.2.0
+Requires: libpng >= 2:1.5.1
%description -n gstreamer-libpng
Plugin for encoding png images.
Summary: GStreamer plugins for input and output using OSS
Summary(pl.UTF-8): Wtyczki wejścia i wyjścia dźwięku OSS do GStreamera
Group: Libraries
-#Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
# for locales
Requires: %{name} = %{version}-%{release}
Provides: gstreamer-audiosink = %{version}
Requires: gstreamer >= %{gst_req_ver}
Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Requires: pulseaudio >= 2.0
+# for locales
+Requires: %{name} = %{version}-%{release}
Provides: gstreamer-audiosink = %{version}
Obsoletes: gstreamer-audiosink-polypaudio
Obsoletes: gstreamer-polypaudio
%description -n gstreamer-pulseaudio -l pl.UTF-8
Wtyczka GStreamera dla serwera dźwięku PulseAudio.
+%package -n gstreamer-videosink-qt
+Summary: GStreamer Qt (5.x) output plugin
+Summary(pl.UTF-8): Wtyczka wyjścia obrazu Qt (5.x) dla GStreamera
+Group: Libraries
+Requires: Qt5Core >= 5.4.0
+Requires: Qt5Gui >= 5.4.0
+Requires: Qt5Quick >= 5.4.0
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-gl-libs >= %{gstpb_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Provides: gstreamer-videosink = %{version}
+
+%description -n gstreamer-videosink-qt
+GStreamer Qt (5.x) output plugin.
+
+%description -n gstreamer-videosink-qt -l pl.UTF-8
+Wtyczka wyjścia obrazu Qt (5.x) dla GStreamera.
+
%package -n gstreamer-raw1394
Summary: GStreamer raw1394 Firewire plugin
Summary(pl.UTF-8): Wtyczka FireWire dla GStreamera
Summary(pl.UTF-8): Wtyczka do GStreamera umożliwiająca komunikację z serwerami Shoutcast
Group: Libraries
Requires: gstreamer >= %{gst_req_ver}
+# for locales
+Requires: %{name} = %{version}-%{release}
%description -n gstreamer-shout2
GStreamer plugin for communicating with Shoutcast servers.
Summary: GStreamer Soup plugin
Summary(pl.UTF-8): Wtyczka biblioteki Soup dla GStreamera
Group: Libraries
-Requires: gstreamer-plugins-base >= %{gst_req_ver}
-Requires: libsoup >= 2.40
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: libsoup >= 2.48
+# for locales
+Requires: %{name} = %{version}-%{release}
%description -n gstreamer-soup
GStreamer Plugin for downloading files with Soup library.
Summary: GStreamer speex codec decoder/encoder plugin
Summary(pl.UTF-8): Wtyczka do GStreamera obsługująca kodek Speex
Group: Libraries
-#Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Requires: speex >= 1:1.1.6
%description -n gstreamer-speex
Summary(pl.UTF-8): Wtyczka GStreamera zapisująca znaczniki oparta na bibliotece taglib
Group: Libraries
Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Requires: taglib >= 1.5
%description -n gstreamer-taglib
Summary(pl.UTF-8): Wtyczka wejścia Video4Linux2 dla GStreamera
Group: Libraries
Requires: %{name} = %{version}-%{release}
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
Requires: udev-glib >= 1:147
%description -n gstreamer-v4l2
Summary: GStreamer video effects plugins
Summary(pl.UTF-8): Wtyczki efektów wideo do GStreamera
Group: Libraries
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
# for locales in jpeg module
Requires: %{name} = %{version}-%{release}
Summary(pl.UTF-8): Wtyczki wizualizacji do GStreamera
Group: Libraries
Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
%description -n gstreamer-visualisation
Various plugins for visual effects to use with audio. Included are
Różne wtyczki efektów wizualnych do używania z dźwiękiem. Załączone:
monoscope, spectrum, goom (2k4) i goom2k1.
-%package -n gstreamer-ximagesrc
-Summary: GStreamer X11 video input plugin using standard Xlib calls
-Summary(pl.UTF-8): Wtyczka wejścia obrazu X11 GStreamera używająca standardowych wywołań Xlib
-Group: Libraries
-Requires: %{name} = %{version}-%{release}
-
-%description -n gstreamer-ximagesrc
-GStreamer X11 video input plugin using standard Xlib calls.
-
-%description -n gstreamer-ximagesrc -l pl.UTF-8
-Wtyczka wejścia obrazu X11 GStreamera używająca standardowych wywołań
-Xlib.
-
%package -n gstreamer-vpx
Summary: GStreamer plugin for VP8/VP9 video format
Summary(pl.UTF-8): Wtyczka do GStreamera obsługująca format obrazu VP8/VP9
Group: Libraries
Requires: gstreamer >= %{gst_req_ver}
-Requires: libvpx >= 1.3.0
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: libvpx >= 1.4.0
Obsoletes: gstreamer-vp8
%description -n gstreamer-vpx
Summary(pl.UTF-8): Wtyczka do GStreamera obsługująca bezstratny format dźwięku Wavpack
Group: Libraries
Requires: gstreamer >= %{gst_req_ver}
-Requires: wavpack-libs >= 4.40.0
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+Requires: wavpack-libs >= 4.60.0
%description -n gstreamer-wavpack
Plugin for lossless Wavpack audio format.
%description -n gstreamer-wavpack -l pl.UTF-8
Wtyczka obsługująca bezstratny format dźwięku Wavpack.
+%package -n gstreamer-ximagesrc
+Summary: GStreamer X11 video input plugin using standard Xlib calls
+Summary(pl.UTF-8): Wtyczka wejścia obrazu X11 GStreamera używająca standardowych wywołań Xlib
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: gstreamer >= %{gst_req_ver}
+Requires: gstreamer-plugins-base >= %{gstpb_req_ver}
+
+%description -n gstreamer-ximagesrc
+GStreamer X11 video input plugin using standard Xlib calls.
+
+%description -n gstreamer-ximagesrc -l pl.UTF-8
+Wtyczka wejścia obrazu X11 GStreamera używająca standardowych wywołań
+Xlib.
+
%prep
%setup -q -n %{gstname}-%{version}
+%patch0 -p1
%build
%{__libtoolize}
--enable-experimental \
%{!?with_aalib:--disable-aalib} \
%{!?with_cairo:--disable-cairo} \
+ %{!?with_gtk:--disable-gtk} \
%{!?with_jack:--disable-jack} \
+ %{!?with_lame:--disable-lame --disable-twolame} \
%{!?with_caca:--disable-libcaca} \
+ %{!?with_mpg123:--disable-mpg123} \
+ %{!?with_qt:--disable-qt} \
%{!?with_soup:--disable-soup} \
%{!?with_speex:--disable-speex} \
%{!?with_wavpack:--disable-wavpack} \
--enable-orc \
--with-html-dir=%{_gtkdocdir}
+LC_ALL=C.UTF-8 \
%{__make}
%install
%attr(755,root,root) %{gstlibdir}/libgstmultifile.so
%attr(755,root,root) %{gstlibdir}/libgstmultipart.so
%attr(755,root,root) %{gstlibdir}/libgstnavigationtest.so
-%attr(755,root,root) %{gstlibdir}/libgstoss4audio.so
+%attr(755,root,root) %{gstlibdir}/libgstoss4.so
%attr(755,root,root) %{gstlibdir}/libgstreplaygain.so
%attr(755,root,root) %{gstlibdir}/libgstrtp.so
%attr(755,root,root) %{gstlibdir}/libgstrtpmanager.so
%defattr(644,root,root,755)
%attr(755,root,root) %{gstlibdir}/libgstgdkpixbuf.so
+%if %{with gtk}
+%files -n gstreamer-videosink-gtk
+%defattr(644,root,root,755)
+%attr(755,root,root) %{gstlibdir}/libgstgtk.so
+%endif
+
%if %{with jack}
%files -n gstreamer-jack
%defattr(644,root,root,755)
%attr(755,root,root) %{gstlibdir}/libgstcacasink.so
%endif
+%files -n gstreamer-lame
+%defattr(644,root,root,755)
+%attr(755,root,root) %{gstlibdir}/libgstlame.so
+%attr(755,root,root) %{gstlibdir}/libgsttwolame.so
+
+%if %{with mpg123}
+%files -n gstreamer-mpg123
+%defattr(644,root,root,755)
+%attr(755,root,root) %{gstlibdir}/libgstmpg123.so
+%endif
+
%files -n gstreamer-libpng
%defattr(644,root,root,755)
%attr(755,root,root) %{gstlibdir}/libgstpng.so
%files -n gstreamer-pulseaudio
%defattr(644,root,root,755)
-%attr(755,root,root) %{gstlibdir}/libgstpulse.so
+%attr(755,root,root) %{gstlibdir}/libgstpulseaudio.so
+
+%if %{with qt}
+%files -n gstreamer-videosink-qt
+%defattr(644,root,root,755)
+%attr(755,root,root) %{gstlibdir}/libgstqmlgl.so
+%endif
%files -n gstreamer-raw1394
%defattr(644,root,root,755)
%if %{with soup}
%files -n gstreamer-soup
%defattr(644,root,root,755)
-%attr(755,root,root) %{gstlibdir}/libgstsouphttpsrc.so
+%attr(755,root,root) %{gstlibdir}/libgstsoup.so
%endif
%if %{with speex}