From da540bece2529ae1cc17a2bac5dd59572cfcedd1 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 28 Feb 2012 20:21:17 +0100 Subject: [PATCH 1/9] Update to 0.10.23 --- .gitignore | 1 + gst-p-bad-cleanup.sh | 12 +++++++++--- gstreamer-plugins-bad-free.spec | 13 ++++++++----- sources | 2 +- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index ce2a5d2..aa38df4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /gst-plugins-bad-free-0.10.22.tar.bz2 +/gst-plugins-bad-free-0.10.23.tar.xz diff --git a/gst-p-bad-cleanup.sh b/gst-p-bad-cleanup.sh index cf5af75..ac8d44f 100755 --- a/gst-p-bad-cleanup.sh +++ b/gst-p-bad-cleanup.sh @@ -11,7 +11,7 @@ SOURCE="$1" NEW_SOURCE=`echo $SOURCE | sed 's/bad-/bad-free-/'` -DIRECTORY=`echo $SOURCE | sed 's/\.tar\.bz2//'` +DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'` ALLOWED=" aacparse @@ -22,6 +22,7 @@ aiffparse amrparse asfmux audioparsers +audiovisualizers autoconvert bayer camerabin @@ -33,8 +34,10 @@ dataurisrc dccp debugutils dtmf +faceoverlay festival fieldanalysis +freeverb freeze frei0r gaudieffects @@ -43,6 +46,7 @@ h264parse hdvparse hls id3tag +inter interlace invtelecine ivfparse @@ -66,6 +70,7 @@ pcapparse pnm qtmux rawparse +removesilence rtpmux rtpvp8 scaletempo @@ -73,6 +78,7 @@ sdi sdp segmentclip selector +smooth speed stereo subenc @@ -126,7 +132,7 @@ check_not_allowed() } rm -rf $DIRECTORY -tar xjf $SOURCE || error "Cannot unpack $SOURCE" +tar xJf $SOURCE || error "Cannot unpack $SOURCE" pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\"" unknown="" @@ -178,6 +184,6 @@ autoreconf popd > /dev/null -tar cjf $NEW_SOURCE $DIRECTORY +tar cJf $NEW_SOURCE $DIRECTORY echo "$NEW_SOURCE is ready to use" diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index 6544bc7..28b75be 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -1,21 +1,21 @@ %define majorminor 0.10 %define gstreamer gstreamer -%define gst_minver 0.10.33 +%define gst_minver 0.10.36 %define gstpb_minver %{gst_minver} Summary: GStreamer streaming media framework "bad" plug-ins Name: gstreamer-plugins-bad-free -Version: 0.10.22 -Release: 5%{?dist} +Version: 0.10.23 +Release: 1%{?dist} # The freeze and nfs plugins are LGPLv2 (only) License: LGPLv2+ and LGPLv2 Group: Applications/Multimedia URL: http://gstreamer.freedesktop.org/ # The source is: -# http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.bz2 +# http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz # modified with gst-p-bad-cleanup.sh from SOURCE1 -Source: gst-plugins-bad-free-%{version}.tar.bz2 +Source: gst-plugins-bad-free-%{version}.tar.xz Source1: gst-p-bad-cleanup.sh BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -310,6 +310,9 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor} %changelog +* Tue Feb 28 2012 Benjamin Otte 0.10.23-1 +- Update to 0.10.23 + * Mon Jan 30 2012 Tom Callaway 0.10.22-5 - rebuild for new libvpx diff --git a/sources b/sources index 489b74b..6e43b7f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f2e52c0eced1efbc591c1f7c98658628 gst-plugins-bad-free-0.10.22.tar.bz2 +6a693a60ab61e53f4a223fe2e65e3b62 gst-plugins-bad-free-0.10.23.tar.xz From a933b93caa0f4ccc1a14dee138b3b3fb2292b1b1 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 29 Feb 2012 20:49:55 +0100 Subject: [PATCH 2/9] Add/Remove new/obsolete files --- gstreamer-plugins-bad-free.spec | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index 28b75be..4c9ecfc 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -171,6 +171,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure #%{_datadir}/gstreamer-%{majorminor} %{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.* %{_libdir}/libgstbasevideo-%{majorminor}.so.* +%{_libdir}/libgstcodecparsers-%{majorminor}.so.* %{_libdir}/libgstphotography-%{majorminor}.so.* %{_libdir}/libgstsignalprocessor-%{majorminor}.so.* # Plugins without external dependencies @@ -178,6 +179,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgstadpcmenc.so %{_libdir}/gstreamer-%{majorminor}/libgstaiff.so %{_libdir}/gstreamer-%{majorminor}/libgstasfmux.so +%{_libdir}/gstreamer-%{majorminor}/libgstaudiovisualizers.so %{_libdir}/gstreamer-%{majorminor}/libgstautoconvert.so %{_libdir}/gstreamer-%{majorminor}/libgstbayer.so %{_libdir}/gstreamer-%{majorminor}/libgstcamerabin.so @@ -189,9 +191,11 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgstdataurisrc.so %{_libdir}/gstreamer-%{majorminor}/libgstdccp.so %{_libdir}/gstreamer-%{majorminor}/libgstdtmf.so +%{_libdir}/gstreamer-%{majorminor}/libgstfaceoverlay.so %{_libdir}/gstreamer-%{majorminor}/libgstfestival.so %{_libdir}/gstreamer-%{majorminor}/libgstfieldanalysis.so %{_libdir}/gstreamer-%{majorminor}/libgstfragmented.so +%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so %{_libdir}/gstreamer-%{majorminor}/libgstfreeze.so %{_libdir}/gstreamer-%{majorminor}/libgstfrei0r.so %{_libdir}/gstreamer-%{majorminor}/libgstgaudieffects.so @@ -200,14 +204,13 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgsth264parse.so %{_libdir}/gstreamer-%{majorminor}/libgsthdvparse.so %{_libdir}/gstreamer-%{majorminor}/libgstid3tag.so +%{_libdir}/gstreamer-%{majorminor}/libgstinter.so %{_libdir}/gstreamer-%{majorminor}/libgstinterlace.so -%{_libdir}/gstreamer-%{majorminor}/libgstinvtelecine.so %{_libdir}/gstreamer-%{majorminor}/libgstivfparse.so %{_libdir}/gstreamer-%{majorminor}/libgstjpegformat.so %{_libdir}/gstreamer-%{majorminor}/libgstjp2kdecimator.so %{_libdir}/gstreamer-%{majorminor}/libgstlegacyresample.so %{_libdir}/gstreamer-%{majorminor}/libgstliveadder.so -%{_libdir}/gstreamer-%{majorminor}/libgstmpeg4videoparse.so %{_libdir}/gstreamer-%{majorminor}/libgstmpegdemux.so %{_libdir}/gstreamer-%{majorminor}/libgstmpegpsmux.so %{_libdir}/gstreamer-%{majorminor}/libgstmpegtsdemux.so @@ -221,6 +224,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgstpcapparse.so %{_libdir}/gstreamer-%{majorminor}/libgstpnm.so %{_libdir}/gstreamer-%{majorminor}/libgstrawparse.so +%{_libdir}/gstreamer-%{majorminor}/libgstremovesilence.so %{_libdir}/gstreamer-%{majorminor}/libgstrfbsrc.so %{_libdir}/gstreamer-%{majorminor}/libgstrtpmux.so %{_libdir}/gstreamer-%{majorminor}/libgstrtpvp8.so @@ -229,6 +233,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgstsdpelem.so %{_libdir}/gstreamer-%{majorminor}/libgstsegmentclip.so %{_libdir}/gstreamer-%{majorminor}/libgstshm.so +%{_libdir}/gstreamer-%{majorminor}/libgstsmooth.so %{_libdir}/gstreamer-%{majorminor}/libgstspeed.so %{_libdir}/gstreamer-%{majorminor}/libgststereo.so %{_libdir}/gstreamer-%{majorminor}/libgstsubenc.so @@ -295,19 +300,24 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %defattr(-,root,root,-) %{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so %{_libdir}/libgstbasevideo-%{majorminor}.so +%{_libdir}/libgstcodecparsers-%{majorminor}.so %{_libdir}/libgstphotography-%{majorminor}.so %{_libdir}/libgstsignalprocessor-%{majorminor}.so +%{_includedir}/gstreamer-%{majorminor}/gst/codecparsers %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/photography* %{_includedir}/gstreamer-%{majorminor}/gst/signalprocessor %{_includedir}/gstreamer-%{majorminor}/gst/video %{_includedir}/gstreamer-%{majorminor}/gst/basecamerabinsrc # pkg-config files +%{_libdir}/pkgconfig/gstreamer-basevideo-%{majorminor}.pc +%{_libdir}/pkgconfig/gstreamer-codecparsers-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc %files devel-docs %defattr(-,root,root,-) %doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor} +%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor} %changelog * Tue Feb 28 2012 Benjamin Otte 0.10.23-1 From 75076b1c395cf67aed52804bf8e71acaab7eb1ae Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 5 Mar 2012 16:34:04 +0100 Subject: [PATCH 3/9] Move some more plugins into the -extras package In particular, try to sync with RHEL - plugins that Red Hat decides are sane go into the normal package, others go into -extras. The nice thing about this is that we get intsaller savings, too. --- gstreamer-plugins-bad-free.spec | 56 +++++++++++++++++---------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index 5e4cb3d..efda596 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -30,41 +30,43 @@ BuildRequires: libXt-devel BuildRequires: gtk-doc BuildRequires: bzip2-devel -BuildRequires: celt-devel -BuildRequires: dirac-devel BuildRequires: exempi-devel -BuildRequires: gmyth-devel >= 0.4 BuildRequires: gsm-devel BuildRequires: jasper-devel BuildRequires: ladspa-devel +BuildRequires: libdvdnav-devel +BuildRequires: libexif-devel +BuildRequires: libiptcdata-devel +BuildRequires: libmpcdec-devel +BuildRequires: libofa-devel +BuildRequires: liboil-devel +BuildRequires: librsvg2-devel +BuildRequires: libsndfile-devel +BuildRequires: libvpx-devel +BuildRequires: mesa-libGLU-devel +BuildRequires: openssl-devel +BuildRequires: orc-devel +Buildrequires: wavpack-devel + +# Need for extras package +BuildRequires: celt-devel +BuildRequires: dirac-devel +BuildRequires: gmyth-devel >= 0.4 BuildRequires: libass-devel BuildRequires: libcdaudio-devel BuildRequires: libcurl-devel %ifnarch s390 s390x BuildRequires: libdc1394-devel %endif -BuildRequires: libdvdnav-devel -BuildRequires: libexif-devel -BuildRequires: libiptcdata-devel BuildRequires: libkate-devel BuildRequires: libmodplug-devel -BuildRequires: libmpcdec-devel -BuildRequires: libofa-devel -BuildRequires: liboil-devel -BuildRequires: librsvg2-devel -BuildRequires: libsndfile-devel BuildRequires: libtimidity-devel BuildRequires: libvdpau-devel -BuildRequires: libvpx-devel -BuildRequires: mesa-libGLU-devel BuildRequires: opencv-devel -BuildRequires: openssl-devel -BuildRequires: orc-devel BuildRequires: schroedinger-devel BuildRequires: SDL-devel BuildRequires: slv2-devel BuildRequires: soundtouch-devel -Buildrequires: wavpack-devel BuildRequires: wildmidi-devel BuildRequires: zbar-devel @@ -244,6 +246,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgstvideosignal.so %{_libdir}/gstreamer-%{majorminor}/libgstvideomaxrate.so %{_libdir}/gstreamer-%{majorminor}/libgstvideomeasure.so +%{_libdir}/gstreamer-%{majorminor}/libgstvideoparsersbad.so %{_libdir}/gstreamer-%{majorminor}/libgstvmnc.so %{_libdir}/gstreamer-%{majorminor}/libgsty4mdec.so @@ -253,24 +256,14 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure # Plugins with external dependencies %{_libdir}/gstreamer-%{majorminor}/libgstapexsink.so -%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so %{_libdir}/gstreamer-%{majorminor}/libgstbz2.so -%{_libdir}/gstreamer-%{majorminor}/libgstcdaudio.so -%{_libdir}/gstreamer-%{majorminor}/libgstcelt.so -%ifnarch s390 s390x -%{_libdir}/gstreamer-%{majorminor}/libgstdc1394.so -%endif -%{_libdir}/gstreamer-%{majorminor}/libgstdirac.so %{_libdir}/gstreamer-%{majorminor}/libgstgsm.so %{_libdir}/gstreamer-%{majorminor}/libgstjp2k.so -%{_libdir}/gstreamer-%{majorminor}/libgstkate.so %{_libdir}/gstreamer-%{majorminor}/libgstladspa.so -%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so %{_libdir}/gstreamer-%{majorminor}/libgstmusepack.so %{_libdir}/gstreamer-%{majorminor}/libgstofa.so %{_libdir}/gstreamer-%{majorminor}/libresindvd.so %{_libdir}/gstreamer-%{majorminor}/libgstrsvg.so -%{_libdir}/gstreamer-%{majorminor}/libgstschro.so %{_libdir}/gstreamer-%{majorminor}/libgstsndfile.so %{_libdir}/gstreamer-%{majorminor}/libgstvp8.so @@ -283,15 +276,24 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %files extras %defattr(-,root,root,-) # Plugins with external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so +%{_libdir}/gstreamer-%{majorminor}/libgstcdaudio.so +%{_libdir}/gstreamer-%{majorminor}/libgstcelt.so %{_libdir}/gstreamer-%{majorminor}/libgstcurl.so +%ifnarch s390 s390x +%{_libdir}/gstreamer-%{majorminor}/libgstdc1394.so +%endif +%{_libdir}/gstreamer-%{majorminor}/libgstdirac.so +%{_libdir}/gstreamer-%{majorminor}/libgstkate.so %{_libdir}/gstreamer-%{majorminor}/libgstlv2.so +%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so %{_libdir}/gstreamer-%{majorminor}/libgstmythtvsrc.so %{_libdir}/gstreamer-%{majorminor}/libgstopencv.so +%{_libdir}/gstreamer-%{majorminor}/libgstschro.so %{_libdir}/gstreamer-%{majorminor}/libgstsdl.so %{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so %{_libdir}/gstreamer-%{majorminor}/libgsttimidity.so %{_libdir}/gstreamer-%{majorminor}/libgstvdpau.so -%{_libdir}/gstreamer-%{majorminor}/libgstvideoparsersbad.so %{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so %{_libdir}/gstreamer-%{majorminor}/libgstzbar.so # Linux specific plugins From 6b80a8f95e6d9701a5ce31611044be46c23275bd Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 5 Mar 2012 16:44:34 +0100 Subject: [PATCH 4/9] Allow turning off the extras package --- gstreamer-plugins-bad-free.spec | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index efda596..01cdc69 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -4,6 +4,8 @@ %define gst_minver 0.10.36 %define gstpb_minver %{gst_minver} +%bcond_without extras + Summary: GStreamer streaming media framework "bad" plug-ins Name: gstreamer-plugins-bad-free Version: 0.10.23 @@ -48,7 +50,7 @@ BuildRequires: openssl-devel BuildRequires: orc-devel Buildrequires: wavpack-devel -# Need for extras package +%if %{with extras} BuildRequires: celt-devel BuildRequires: dirac-devel BuildRequires: gmyth-devel >= 0.4 @@ -69,6 +71,7 @@ BuildRequires: slv2-devel BuildRequires: soundtouch-devel BuildRequires: wildmidi-devel BuildRequires: zbar-devel +%endif Obsoletes: gstreamer-plugins-flumpegdemux < 0.10.15-9 Provides: gstreamer-plugins-flumpegdemux = %{version}-%{release} @@ -86,6 +89,7 @@ This package contains plug-ins that aren't tested well enough, or the code is not of good enough quality. +%if %{with extras} %package extras Summary: Extra GStreamer "bad" plugins (less often used "bad" plugins) Group: Applications/Multimedia @@ -103,7 +107,7 @@ tested well enough, or the code is not of good enough quality. This package (gstreamer-plugins-bad-extras) contains extra "bad" plugins for sources (mythtv), sinks (fbdev) and effects (pitch) which are not used very much and require additional libraries to be installed. - +%endif %package devel Summary: Development files for the GStreamer media framework "bad" plug-ins @@ -144,6 +148,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %configure \ --with-package-name="Fedora gstreamer-plugins-bad package" \ --with-package-origin="http://download.fedora.redhat.com/fedora" \ + %{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \ --enable-debug --disable-static --enable-gtk-doc --enable-experimental \ --disable-divx @@ -177,7 +182,9 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/libgstcodecparsers-%{majorminor}.so.* %{_libdir}/libgstphotography-%{majorminor}.so.* %{_libdir}/libgstsignalprocessor-%{majorminor}.so.* +%if %{with extras} %{_libdir}/libgstvdp-%{majorminor}.so.* +%endif # Plugins without external dependencies %{_libdir}/gstreamer-%{majorminor}/libgstadpcmdec.so %{_libdir}/gstreamer-%{majorminor}/libgstadpcmenc.so @@ -273,6 +280,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure #data for plugins %{_datadir}/glib-2.0/schemas/org.freedesktop.gstreamer-%{majorminor}.default-elements.gschema.xml +%if %{with extras} %files extras %defattr(-,root,root,-) # Plugins with external dependencies @@ -300,6 +308,7 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgstdecklink.so %{_libdir}/gstreamer-%{majorminor}/libgstfbdevsink.so %{_libdir}/gstreamer-%{majorminor}/libgstlinsys.so +%endif %files devel %defattr(-,root,root,-) @@ -308,13 +317,17 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/libgstcodecparsers-%{majorminor}.so %{_libdir}/libgstphotography-%{majorminor}.so %{_libdir}/libgstsignalprocessor-%{majorminor}.so +%if %{with extras} %{_libdir}/libgstvdp-%{majorminor}.so +%endif %{_includedir}/gstreamer-%{majorminor}/gst/basecamerabinsrc %{_includedir}/gstreamer-%{majorminor}/gst/codecparsers %{_includedir}/gstreamer-%{majorminor}/gst/interfaces/photography* %{_includedir}/gstreamer-%{majorminor}/gst/signalprocessor %{_includedir}/gstreamer-%{majorminor}/gst/video +%if %{with extras} %{_includedir}/gstreamer-%{majorminor}/gst/vdpau +%endif # pkg-config files %{_libdir}/pkgconfig/gstreamer-basevideo-%{majorminor}.pc From a97af439429a32423fddbfbbf0e383734892d813 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 5 Mar 2012 18:06:48 +0100 Subject: [PATCH 5/9] Turn off extras package in RHEL --- gstreamer-plugins-bad-free.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index 01cdc69..f19b18d 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -4,7 +4,12 @@ %define gst_minver 0.10.36 %define gstpb_minver %{gst_minver} +# Turn of extras package on RHEL. +%if ! 0%{?rhel} +%bcond_with extras +%else %bcond_without extras +%endif Summary: GStreamer streaming media framework "bad" plug-ins Name: gstreamer-plugins-bad-free From f2399b1f7273465d9c68b266ca0b9d7b9a27c59f Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 5 Mar 2012 18:05:34 +0100 Subject: [PATCH 6/9] Bump Release for rebuild after specfile changes --- gstreamer-plugins-bad-free.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index f19b18d..bb5ac96 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -14,7 +14,7 @@ Summary: GStreamer streaming media framework "bad" plug-ins Name: gstreamer-plugins-bad-free Version: 0.10.23 -Release: 2%{?dist} +Release: 3%{?dist} # The freeze and nfs plugins are LGPLv2 (only) License: LGPLv2+ and LGPLv2 Group: Applications/Multimedia @@ -345,6 +345,9 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor} %changelog +* Tue Mar 05 2012 Benjamin Otte 0.10.23-3 +- Reorganize spec file to optionally build without extras package + * Wed Feb 29 2012 Benjamin Otte 0.10.23-2 - Enable libvdpau From 6e52784f757a2381ebb89f94a9a5be7c295cc8d5 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Tue, 29 May 2012 23:12:16 +0200 Subject: [PATCH 7/9] vp8enc fix --- gstreamer-plugins-bad-free.spec | 8 +++++++- vp8enc-bitrate-fix.patch | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 vp8enc-bitrate-fix.patch diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index bb5ac96..30116d6 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -14,7 +14,7 @@ Summary: GStreamer streaming media framework "bad" plug-ins Name: gstreamer-plugins-bad-free Version: 0.10.23 -Release: 3%{?dist} +Release: 4%{?dist} # The freeze and nfs plugins are LGPLv2 (only) License: LGPLv2+ and LGPLv2 Group: Applications/Multimedia @@ -24,6 +24,8 @@ URL: http://gstreamer.freedesktop.org/ # modified with gst-p-bad-cleanup.sh from SOURCE1 Source: gst-plugins-bad-free-%{version}.tar.xz Source1: gst-p-bad-cleanup.sh +# Based on upstream 04909e2c50e68 +Patch0: vp8enc-bitrate-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: %{gstreamer} >= %{gst_minver} @@ -147,6 +149,7 @@ aren't tested well enough, or the code is not of good enough quality. %prep %setup -q -n gst-plugins-bad-%{version} +%patch0 -p1 -b .vp8enc_bitrate sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %build @@ -345,6 +348,9 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor} %changelog +* Tue May 29 2012 Adel Gadllah 0.10.23-4 +- Backport upstream patch to fix vp8enc (GNOME #676653, #676245) + * Tue Mar 05 2012 Benjamin Otte 0.10.23-3 - Reorganize spec file to optionally build without extras package diff --git a/vp8enc-bitrate-fix.patch b/vp8enc-bitrate-fix.patch new file mode 100644 index 0000000..671424e --- /dev/null +++ b/vp8enc-bitrate-fix.patch @@ -0,0 +1,23 @@ +diff -ru gst-plugins-bad-0.10.23.orign/ext/vp8/gstvp8enc.c gst-plugins-bad-0.10.23/ext/vp8/gstvp8enc.c +--- gst-plugins-bad-0.10.23.orign/ext/vp8/gstvp8enc.c 2012-01-25 18:10:21.000000000 +0100 ++++ gst-plugins-bad-0.10.23/ext/vp8/gstvp8enc.c 2012-05-28 14:21:16.552995768 +0200 +@@ -732,6 +732,11 @@ + return FALSE; + } + ++ /* Scale default bitrate to our size */ ++ cfg.rc_target_bitrate = gst_util_uint64_scale (cfg.rc_target_bitrate, ++ state->width * state->height, ++ cfg.g_w * cfg.g_h); ++ + cfg.g_w = state->width; + cfg.g_h = state->height; + cfg.g_timebase.num = state->fps_d; +@@ -755,7 +760,6 @@ + } else { + cfg.rc_min_quantizer = (gint) (63 - encoder->quality * 6.2); + cfg.rc_max_quantizer = (gint) (63 - encoder->quality * 6.2); +- cfg.rc_target_bitrate = encoder->bitrate; + } + cfg.rc_dropframe_thresh = encoder->drop_frame; + cfg.rc_resize_allowed = encoder->resize_allowed; From 27af02f648b1708bfffde5cde5f6955c9db19a2a Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Fri, 1 Jun 2012 12:26:51 +0200 Subject: [PATCH 8/9] bump release and rebuild (linked with old libs on PPC) --- gstreamer-plugins-bad-free.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index 30116d6..655dbcc 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -14,7 +14,7 @@ Summary: GStreamer streaming media framework "bad" plug-ins Name: gstreamer-plugins-bad-free Version: 0.10.23 -Release: 4%{?dist} +Release: 5%{?dist} # The freeze and nfs plugins are LGPLv2 (only) License: LGPLv2+ and LGPLv2 Group: Applications/Multimedia @@ -348,6 +348,9 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor} %changelog +* Fri Jun 01 2012 Karsten Hopp 0.10.23-5 +- bump release and rebuild (linked with old libs on PPC) + * Tue May 29 2012 Adel Gadllah 0.10.23-4 - Backport upstream patch to fix vp8enc (GNOME #676653, #676245) From ef2d6c3f6695ead55e79af37e0e7c5334a5b929c Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 8 Jun 2012 18:31:28 +0200 Subject: [PATCH 9/9] Speedup camerabin pipeline element creation (rhbz#797188, gnome#677698) - Re-enable building of -extras package accidentally disabled by the spec-file re-organization done in 0.10.23-3 - Add teletextdec and musicbrainz plugins to -extras - Minor spec-file cleanups --- ...-Fix-spelling-error-in-debug-logging.patch | 26 ++++ ...camerabin_create_view_finder_caps-he.patch | 121 ++++++++++++++++++ ...t_camerabin_get_video_source_propert.patch | 97 ++++++++++++++ ...c_filter-and-zoom_src_filter-caps-wh.patch | 74 +++++++++++ gstreamer-plugins-bad-free.spec | 51 +++++--- 5 files changed, 351 insertions(+), 18 deletions(-) create mode 100644 0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch create mode 100644 0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch create mode 100644 0003-camerabin-Add-gst_camerabin_get_video_source_propert.patch create mode 100644 0004-camerabin-Set-src_filter-and-zoom_src_filter-caps-wh.patch diff --git a/0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch b/0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch new file mode 100644 index 0000000..f98e03a --- /dev/null +++ b/0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch @@ -0,0 +1,26 @@ +From 62c58f011e7069aa45e980930cdfa2d937920a77 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 8 Jun 2012 10:57:54 +0200 +Subject: [PATCH 1/4] gstcamerabin: Fix spelling error in debug logging + +Signed-off-by: Hans de Goede +--- + gst/camerabin/gstcamerabin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c +index a17e02c..8a36970 100644 +--- a/gst/camerabin/gstcamerabin.c ++++ b/gst/camerabin/gstcamerabin.c +@@ -1517,7 +1517,7 @@ gst_camerabin_set_capsfilter_caps (GstCameraBin * camera, GstCaps * new_caps) + if (camera->src_zoom_filter) + g_object_set (G_OBJECT (camera->src_zoom_filter), "caps", new_caps, NULL); + gst_camerabin_update_aspect_filter (camera, new_caps); +- GST_INFO_OBJECT (camera, "udpated"); ++ GST_INFO_OBJECT (camera, "updated"); + } + + /* +-- +1.7.10.2 + diff --git a/0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch b/0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch new file mode 100644 index 0000000..3edb6ec --- /dev/null +++ b/0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch @@ -0,0 +1,121 @@ +From a07a1138a8cf8ad1029845dfe4cfdf5a0a36e670 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 8 Jun 2012 11:31:05 +0200 +Subject: [PATCH 2/4] camerabin: Add a camerabin_create_view_finder_caps() + helper function + +Signed-off-by: Hans de Goede +--- + gst/camerabin/gstcamerabin.c | 72 +++++++++++++++++++++++------------------- + 1 file changed, 40 insertions(+), 32 deletions(-) + +diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c +index 8a36970..3f87ff9 100644 +--- a/gst/camerabin/gstcamerabin.c ++++ b/gst/camerabin/gstcamerabin.c +@@ -505,22 +505,15 @@ GST_BOILERPLATE_FULL (GstCameraBin, gst_camerabin, GstPipeline, + */ + + /* +- * camerabin_setup_src_elements: ++ * camerabin_create_view_finder_caps: + * @camera: camerabin object + * +- * This function updates camerabin capsfilters according +- * to fps, resolution and zoom that have been configured +- * to camerabin. ++ * This function creates new view_finder_caps, according to ++ * fps and resolution that have been configured to camerabin. + */ +-static void +-camerabin_setup_src_elements (GstCameraBin * camera) ++static GstCaps *camerabin_create_view_finder_caps (GstCameraBin * camera) + { + GstStructure *st; +- GstCaps *new_caps; +- gboolean detect_framerate = FALSE; +- +- /* clear video update status */ +- camera->video_capture_caps_update = FALSE; + + if (!camera->view_finder_caps) { + st = gst_structure_from_string (CAMERABIN_DEFAULT_VF_CAPS, NULL); +@@ -529,39 +522,54 @@ camerabin_setup_src_elements (GstCameraBin * camera) + 0)); + } + +- gst_camerabin_monitor_video_source_properties (camera); +- + if (camera->app_width > 0 && camera->app_height > 0) { + gst_structure_set (st, + "width", G_TYPE_INT, camera->app_width, + "height", G_TYPE_INT, camera->app_height, NULL); + } + +- if (camera->app_fps_n > 0 && camera->app_fps_d > 0) { +- if (camera->night_mode) { +- GST_INFO_OBJECT (camera, "night mode, lowest allowed fps will be forced"); +- camera->pre_night_fps_n = camera->app_fps_n; +- camera->pre_night_fps_d = camera->app_fps_d; +- detect_framerate = TRUE; +- } else { +- gst_structure_set (st, +- "framerate", GST_TYPE_FRACTION, camera->app_fps_n, +- camera->app_fps_d, NULL); +- new_caps = gst_caps_new_full (st, NULL); +- } ++ if (!camera->night_mode && camera->app_fps_n > 0 && camera->app_fps_d > 0) { ++ gst_structure_set (st, ++ "framerate", GST_TYPE_FRACTION, camera->app_fps_n, ++ camera->app_fps_d, NULL); + } else { +- GST_DEBUG_OBJECT (camera, "no framerate specified"); +- detect_framerate = TRUE; +- } +- +- if (detect_framerate) { +- GST_DEBUG_OBJECT (camera, "detecting allowed framerate"); + /* Remove old framerate if any */ + if (gst_structure_has_field (st, "framerate")) { + gst_structure_remove_field (st, "framerate"); + } +- new_caps = gst_caps_new_full (st, NULL); ++ } ++ ++ /* The returned caps take ownership of the structure st */ ++ return gst_caps_new_full (st, NULL); ++} + ++/* ++ * camerabin_setup_src_elements: ++ * @camera: camerabin object ++ * ++ * This function updates camerabin capsfilters according ++ * to fps, resolution and zoom that have been configured ++ * to camerabin. ++ */ ++static void ++camerabin_setup_src_elements (GstCameraBin * camera) ++{ ++ GstCaps *new_caps; ++ ++ /* clear video update status */ ++ camera->video_capture_caps_update = FALSE; ++ ++ gst_camerabin_monitor_video_source_properties (camera); ++ ++ new_caps = camerabin_create_view_finder_caps (camera); ++ ++ if (camera->night_mode || camera->app_fps_n <= 0 || camera->app_fps_d <= 0) { ++ if (camera->night_mode) { ++ GST_INFO_OBJECT (camera, "night mode, lowest allowed fps will be forced"); ++ camera->pre_night_fps_n = camera->app_fps_n; ++ camera->pre_night_fps_d = camera->app_fps_d; ++ } ++ GST_DEBUG_OBJECT (camera, "detecting allowed framerate"); + /* Set allowed framerate for the resolution */ + gst_camerabin_set_allowed_framerate (camera, new_caps); + } +-- +1.7.10.2 + diff --git a/0003-camerabin-Add-gst_camerabin_get_video_source_propert.patch b/0003-camerabin-Add-gst_camerabin_get_video_source_propert.patch new file mode 100644 index 0000000..3950bb7 --- /dev/null +++ b/0003-camerabin-Add-gst_camerabin_get_video_source_propert.patch @@ -0,0 +1,97 @@ +From 1ef6977002ef18631f81646f198ef6a667ef8f73 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 8 Jun 2012 11:41:17 +0200 +Subject: [PATCH 3/4] camerabin: Add + gst_camerabin_get_video_source_properties() helper + function + +Signed-off-by: Hans de Goede +--- + gst/camerabin/gstcamerabin.c | 31 +++++++++++++++++++++++++------ + 1 file changed, 25 insertions(+), 6 deletions(-) + +diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c +index 3f87ff9..a36d5b5 100644 +--- a/gst/camerabin/gstcamerabin.c ++++ b/gst/camerabin/gstcamerabin.c +@@ -347,6 +347,7 @@ static void gst_camerabin_scene_mode_notify_cb (GObject * video_source, + GParamSpec * pspec, gpointer user_data); + static void gst_camerabin_zoom_notify_cb (GObject * video_source, + GParamSpec * pspec, gpointer user_data); ++static void gst_camerabin_get_video_source_properties (GstCameraBin * camera); + static void gst_camerabin_monitor_video_source_properties (GstCameraBin * + camera); + static void gst_camerabin_configure_format (GstCameraBin * camera, +@@ -528,6 +529,8 @@ static GstCaps *camerabin_create_view_finder_caps (GstCameraBin * camera) + "height", G_TYPE_INT, camera->app_height, NULL); + } + ++ gst_camerabin_get_video_source_properties (camera); ++ + if (!camera->night_mode && camera->app_fps_n > 0 && camera->app_fps_d > 0) { + gst_structure_set (st, + "framerate", GST_TYPE_FRACTION, camera->app_fps_n, +@@ -559,8 +562,6 @@ camerabin_setup_src_elements (GstCameraBin * camera) + /* clear video update status */ + camera->video_capture_caps_update = FALSE; + +- gst_camerabin_monitor_video_source_properties (camera); +- + new_caps = camerabin_create_view_finder_caps (camera); + + if (camera->night_mode || camera->app_fps_n <= 0 || camera->app_fps_d <= 0) { +@@ -574,6 +575,8 @@ camerabin_setup_src_elements (GstCameraBin * camera) + gst_camerabin_set_allowed_framerate (camera, new_caps); + } + ++ gst_camerabin_monitor_video_source_properties (camera); ++ + /* Set default zoom method */ + if (camera->src_zoom_scale) { + g_object_set (camera->src_zoom_scale, "method", +@@ -2660,6 +2663,26 @@ gst_camerabin_zoom_notify_cb (GObject * video_source, GParamSpec * pspec, + } + + /* ++ * gst_camerabin_monitor_get_video_source_properties: ++ * @camera: camerabin object ++ * ++ * Get properties from video source photography interface property scene mode. ++ * ++ */ ++static void ++gst_camerabin_get_video_source_properties (GstCameraBin * camera) ++{ ++ if (GST_IS_ELEMENT (camera->src_vid_src) && ++ gst_element_implements_interface (camera->src_vid_src, ++ GST_TYPE_PHOTOGRAPHY)) { ++ gint scene_mode; ++ g_object_get (G_OBJECT (camera->src_vid_src), "scene-mode", &scene_mode, ++ NULL); ++ camera->night_mode = scene_mode == GST_PHOTOGRAPHY_SCENE_MODE_NIGHT; ++ } ++} ++ ++/* + * gst_camerabin_monitor_video_source_properties: + * @camera: camerabin object + * +@@ -2674,15 +2697,11 @@ gst_camerabin_monitor_video_source_properties (GstCameraBin * camera) + if (GST_IS_ELEMENT (camera->src_vid_src) && + gst_element_implements_interface (camera->src_vid_src, + GST_TYPE_PHOTOGRAPHY)) { +- gint scene_mode; + GST_DEBUG_OBJECT (camera, + "connecting to %" GST_PTR_FORMAT " - notify::scene-mode", + camera->src_vid_src); + g_signal_connect (G_OBJECT (camera->src_vid_src), "notify::scene-mode", + (GCallback) gst_camerabin_scene_mode_notify_cb, camera); +- g_object_get (G_OBJECT (camera->src_vid_src), "scene-mode", &scene_mode, +- NULL); +- camera->night_mode = scene_mode == GST_PHOTOGRAPHY_SCENE_MODE_NIGHT; + + GST_DEBUG_OBJECT (camera, + "connecting to %" GST_PTR_FORMAT " - notify::zoom", +-- +1.7.10.2 + diff --git a/0004-camerabin-Set-src_filter-and-zoom_src_filter-caps-wh.patch b/0004-camerabin-Set-src_filter-and-zoom_src_filter-caps-wh.patch new file mode 100644 index 0000000..ade66be --- /dev/null +++ b/0004-camerabin-Set-src_filter-and-zoom_src_filter-caps-wh.patch @@ -0,0 +1,74 @@ +From 9ea00bf5e7043cab7da93abcb345b2f5c65285de Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 8 Jun 2012 13:39:37 +0200 +Subject: [PATCH 4/4] camerabin: Set src_filter and zoom_src_filter caps while + creating the pipeline + +We (Fedora) have been receiving bug reports for cheese, about cheese +taking 30-60 seconds before showing video, and pausing the same amount of +time when changing the resolution for example. + +I've managed to reproduce this with a Logitech Webcam Pro 9000, which +supports a large list of resolutions at about 5 different framerates / +resolution, in my case with an unmodified gst-plugins-bad-0.10.23, the +camerabin_create_src_elements function takes approx 7 seconds. + +Running under gdb and interrupting the execution during these 7 seconds +consistenly points to gst_caps_intersect_full. + +Part of the problem is cheese setting the +GST_CAMERABIN_FLAG_SOURCE_COLOR_CONVERSION flag, which means that after +the first ffmpegcsp element in the pipe the total number of caps is +x resolutions * y framerates * z formats, where both x (due to the camera) +and z (due to ffmpegcsp) being large. intersecting this with the capabilities +of other parts of the pipeline simply leads to an explosion of combinations +which pegs my core i5 CPU @3.1GHz for 7 seconds! + +This patch fixes this issue by setting up the capsfilter elements in the pipe +with an initial filter, greatly reducing the number of combinations when doing +cap intersecting. + +This reduces the time spend in camerabin_create_src_elements from approx 7 +to 0.2 seconds. And when patching cheese to use the default camerabin flags, +(so removing the first ffmpegcsp element) from approx 0.7 to 0.04 seconds + +Signed-off-by: Hans de Goede +--- + gst/camerabin/gstcamerabin.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/gst/camerabin/gstcamerabin.c b/gst/camerabin/gstcamerabin.c +index a36d5b5..6d7d30f 100644 +--- a/gst/camerabin/gstcamerabin.c ++++ b/gst/camerabin/gstcamerabin.c +@@ -606,6 +606,7 @@ camerabin_create_src_elements (GstCameraBin * camera) + gboolean ret = FALSE; + GstBin *cbin = GST_BIN (camera); + gchar *driver_name = NULL; ++ GstCaps *filter_caps; + + /* Add application set or default video src element */ + if (!(camera->src_vid_src = gst_camerabin_setup_default_element (cbin, +@@ -625,6 +626,10 @@ camerabin_create_src_elements (GstCameraBin * camera) + gst_camerabin_create_and_add_element (cbin, "capsfilter", + "src-capsfilter"))) + goto done; ++ ++ filter_caps = camerabin_create_view_finder_caps (camera); ++ g_object_set (G_OBJECT (camera->src_filter), "caps", filter_caps, NULL); ++ + if (camera->flags & GST_CAMERABIN_FLAG_SOURCE_RESIZE) { + if (!(camera->src_zoom_crop = + gst_camerabin_create_and_add_element (cbin, "videocrop", +@@ -638,6 +643,8 @@ camerabin_create_src_elements (GstCameraBin * camera) + gst_camerabin_create_and_add_element (cbin, "capsfilter", + "src-resize-capsfilter"))) + goto done; ++ g_object_set (G_OBJECT (camera->src_zoom_filter), "caps", filter_caps, ++ NULL); + } + if (camera->app_video_filter) { + if (!gst_camerabin_add_element (cbin, camera->app_video_filter)) { +-- +1.7.10.2 + diff --git a/gstreamer-plugins-bad-free.spec b/gstreamer-plugins-bad-free.spec index 655dbcc..7f7ac3c 100644 --- a/gstreamer-plugins-bad-free.spec +++ b/gstreamer-plugins-bad-free.spec @@ -6,15 +6,15 @@ # Turn of extras package on RHEL. %if ! 0%{?rhel} -%bcond_with extras -%else %bcond_without extras +%else +%bcond_with extras %endif Summary: GStreamer streaming media framework "bad" plug-ins Name: gstreamer-plugins-bad-free Version: 0.10.23 -Release: 5%{?dist} +Release: 6%{?dist} # The freeze and nfs plugins are LGPLv2 (only) License: LGPLv2+ and LGPLv2 Group: Applications/Multimedia @@ -26,7 +26,11 @@ Source: gst-plugins-bad-free-%{version}.tar.xz Source1: gst-p-bad-cleanup.sh # Based on upstream 04909e2c50e68 Patch0: vp8enc-bitrate-fix.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +# https://bugzilla.gnome.org/show_bug.cgi?id=677698 / rhbz#797188 +Patch1: 0001-gstcamerabin-Fix-spelling-error-in-debug-logging.patch +Patch2: 0002-camerabin-Add-a-camerabin_create_view_finder_caps-he.patch +Patch3: 0003-camerabin-Add-gst_camerabin_get_video_source_propert.patch +Patch4: 0004-camerabin-Set-src_filter-and-zoom_src_filter-caps-wh.patch Requires: %{gstreamer} >= %{gst_minver} BuildRequires: %{gstreamer}-devel >= %{gst_minver} @@ -69,6 +73,7 @@ BuildRequires: libdc1394-devel %endif BuildRequires: libkate-devel BuildRequires: libmodplug-devel +BuildRequires: libmusicbrainz-devel BuildRequires: libtimidity-devel BuildRequires: libvdpau-devel BuildRequires: opencv-devel @@ -78,6 +83,7 @@ BuildRequires: slv2-devel BuildRequires: soundtouch-devel BuildRequires: wildmidi-devel BuildRequires: zbar-devel +BuildRequires: zvbi-devel %endif Obsoletes: gstreamer-plugins-flumpegdemux < 0.10.15-9 @@ -116,6 +122,7 @@ sources (mythtv), sinks (fbdev) and effects (pitch) which are not used very much and require additional libraries to be installed. %endif + %package devel Summary: Development files for the GStreamer media framework "bad" plug-ins Group: Development/Libraries @@ -150,30 +157,32 @@ aren't tested well enough, or the code is not of good enough quality. %prep %setup -q -n gst-plugins-bad-%{version} %patch0 -p1 -b .vp8enc_bitrate +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure + %build %configure \ --with-package-name="Fedora gstreamer-plugins-bad package" \ --with-package-origin="http://download.fedora.redhat.com/fedora" \ %{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \ --enable-debug --disable-static --enable-gtk-doc --enable-experimental \ - --disable-divx + --disable-divx --disable-dts --disable-faac --disable-faad --disable-nas \ + --disable-mimic --disable-libmms --disable-mpeg2enc --disable-mplex \ + --disable-neon --disable-openal --disable-rtmp --disable-xvid +make %{?_smp_mflags} -%{__make} %{?_smp_mflags} %install -%{__rm} -rf %{buildroot} -%{__make} install DESTDIR="%{buildroot}" +make install DESTDIR="$RPM_BUILD_ROOT" %find_lang gst-plugins-bad-%{majorminor} # Clean out files that should not be part of the rpm. -%{__rm} -f %{buildroot}%{_libdir}/gstreamer-%{majorminor}/*.la -%{__rm} -f %{buildroot}%{_libdir}/*.la - - -%clean -%{__rm} -rf %{buildroot} +rm $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/*.la +rm $RPM_BUILD_ROOT%{_libdir}/*.la %post -p /sbin/ldconfig @@ -182,7 +191,6 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %files -f gst-plugins-bad-%{majorminor}.lang -%defattr(-,root,root,-) %doc AUTHORS COPYING README REQUIREMENTS #%{_datadir}/gstreamer-%{majorminor} %{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.* @@ -290,7 +298,6 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %if %{with extras} %files extras -%defattr(-,root,root,-) # Plugins with external dependencies %{_libdir}/gstreamer-%{majorminor}/libgstassrender.so %{_libdir}/gstreamer-%{majorminor}/libgstcdaudio.so @@ -308,7 +315,9 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/gstreamer-%{majorminor}/libgstschro.so %{_libdir}/gstreamer-%{majorminor}/libgstsdl.so %{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so +%{_libdir}/gstreamer-%{majorminor}/libgstteletextdec.so %{_libdir}/gstreamer-%{majorminor}/libgsttimidity.so +%{_libdir}/gstreamer-%{majorminor}/libgsttrm.so %{_libdir}/gstreamer-%{majorminor}/libgstvdpau.so %{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so %{_libdir}/gstreamer-%{majorminor}/libgstzbar.so @@ -319,7 +328,6 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %endif %files devel -%defattr(-,root,root,-) %{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so %{_libdir}/libgstbasevideo-%{majorminor}.so %{_libdir}/libgstcodecparsers-%{majorminor}.so @@ -343,11 +351,18 @@ sed -i 's/opencv <= 2.2.0/opencv <= 2.4.0/g' configure %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc %files devel-docs -%defattr(-,root,root,-) %doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor} %doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor} + %changelog +* Fri Jun 08 2012 Hans de Goede - 0.10.23-6 +- Speedup camerabin pipeline element creation (rhbz#797188, gnome#677698) +- Re-enable building of -extras package accidentally disabled by the spec-file + re-organization done in 0.10.23-3 +- Add teletextdec and musicbrainz plugins to -extras +- Minor spec-file cleanups + * Fri Jun 01 2012 Karsten Hopp 0.10.23-5 - bump release and rebuild (linked with old libs on PPC)