$ git show --format=fuller --patch-with-stat --summary 6207a86084d1339f52af387557d7db07d803f545
commit 6207a86084d1339f52af387557d7db07d803f545
Author: Giovanni Mariani <mc2374@mclink.it>
AuthorDate: Mon Jun 23 19:37:13 2025 +0200
Commit: Giovanni Mariani <mc2374@mclink.it>
CommitDate: Mon Jun 23 19:37:13 2025 +0200
Initial import of 5.0 release
---
.abf.yml | 2 +
...2-5.0-dont-force-seek-when-cannot-be-done.patch | 15 ++++
ffms2-5.0-require-ffmpeg-71.patch | 12 ++++
ffms2.spec | 83 ++++++++++++++++++++++
null.spec | 35 ---------
5 files changed, 112 insertions(+), 35 deletions(-)
create mode 100644 .abf.yml
create mode 100644 ffms2-5.0-dont-force-seek-when-cannot-be-done.patch
create mode 100644 ffms2-5.0-require-ffmpeg-71.patch
create mode 100644 ffms2.spec
delete mode 100644 null.spec
diff --git a/.abf.yml b/.abf.yml
new file mode 100644
index 0000000..577cf2f
--- /dev/null
+++ b/.abf.yml
@@ -0,0 +1,2 @@
+sources:
+ ffms2-5.0.tar.gz: dc268abcb7221a445cd27e2369c93b4f1dedc401
diff --git a/ffms2-5.0-dont-force-seek-when-cannot-be-done.patch b/ffms2-5.0-dont-force-seek-when-cannot-be-done.patch
new file mode 100644
index 0000000..3325a14
--- /dev/null
+++ b/ffms2-5.0-dont-force-seek-when-cannot-be-done.patch
@@ -0,0 +1,15 @@
+diff -rupN ffms2-5.0.old/src/core/videosource.cpp ffms2-5.0/src/core/videosource.cpp
+--- ffms2-5.0.old/src/core/videosource.cpp 2024-05-28 16:52:48.000000000 +0200
++++ ffms2-5.0/src/core/videosource.cpp 2025-06-01 23:28:00.187368309 +0200
+@@ -408,6 +408,11 @@ FFMS_VideoSource::FFMS_VideoSource(const
+ }
+ }
+
++ // If we are in linear no-rewind mode, don't attempt to seek during init.
++ // Bypass the INITIALIZE_SOURCE stage.
++ if (SeekMode < 0)
++ Stage = DecodeStage::INITIALIZE;
++
+ // Cannot "output" without doing all other initialization
+ // This is the additional mess required for seekmode=-1 to work in a reasonable way
+ OutputFrame(DecodeFrame);
diff --git a/ffms2-5.0-require-ffmpeg-71.patch b/ffms2-5.0-require-ffmpeg-71.patch
new file mode 100644
index 0000000..ddd3076
--- /dev/null
+++ b/ffms2-5.0-require-ffmpeg-71.patch
@@ -0,0 +1,12 @@
+diff -rupN ffms2-5.0.old/configure.ac ffms2-5.0/configure.ac
+--- ffms2-5.0.old/configure.ac 2024-05-28 16:52:48.000000000 +0200
++++ ffms2-5.0/configure.ac 2025-06-01 23:31:23.205798599 +0200
+@@ -88,7 +88,7 @@ PKG_PROG_PKG_CONFIG([0.22])
+ pkgconfigdir="\$(libdir)/pkgconfig"
+ AC_SUBST(pkgconfigdir)
+
+-PKG_CHECK_MODULES(FFMPEG, [libavformat >= 60.16.0 libavcodec >= 60.31.0 libswscale >= 7.5.0 libavutil >= 58.29.0 libswresample >= 4.12.0])
++PKG_CHECK_MODULES(FFMPEG, [libavformat >= 61.7.0 libavcodec >= 61.19.0 libswscale >= 8.3.0 libavutil >= 59.39.0 libswresample >= 5.3.0])
+
+ dnl As of 0eec06ed8747923faa6a98e474f224d922dc487d ffmpeg only adds -lrt to lavc's
+ dnl LIBS, but lavu needs it, so move it to the end if it's present
diff --git a/ffms2.spec b/ffms2.spec
new file mode 100644
index 0000000..c7ad2ef
--- /dev/null
+++ b/ffms2.spec
@@ -0,0 +1,83 @@
+%define major 5
+%define libname %mklibname %{name}_ %{major}
+%define devname %mklibname %{name} -d
+
+Summary: Wrapper library around libffmpeg
+Name: ffms2
+Version: 5.0
+Release: 1
+License: MIT
+Group: Video
+Url: https://github.com/FFMS/ffms2/
+Source0: https://github.com/FFMS/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
+Patch0: ffms2-5.0-dont-force-seek-when-cannot-be-done.patch
+Patch1: ffms2-5.0-require-ffmpeg-71.patch
+BuildRequires: libtool
+BuildRequires: pkgconfig(libavcodec)
+BuildRequires: pkgconfig(libavformat)
+BuildRequires: pkgconfig(libavutil)
+BuildRequires: pkgconfig(libswresample)
+BuildRequires: pkgconfig(libswscale)
+BuildRequires: pkgconfig(zlib)
+
+%description
+FFmpegSource (usually known as FFMS or FFMS2) is a cross-platform wrapper
+library around libffmpeg, plus some additional components to deal with file
+formats libavformat has (or used to have) problems with.
+
+%files
+%doc COPYING
+%{_bindir}/ffmsindex
+
+#---------------------------------------------------------------------------
+
+%package -n %{libname}
+Summary: Library for %{name}
+Group: System/Libraries
+
+%description -n %{libname}
+FFmpegSource (usually known as FFMS or FFMS2) is a cross-platform wrapper
+library around libffmpeg, plus some additional components to deal with file
+formats libavformat has (or used to have) problems with.
+This package contains the library itself.
+
+%files -n %{libname}
+%{_libdir}/lib%{name}.so.%{major}
+%{_libdir}/lib%{name}.so.%{major}.*
+
+#---------------------------------------------------------------------------
+
+%package -n %{devname}
+Summary: Development package for %{name}
+Group: Development/C++
+Requires: %{libname} = %{version}-%{release}
+Provides: %{name}-devel = %{version}-%{release}
+
+%description -n %{devname}
+Header files for development with %{name}.
+
+%files -n %{devname}
+%{_includedir}/ffms*.h
+%{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/%{name}.pc
+%{_docdir}/lib%{name}-devel
+
+#---------------------------------------------------------------------------
+
+%prep
+%autosetup -p1
+
+sed -i 's/\r$//' COPYING
+
+
+%build
+./autogen.sh
+%configure \
+ --docdir=%{_docdir}/lib%{name}-devel \
+ --enable-shared \
+ --disable-static
+%make_build
+
+
+%install
+%make_install
diff --git a/null.spec b/null.spec
deleted file mode 100644
index bcff18b..0000000
--- a/null.spec
+++ /dev/null
@@ -1,35 +0,0 @@
-%define _enable_debug_packages %{nil}
-%define debug_package %{nil}
-
-Summary: A dummy package for bs testing purpose
-Name: null
-Version: 12
-Release: 1.11
-Epoch: 1
-Group: Development/Other
-License: GPL
-
-%description
-Dummy package.
-
-%package dummy
-Group: Development/Other
-Summary: Test package
-
-%description dummy
-A dummy subpackage.
-
-%prep
-%setup -D -T -n .
-
-%build
-
-%install
-mkdir -p %{buildroot}
-
-%post -p /bin/csh
-echo "csh sux"
-
-%files
-%files dummy
-