#
# TODO: update for lzo 2.x (currently only lzo 1.x is supported)
-# - make (ffmpeg code inside) mplayer play .3gp mobile phone movies
-# (ffplay and vlc plays them fine
#
# Conditional build:
-%bcond_without amr # don't build 3GPP Adaptive Multi Rate (AMR) speech codec
+%bcond_with amr # build 3GPP Adaptive Multi Rate (AMR) speech codec
%bcond_without autoreqdep # don't care about package name deps generated by rpm
%bcond_without imlib2 # don't build imlib2 vhook module
%bcond_with lzo # build with LZO support
#
+%define _snap 2006-12-04
+%define snap %(echo %{_snap} | tr -d -)
+%define _rel 0.3
Summary: Realtime audio/video encoder and streaming server
Summary(pl): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
Name: ffmpeg
Version: 0.4.9
-%define snap 20060129
-%define _rel 10
Release: 3.%{snap}.%{_rel}
# LGPL or GPL, chosen at configure time (GPL version is more featured)
-#
-# (BTW. what are the 'more' features mentioned above?)
-#
-# Some parts of the code *is* LGPL (for example libavformat amr.c) so
-# it is possible to include /and distribute/ external 3GPP AMR codecs
-# (some kind of public domain with patent restrictions) to the
-# GPL-licensed stuff /and keep GPL license/.
-%if %{with amr}
-License: GPL with LGPL/Public Domain parts
-%else
+# (postprocessing, a52, xvid, x264, dts, faad)
License: GPL with LGPL parts
-%endif
Group: Applications/Multimedia
#Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
#Source0: ftp://ftp2.mplayerhq.hu/MPlayer/cvs/FFMpeg-%{snap}.tar.bz2
-Source0: %{name}-%{snap}.tar.bz2
-# Source0-md5: d8ea09431d6c0c91bfd35e0ca74a67e1
+#Source0: %{name}-%{snap}.tar.bz2
+Source0: http://ffmpeg.mplayerhq.hu/%{name}-export-snapshot.tar.bz2
+# Source0-md5: 5be2e4d1e326bb7809205a3401204621
Source1: ffserver.init
Source2: ffserver.sysconfig
Source3: ffserver.conf
-%if %{with amr}
-# AMR WB FLOAT
-#Source4: http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip
-Source4: http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26204-530.zip
-# Source4-md5: 988060bdb18b5d64b8bd82c3507d2420
-# AMR NB FLOAT
-#Source6: http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip
-Source6: http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-540.zip
-# Source6-md5: 4dcbeb2bc28bf86e7131fe4cae3e0dec
-%endif
-
Patch0: %{name}-libtool.patch
Patch1: %{name}-libdir.patch
Patch2: %{name}-gcc4.patch
-URL: http://ffmpeg.sourceforge.net/
+Patch3: %{name}-system-amr.patch
+Patch4: %{name}-x264-symbol.patch
+Patch5: %{name}-as_needed.patch
+URL: http://ffmpeg.mplayerhq.hu/
BuildRequires: SDL-devel
+%if %{with amr}
+BuildRequires: amrnb-devel
+BuildRequires: amrwb-devel >= 5.3.0
+%endif
BuildRequires: faac-devel
BuildRequires: faad2-devel
BuildRequires: freetype-devel
BuildRequires: libtheora-devel
BuildRequires: libtool >= 2:1.4d-3
BuildRequires: libvorbis-devel
-BuildRequires: libx264-devel >= 0.1.2-1.20060430_2245.1
-%{?with_lzo:BuildRequires: lzo-devel < 2.0}
+BuildRequires: libx264-devel >= 0.1.2-1.20061024_2245.1
+#%{?with_lzo:BuildRequires: lzo-devel < 2.0}
%ifarch %{ix86}
%ifnarch i386 i486
BuildRequires: nasm
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
# for libavcodec:
+%if %{with amr}
+Requires: amrnb-devel
+Requires: amrwb-devel >= 5.3.0
+%endif
Requires: faac-devel
Requires: faad2-devel
Requires: lame-libs-devel
Requires: libgsm-devel
Requires: libtheora-devel
Requires: libvorbis-devel
-%{?with_lzo:Requires: lzo-devel < 2.0}
-Requires: libx264-devel >= 0.1.2-1.20060430_2245.1
+Requires: libx264-devel >= 0.1.2-1.20060828_2245.1
+#%{?with_lzo:Requires: lzo-devel < 2.0}
Requires: xvid-devel >= 1:1.1.0
Requires: zlib-devel
Obsoletes: libpostproc-devel
Summary(pl): FFserver - serwer strumieni obrazu
Group: Daemons
Requires(post,preun): /sbin/chkconfig
-Requires: rc-scripts >= 0.4.0.10
Requires: %{name}-libs = %{version}-%{release}
+Requires: rc-scripts >= 0.4.0.10
%description ffserver
FFserver is a streaming server for both audio and video. It supports
du¿ej przestrzeni na dane skonfigurowanej w ffserver.conf).
%prep
-%setup -q -n %{name}
+%setup -q -n %{name}-export-%{_snap}
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%if %{with amr}
-cd libavcodec
-mkdir amrwb_float
-mkdir amr
-mkdir amr_float
-# put 26204-xxx.zip into libavcodec/amrwb_float
-cd amrwb_float
-unzip -j %{SOURCE4}
-unzip -j 26204-530_ANSI-C_source_code.zip
-# put 26104-xxx.zip into libavcodec/amr_float
-cd ../amr_float
-unzip -j %{SOURCE6}
-unzip -j 26104-540_ANSI_C_source_code.zip
-cd ../..
-%endif
+#%patch3 -p1 NEEDS UPDATE
+%patch4 -p1
+#%patch5 -p1 MIGHT BE UNNECCESSARY
%build
# notes:
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
- %{!?with_lzo:--disable-lzo} \
--disable-strip \
--enable-a52 \
--enable-a52bin \
--enable-pp \
--enable-pthreads \
--enable-shared \
- --enable-theora \
--enable-vorbis \
--enable-x264 \
--enable-xvid \
--extra-ldflags="%{rpmldflags}" \
--disable-debug \
--disable-opts \
- --tune=generic
-%{__make} \
- BUILD_DOC=yes
+# GONE?
+# %{!?with_lzo:--disable-lzo} \
+# --enable-theora \
+# --tune=generic
+
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
%pre ffserver
%groupadd -g 167 ffserver
%attr(755,root,root) %{_libdir}/libavformat.so
%attr(755,root,root) %{_libdir}/libavutil.so
%attr(755,root,root) %{_libdir}/libpostproc.so
-%{_libdir}/lib*.la
+#%{_libdir}/lib*.la
%{_includedir}/ffmpeg
%{_includedir}/postproc
%{_pkgconfigdir}/*.pc