Compare commits

..

78 commits

Author SHA1 Message Date
Fedora Release Engineering
5402fddbc5 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 20:00:57 +00:00
Fedora Release Engineering
c883aaf3f7 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 12:07:40 +00:00
Miroslav Suchý
faaf79e71e convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-09-02 10:06:26 +02:00
Fedora Release Engineering
075bc035a1 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 14:29:25 +00:00
Fedora Release Engineering
4de1efad61 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 02:55:21 +00:00
Fedora Release Engineering
d86e78df27 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 04:42:58 +00:00
Fedora Release Engineering
c43a2cb3e7 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 11:29:29 +00:00
Fedora Release Engineering
4ebe9904e3 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 16:54:26 +00:00
Fedora Release Engineering
afd4868516 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 18:24:38 +00:00
Sérgio M. Basto
f9e1264986 Merge branch 'epel8' into rawhide 2022-05-04 22:59:08 +01:00
Fedora Release Engineering
6e2ed9a5af - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 16:43:51 +00:00
Fedora Release Engineering
3688e45913 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 11:52:30 +00:00
Fedora Release Engineering
63b256f2c7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 17:32:31 +00:00
Tom Stellard
18c9722ffa Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-06 01:15:22 +00:00
Troy Dawson
fc94490818 remove package.cfg per new epel-playground policy 2020-09-24 18:55:31 +00:00
Fedora Release Engineering
6a501abadc - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 05:07:36 +00:00
Sérgio M. Basto
db06ad8613 Merge branch 'master' into epel8 2020-06-22 02:36:38 +01:00
Fedora Release Engineering
5933a17481 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-06-22 02:36:19 +01:00
Jeff Law
b456f25347 Fix narrowing convesion problem caught by gcc-10 2020-06-22 02:36:19 +01:00
Sérgio M. Basto
e331fdfa1f Update 0010-Fix-v3-Integer-underflow-overflow-in-MP4v2-2.0.0.patch 2020-06-22 02:34:07 +01:00
Sérgio M. Basto
3187b4d348 Fix-v3-Integer-underflow-overflow-in-MP4v2-2.0.0 2020-06-22 02:34:07 +01:00
Sérgio M. Basto
091b2dfa97 Fix build on epel7 2020-06-22 02:34:07 +01:00
Sérgio M. Basto
ef4a048fdc Fix https://nvd.nist.gov/vuln/detail/CVE-2018-14446
https://nvd.nist.gov/vuln/detail/CVE-2018-14403
  https://nvd.nist.gov/vuln/detail/CVE-2018-14379
  https://nvd.nist.gov/vuln/detail/CVE-2018-14326
  https://nvd.nist.gov/vuln/detail/CVE-2018-14325
  https://nvd.nist.gov/vuln/detail/CVE-2018-14054
  based on https://github.com/TechSmith/mp4v2/pull/27
  and https://github.com/sergiomb2/libmp4v2/
Update spec
2020-06-22 02:34:07 +01:00
Fedora Release Engineering
33958b4f7d - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 09:46:08 +00:00
Jeff Law
a66cc4a314 Fix narrowing convesion problem caught by gcc-10 2019-12-14 15:44:07 -07:00
Sérgio M. Basto
956989de89 Update 0010-Fix-v3-Integer-underflow-overflow-in-MP4v2-2.0.0.patch 2019-11-08 02:05:56 +00:00
Sérgio M. Basto
cb7e3f27a7 Fix-v3-Integer-underflow-overflow-in-MP4v2-2.0.0 2019-11-08 01:27:12 +00:00
Sérgio M. Basto
619ec0c481 Fix build on epel7 2019-11-02 07:53:14 +00:00
Sérgio M. Basto
c8b8804f9a Fix https://nvd.nist.gov/vuln/detail/CVE-2018-14446
https://nvd.nist.gov/vuln/detail/CVE-2018-14403
  https://nvd.nist.gov/vuln/detail/CVE-2018-14379
  https://nvd.nist.gov/vuln/detail/CVE-2018-14326
  https://nvd.nist.gov/vuln/detail/CVE-2018-14325
  https://nvd.nist.gov/vuln/detail/CVE-2018-14054
  based on https://github.com/TechSmith/mp4v2/pull/27
  and https://github.com/sergiomb2/libmp4v2/
Update spec
2019-11-02 06:31:08 +00:00
Nicolas Chauvet
06f26c411c Merge branch 'master' into epel8 2019-08-27 20:24:12 +02:00
Gwyn Ciesla
a9b30f9664 "Adding package.cfg file" 2019-08-26 16:31:29 -05:00
Fedora Release Engineering
c60037f971 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 13:49:22 +00:00
Frank Dana (FeRD)
9ffca92eac spec: Add BR for help2man
libmp4v2 needs a BuildRequires for `help2man`, which it uses to generate the man pages for its command-line utilities. Without it, the man pages in section 1 are generated as empty files.

Signed-off-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2019-02-19 04:30:58 -05:00
Fedora Release Engineering
54794f2249 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 07:40:25 +00:00
Igor Gnatenko
fbc44a2870 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:12 +01:00
Igor Gnatenko
e020b5f963
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:39:54 +01:00
Zbigniew Jędrzejewski-Szmek
2dee429fee Add BR:glibc-langpack-en 2018-11-18 16:57:40 +01:00
Fedora Release Engineering
4ffe8697ef - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 08:27:33 +00:00
Igor Gnatenko
af1d44ba33 add BuildRequires: gcc-c++
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-10 16:22:13 +02:00
Fedora Release Engineering
b25d18146c - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 22:43:20 +00:00
Fedora Release Engineering
33a2781195 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 01:52:16 +00:00
Fedora Release Engineering
a0d4174f01 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 19:17:08 +00:00
Fedora Release Engineering
c9df421fdf - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild 2017-05-15 20:26:26 +00:00
Sérgio M. Basto
d7aeedabbc Add patch for GCC7
Add new pactch 0003-Fix-out-of-tree-builds-182.patch
Rename the others patches
2017-02-08 01:12:48 +00:00
Sérgio M. Basto
3b47a1a9bf Fix python3 support in EPEL7 2017-02-06 05:35:45 +00:00
Dennis Gilmore
2194636c16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 03:33:23 +00:00
Sérgio M. Basto
dc4fac3113 Added mp4v2-2.1-fixdoc2.patch and api documentation into -devel package. 2015-10-04 17:57:03 +01:00
Sérgio M. Basto
222d26ad96 Complete last commit. 2015-10-04 17:50:25 +01:00
Sérgio M. Basto
d56815ad40 Tidy a little more. 2015-10-03 03:40:01 +01:00
David King
9b953eb227 Tidy spec file 2015-10-02 17:28:39 -04:00
David King
dba6948917 Update man pages glob in files section
https://fedoraproject.org/wiki/Packaging:Guidelines#Manpages
2015-10-02 17:08:38 -04:00
David King
c65d5dfc7a Tighten requirements on base package 2015-10-02 17:08:38 -04:00
David King
4c90d014d0 Use license macro for COPYING 2015-10-02 17:08:37 -04:00
David King
c04885a74d Remove obsolete tags 2015-10-02 16:57:42 -04:00
Dennis Gilmore
0323a156ff - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 16:07:23 +00:00
Sérgio Basto
0e5404adbf Use trunk source, not source generated with make dist 2015-04-24 18:17:23 +01:00
Sérgio Basto
09282d3b83 Fix relversion and add libtool to BR. 2015-04-23 16:04:28 +01:00
Sérgio Basto
78183b57b3 Update pre release 2.1.0, svn trunk version REV 507 . 2015-04-23 00:34:30 +01:00
Rex Dieter
5e0b6a4596 2.0.0-2
- track library soname, so bumps aren't a surprise
- -devel: own %_includedir/mp4v2/
2015-01-10 08:32:53 -06:00
Sérgio Basto
8413e81cc4 Update to upstream 2.0.0:
Sat Mar 01 2014 Avi Alkalay <avibrazil@gmail.com>
  - included some documentation

  Mon Aug 02 2010 Honore Doktorr <hdfssk@gmail.com>
  - update to upstream 2.0.0

  Mon Aug 02 2010 François Kooman <fkooman@tuxed.net>
  - update to upstream 1.9.1
  - drop redundant patches
  - move README to main package
  - add cli-manuals to main package
  - no longer include the API documentation in devel package
  - move headers to /usr/include/mp4v2/*
  - remove *.la in install phase instead of excluding it while packaging
2015-01-09 03:45:56 +00:00
Peter Robinson
1cef70e3ed - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 04:39:32 +00:00
Dennis Gilmore
11d217819d - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-06 23:27:59 -05:00
Dennis Gilmore
a17a2ade6d - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-03 01:14:42 -05:00
Dennis Gilmore
09e3be42c8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-13 22:45:57 -06:00
Dennis Gilmore
ebda69c249 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-19 15:29:12 -05:00
Dennis Gilmore
db8aeaf664 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-13 02:03:47 -06:00
Dennis Gilmore
fd65ff22db - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 02:22:38 -06:00
Fedora Release Engineering
2055399684 dist-git conversion 2010-07-28 21:18:19 +00:00
Bill Nottingham
1e1a5b6736 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-25 23:51:04 +00:00
Jesse Keating
cbf91396df - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild 2009-07-25 06:08:01 +00:00
Matthias Saou
9272e7ac6e Rebuild to fix runtime problems of the latest builds (#507302). 2009-07-13 11:32:47 +00:00
Caolan McNamara
88204d7ec8 constify rets of strchr(const char*) 2009-03-01 17:53:48 +00:00
Caolan McNamara
cfa77e1b39 constify rets of strchr(const char*) 2009-03-01 17:46:10 +00:00
Jesse Keating
f993f881cb - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild 2009-02-25 16:22:49 +00:00
Jesse Keating
2de6c8cead - Autorebuild for GCC 4.3 2008-02-20 04:20:29 +00:00
Matthias Saou
63dd74666c Rebuild for new BuildID feature. 2007-08-22 17:42:20 +00:00
Matthias Saou
0b08223abb Update License field. 2007-08-05 11:23:29 +00:00
Matthias Saou
53fe012aba Initial import of libmp4v2. 2007-02-12 19:10:16 +00:00
15 changed files with 1521 additions and 1 deletions

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
libmp4v2-1.5.0.1.tar.bz2
mklibmp4v2-r51.tar.bz2
/mp4v2-2.0.0.tar.bz2
/mp4v2-trunk-r507.tar.bz2
/mp4v2-docs.tar.gz

280
0001-Fix-make-dist.patch Normal file
View file

@ -0,0 +1,280 @@
From 60e346211e53257d2fd0b39d4b89ce60c9053409 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Wed, 7 Oct 2015 03:59:59 +0100
Subject: [PATCH 01/10] Fix make dist.
Makes fail because make doc fails .
for more information please see :
https://github.com/sergiomb2/libmp4v2/issues/177
---
configure.ac | 1 +
doc/GNUmakefile.mk | 2 +-
doc/texi/Authors.texi | 2 +-
doc/texi/BuildRepository.texi | 14 +++++++-------
doc/texi/BuildSource.texi | 10 +++++-----
doc/texi/Documentation.texi | 2 +-
doc/texi/ReleaseNotes.texi | 2 +-
doc/texi/ToolGuide.texi | 2 +-
doc/texi/build/commands.texi | 14 +++++++-------
doc/texi/build/process.bootstrap.texi | 2 +-
doc/texi/build/process.build.texi | 2 +-
doc/texi/build/process.checkout.texi | 2 +-
doc/texi/build/process.configure.texi | 2 +-
doc/texi/build/process.dist.texi | 2 +-
doc/texi/build/process.extract.texi | 2 +-
doc/texi/build/process.install.texi | 2 +-
16 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/configure.ac b/configure.ac
index 83e9dce..8316c67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,6 +35,7 @@ AC_MSG_NOTICE([
-->])
AC_CONFIG_AUX_DIR([autoaux])
+AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.9.6 foreign -Wall -Wno-portability -Werror subdir-objects nostdinc no-dist-gzip dist-bzip2 dist-zip dejagnu])
AC_CONFIG_SRCDIR([src/mp4.cpp])
diff --git a/doc/GNUmakefile.mk b/doc/GNUmakefile.mk
index 131b03f..dadb234 100644
--- a/doc/GNUmakefile.mk
+++ b/doc/GNUmakefile.mk
@@ -384,4 +384,4 @@ clean-local:
###############################################################################
$(sort $(MKDIRS)):
- $(mkdir_p) $@
+ $(mkdir_p) $(sort $(MKDIRS))
diff --git a/doc/texi/Authors.texi b/doc/texi/Authors.texi
index 9ec4920..74f2cb8 100644
--- a/doc/texi/Authors.texi
+++ b/doc/texi/Authors.texi
@@ -1,4 +1,4 @@
-@input texinfo @c -*- Texinfo -*-
+\input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename Authors.info
@include base/article.texi
diff --git a/doc/texi/BuildRepository.texi b/doc/texi/BuildRepository.texi
index dcae56e..f784d69 100644
--- a/doc/texi/BuildRepository.texi
+++ b/doc/texi/BuildRepository.texi
@@ -1,4 +1,4 @@
-@input texinfo @c -*- Texinfo -*-
+\input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename BuildRepository.info
@include base/article.texi
@@ -19,12 +19,12 @@ This document describes the recommended process to build @value{PROJECT.name} fr
This chapter is for the impatient or those just looking for a quick summary of all the commands used in a typical build. You may skip this summary and jump to @ref{Build Process}.
@example
-@COMMAND.checkout{}
-@COMMAND.bootstrap{}
-@COMMAND.configure{}
-@COMMAND.build{}
-@COMMAND.install{}
-@COMMAND.dist{}
+@COMMANDcheckout{}
+@COMMANDbootstrap{}
+@COMMANDconfigure{}
+@COMMANDbuild{}
+@COMMANDinstall{}
+@COMMANDdist{}
@end example
@anchor{Build Process}
diff --git a/doc/texi/BuildSource.texi b/doc/texi/BuildSource.texi
index 233ecdb..853dd30 100644
--- a/doc/texi/BuildSource.texi
+++ b/doc/texi/BuildSource.texi
@@ -1,4 +1,4 @@
-@input texinfo @c -*- Texinfo -*-
+\input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename BuildSource.info
@include base/article.texi
@@ -19,10 +19,10 @@ This document describes the recommended process to build @value{PROJECT.name} fr
This chapter is for the impatient or those just looking for a quick summary of all the commands used in a typical build. You may skip this summary and jump to @ref{Build Process}.
@example
-@COMMAND.extract{}
-@COMMAND.configure{}
-@COMMAND.build{}
-@COMMAND.install{}
+@COMMANDextract{}
+@COMMANDconfigure{}
+@COMMANDbuild{}
+@COMMANDinstall{}
@end example
@anchor{Build Process}
diff --git a/doc/texi/Documentation.texi b/doc/texi/Documentation.texi
index 7b85fa1..15554aa 100644
--- a/doc/texi/Documentation.texi
+++ b/doc/texi/Documentation.texi
@@ -1,4 +1,4 @@
-@input texinfo @c -*- Texinfo -*-
+\input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename Documentation.info
@include base/article.texi
diff --git a/doc/texi/ReleaseNotes.texi b/doc/texi/ReleaseNotes.texi
index 2e3d189..ac276a4 100644
--- a/doc/texi/ReleaseNotes.texi
+++ b/doc/texi/ReleaseNotes.texi
@@ -1,4 +1,4 @@
-@input texinfo @c -*- Texinfo -*-
+\input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename ReleaseNotes.info
@include base/article.texi
diff --git a/doc/texi/ToolGuide.texi b/doc/texi/ToolGuide.texi
index a951f26..7b3398a 100644
--- a/doc/texi/ToolGuide.texi
+++ b/doc/texi/ToolGuide.texi
@@ -1,4 +1,4 @@
-@input texinfo @c -*- Texinfo -*-
+\input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename ToolGuide.info
@include base/guide.texi
diff --git a/doc/texi/build/commands.texi b/doc/texi/build/commands.texi
index 8ef9ec9..79e42f7 100644
--- a/doc/texi/build/commands.texi
+++ b/doc/texi/build/commands.texi
@@ -1,33 +1,33 @@
-@macro COMMAND.checkout{}
+@macro COMMANDcheckout{}
svn checkout @value{PROJECT.repo.url} @value{PROJECT.name.lower}
cd @value{PROJECT.name.lower}
@end macro
-@macro COMMAND.bootstrap{}
+@macro COMMANDbootstrap{}
autoreconf -fiv
@end macro
-@macro COMMAND.extract{}
+@macro COMMANDextract{}
tar xf @value{PROJECT.name.lower}-@value{PROJECT.version}.tar.bz2
cd @value{PROJECT.name.lower}-@value{PROJECT.version}/
@end macro
-@macro COMMAND.configure{}
+@macro COMMANDconfigure{}
rm -fr build/
mkdir build/
cd build/
../configure
@end macro
-@macro COMMAND.build{}
+@macro COMMANDbuild{}
make
@end macro
-@macro COMMAND.install{}
+@macro COMMANDinstall{}
make install
make install-man
@end macro
-@macro COMMAND.dist{}
+@macro COMMANDdist{}
make dist
@end macro
diff --git a/doc/texi/build/process.bootstrap.texi b/doc/texi/build/process.bootstrap.texi
index f8153e9..cb538ac 100644
--- a/doc/texi/build/process.bootstrap.texi
+++ b/doc/texi/build/process.bootstrap.texi
@@ -3,7 +3,7 @@
The following command causes forces Autotools to regenerate all files and install helper scripts needed at configure-time and to regenerate all files.
@example
-@COMMAND.bootstrap{}
+@COMMANDbootstrap{}
@end example
If you are a project member and preparing for a release, it is important to note that the versions of Autotools available in your path will directly effect files added to the bundle. At the time of writing, the following versions of Autotools are recommended; in some cases a minimum is hard-coded and warnings will be issued if in violation:
diff --git a/doc/texi/build/process.build.texi b/doc/texi/build/process.build.texi
index 5e9d7a8..cb178df 100644
--- a/doc/texi/build/process.build.texi
+++ b/doc/texi/build/process.build.texi
@@ -3,7 +3,7 @@
The following command will build @value{PROJECT.name}.
@example
-@COMMAND.build{}
+@COMMANDbuild{}
@end example
On some platforms @code{make} refers to a BSD-flavor of make which is not compatible with this project. Check if @code{gmake} is installed, and if it is, substitute @code{gmake} wherever you may see @code{make} in this document. Otherwise you will need to install GNU make package version 3.81 or higher. Lower versions might work.
diff --git a/doc/texi/build/process.checkout.texi b/doc/texi/build/process.checkout.texi
index 5bf371a..550fd0f 100644
--- a/doc/texi/build/process.checkout.texi
+++ b/doc/texi/build/process.checkout.texi
@@ -7,7 +7,7 @@ Sources are checked out from either the trunk, release or a branch. This documen
If you are a project member, then you may add the appropriate login/password information as needed.
@example
-@COMMAND.checkout{}
+@COMMANDcheckout{}
@end example
It is recommended to use Subversion 1.5.0 or higher.
diff --git a/doc/texi/build/process.configure.texi b/doc/texi/build/process.configure.texi
index 19f427d..6750681 100644
--- a/doc/texi/build/process.configure.texi
+++ b/doc/texi/build/process.configure.texi
@@ -3,7 +3,7 @@
The following command configures the project for a build. It is highly recommended that you invoke configure from an empty directory.
@example
-@COMMAND.configure{}
+@COMMANDconfigure{}
@end example
Please see @file{INSTALL} for details on configure usage, and standard options. Additionally, the following custom options have been added to @file{configure}:
diff --git a/doc/texi/build/process.dist.texi b/doc/texi/build/process.dist.texi
index 2d8b10b..a9d835b 100644
--- a/doc/texi/build/process.dist.texi
+++ b/doc/texi/build/process.dist.texi
@@ -3,7 +3,7 @@
The following command will create a @value{PROJECT.name} source distribution. It is during this step that shipped documentation is generated.
@example
-@COMMAND.dist{}
+@COMMANDdist{}
@end example
This step in the build process introduces additional requirements to the host system. While most of the following utilities are generally available, @command{help2man} is used to generate man-pages; however if this command is not available the man-pages will be empty. This is acceptable for non-release builds but for full quality builds this command is required.
diff --git a/doc/texi/build/process.extract.texi b/doc/texi/build/process.extract.texi
index b019cac..efad39e 100644
--- a/doc/texi/build/process.extract.texi
+++ b/doc/texi/build/process.extract.texi
@@ -2,7 +2,7 @@
Extract sources from a @value{TERM.srcdist} bundle. Releases are available from @url{@value{PROJECT.url.website}} in the @url{@value{PROJECT.url.downloads},downloads} section.
@example
-@COMMAND.extract{}
+@COMMANDextract{}
@end example
Older versions of @code{tar} may not automatically uncompress the bundle, so you might have to either enter additional flags manually, or first decompress the bundle before extracting. Some possible command variations for uncompressing a @file{bz2} file:
diff --git a/doc/texi/build/process.install.texi b/doc/texi/build/process.install.texi
index 9087853..e3b27dd 100644
--- a/doc/texi/build/process.install.texi
+++ b/doc/texi/build/process.install.texi
@@ -4,5 +4,5 @@
The following command will install @value{PROJECT.name}.
@example
-@COMMAND.install{}
+@COMMANDinstall{}
@end example
--
2.21.0

View file

@ -0,0 +1,112 @@
From fc65e21b1fe12cb3d51a8bc8152efbebedabbd6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Wed, 7 Oct 2015 04:25:20 +0100
Subject: [PATCH 02/10] Install man/man3/, BTW like in libmp4v2-1.5.0.1
And fix 30 annoying warnings "target x given more than once in the same
rule"
---
GNUmakefile.am | 73 ++++++++++++++++++++++++++++++++++++++++++++++
doc/GNUmakefile.mk | 2 +-
2 files changed, 74 insertions(+), 1 deletion(-)
diff --git a/GNUmakefile.am b/GNUmakefile.am
index 947e6e3..ea45d75 100644
--- a/GNUmakefile.am
+++ b/GNUmakefile.am
@@ -296,6 +296,79 @@ if ADD_MANS
doc/man/man1/mp4file.1 \
doc/man/man1/mp4subtitle.1 \
doc/man/man1/mp4track.1
+ man3_MANS = \
+ doc/MP4.3 \
+ doc/MP4AddRtpESConfigurationPacket.3 \
+ doc/MP4AddRtpHint.3 \
+ doc/MP4AddRtpImmediateData.3 \
+ doc/MP4AddRtpPacket.3 \
+ doc/MP4AddRtpSampleData.3 \
+ doc/MP4AddRtpVideoHint.3 \
+ doc/MP4AddTrackEdit.3 \
+ doc/MP4AppendHintTrackSdp.3 \
+ doc/MP4AppendSessionSdp.3 \
+ doc/MP4BinaryToBase16.3 \
+ doc/MP4BinaryToBase64.3 \
+ doc/MP4CloneTrack.3 \
+ doc/MP4ConvertFromMovieDuration.3 \
+ doc/MP4ConvertFromTrackTimestamp.3 \
+ doc/MP4ConvertToTrackTimestamp.3 \
+ doc/MP4CopyTrack.3 \
+ doc/MP4DeleteTrack.3 \
+ doc/MP4DeleteTrackEdit.3 \
+ doc/MP4FindTrackId.3 \
+ doc/MP4FindTrackIndex.3 \
+ doc/MP4GetAudioProfileLevel.3 \
+ doc/MP4GetDuration.3 \
+ doc/MP4GetGraphicsProfileLevel.3 \
+ doc/MP4GetHintTrackReferenceTrackId.3 \
+ doc/MP4GetHintTrackRtpPayload.3 \
+ doc/MP4GetHintTrackSdp.3 \
+ doc/MP4GetNumberOfTracks.3 \
+ doc/MP4GetODProfileLevel.3 \
+ doc/MP4GetRtpHintNumberOfPackets.3 \
+ doc/MP4GetRtpPacketBFrame.3 \
+ doc/MP4GetRtpPacketTransmitOffset.3 \
+ doc/MP4GetRtpTimestampStart.3 \
+ doc/MP4GetSampleIdFromEditTime.3 \
+ doc/MP4GetSceneProfileLevel.3 \
+ doc/MP4GetSessionSdp.3 \
+ doc/MP4GetTrackAudioMpeg4Type.3 \
+ doc/MP4GetTrackAudioType.3 \
+ doc/MP4GetTrackBitRate.3 \
+ doc/MP4GetTrackDuration.3 \
+ doc/MP4GetTrackEditDuration.3 \
+ doc/MP4GetTrackEditDwell.3 \
+ doc/MP4GetTrackEditMediaStart.3 \
+ doc/MP4GetTrackEditStart.3 \
+ doc/MP4GetTrackEditTotalDuration.3 \
+ doc/MP4GetTrackESConfiguration.3 \
+ doc/MP4GetTrackFixedSampleDuration.3 \
+ doc/MP4GetTrackNumberOfEdits.3 \
+ doc/MP4GetTrackNumberOfSamples.3 \
+ doc/MP4GetTrackVideoFrameRate.3 \
+ doc/MP4GetTrackVideoHeight.3 \
+ doc/MP4GetTrackVideoType.3 \
+ doc/MP4GetTrackVideoWidth.3 \
+ doc/MP4GetVideoProfileLevel.3 \
+ doc/MP4MakeIsmaCompliant.3 \
+ doc/MP4ReadRtpHint.3 \
+ doc/MP4ReadRtpPacket.3 \
+ doc/MP4ReadSampleFromEditTime.3 \
+ doc/MP4SetAudioProfileLevel.3 \
+ doc/MP4SetGraphicsProfileLevel.3 \
+ doc/MP4SetHintTrackRtpPayload.3 \
+ doc/MP4SetHintTrackSdp.3 \
+ doc/MP4SetODProfileLevel.3 \
+ doc/MP4SetRtpTimestampStart.3 \
+ doc/MP4SetSceneProfileLevel.3 \
+ doc/MP4SetSessionSdp.3 \
+ doc/MP4SetTrackEditDuration.3 \
+ doc/MP4SetTrackEditDwell.3 \
+ doc/MP4SetTrackEditMediaStart.3 \
+ doc/MP4SetTrackESConfiguration.3 \
+ doc/MP4SetVideoProfileLevel.3 \
+ doc/MP4WriteRtpHint.3
endif
endif
diff --git a/doc/GNUmakefile.mk b/doc/GNUmakefile.mk
index dadb234..1e6188e 100644
--- a/doc/GNUmakefile.mk
+++ b/doc/GNUmakefile.mk
@@ -98,7 +98,7 @@ DOC.m4.out = \
DOC.man.utils = mp4art mp4file mp4subtitle mp4track
DOC.man.out = $(DOC.man.utils:%=$(DOC.out/)man/man1/%.1)
-DOC.texi.articles = $(wildcard $(DOC.in/)texi/*.texi $(DOC.out/)texi/*.texi)
+DOC.texi.articles = $(wildcard $(DOC.in/)texi/*.texi)
DOC.texi.includes = \
doc/texi/base/project.texi \
--
2.21.0

View file

@ -0,0 +1,169 @@
From d7de4350e9fb40c296798f2d0b5197aa760dd417 Mon Sep 17 00:00:00 2001
From: Sam Thursfield <ssssam@gmail.com>
Date: Mon, 6 Feb 2017 06:23:19 +0100
Subject: [PATCH 03/10] Fix out-of-tree builds (#182)
Building with srcdir!=builddir was failing with a "no rule to create
doc/MP4.3" error.
---
GNUmakefile.am | 144 ++++++++++++++++++++++++-------------------------
1 file changed, 72 insertions(+), 72 deletions(-)
diff --git a/GNUmakefile.am b/GNUmakefile.am
index ea45d75..4b30ee6 100644
--- a/GNUmakefile.am
+++ b/GNUmakefile.am
@@ -297,78 +297,78 @@ if ADD_MANS
doc/man/man1/mp4subtitle.1 \
doc/man/man1/mp4track.1
man3_MANS = \
- doc/MP4.3 \
- doc/MP4AddRtpESConfigurationPacket.3 \
- doc/MP4AddRtpHint.3 \
- doc/MP4AddRtpImmediateData.3 \
- doc/MP4AddRtpPacket.3 \
- doc/MP4AddRtpSampleData.3 \
- doc/MP4AddRtpVideoHint.3 \
- doc/MP4AddTrackEdit.3 \
- doc/MP4AppendHintTrackSdp.3 \
- doc/MP4AppendSessionSdp.3 \
- doc/MP4BinaryToBase16.3 \
- doc/MP4BinaryToBase64.3 \
- doc/MP4CloneTrack.3 \
- doc/MP4ConvertFromMovieDuration.3 \
- doc/MP4ConvertFromTrackTimestamp.3 \
- doc/MP4ConvertToTrackTimestamp.3 \
- doc/MP4CopyTrack.3 \
- doc/MP4DeleteTrack.3 \
- doc/MP4DeleteTrackEdit.3 \
- doc/MP4FindTrackId.3 \
- doc/MP4FindTrackIndex.3 \
- doc/MP4GetAudioProfileLevel.3 \
- doc/MP4GetDuration.3 \
- doc/MP4GetGraphicsProfileLevel.3 \
- doc/MP4GetHintTrackReferenceTrackId.3 \
- doc/MP4GetHintTrackRtpPayload.3 \
- doc/MP4GetHintTrackSdp.3 \
- doc/MP4GetNumberOfTracks.3 \
- doc/MP4GetODProfileLevel.3 \
- doc/MP4GetRtpHintNumberOfPackets.3 \
- doc/MP4GetRtpPacketBFrame.3 \
- doc/MP4GetRtpPacketTransmitOffset.3 \
- doc/MP4GetRtpTimestampStart.3 \
- doc/MP4GetSampleIdFromEditTime.3 \
- doc/MP4GetSceneProfileLevel.3 \
- doc/MP4GetSessionSdp.3 \
- doc/MP4GetTrackAudioMpeg4Type.3 \
- doc/MP4GetTrackAudioType.3 \
- doc/MP4GetTrackBitRate.3 \
- doc/MP4GetTrackDuration.3 \
- doc/MP4GetTrackEditDuration.3 \
- doc/MP4GetTrackEditDwell.3 \
- doc/MP4GetTrackEditMediaStart.3 \
- doc/MP4GetTrackEditStart.3 \
- doc/MP4GetTrackEditTotalDuration.3 \
- doc/MP4GetTrackESConfiguration.3 \
- doc/MP4GetTrackFixedSampleDuration.3 \
- doc/MP4GetTrackNumberOfEdits.3 \
- doc/MP4GetTrackNumberOfSamples.3 \
- doc/MP4GetTrackVideoFrameRate.3 \
- doc/MP4GetTrackVideoHeight.3 \
- doc/MP4GetTrackVideoType.3 \
- doc/MP4GetTrackVideoWidth.3 \
- doc/MP4GetVideoProfileLevel.3 \
- doc/MP4MakeIsmaCompliant.3 \
- doc/MP4ReadRtpHint.3 \
- doc/MP4ReadRtpPacket.3 \
- doc/MP4ReadSampleFromEditTime.3 \
- doc/MP4SetAudioProfileLevel.3 \
- doc/MP4SetGraphicsProfileLevel.3 \
- doc/MP4SetHintTrackRtpPayload.3 \
- doc/MP4SetHintTrackSdp.3 \
- doc/MP4SetODProfileLevel.3 \
- doc/MP4SetRtpTimestampStart.3 \
- doc/MP4SetSceneProfileLevel.3 \
- doc/MP4SetSessionSdp.3 \
- doc/MP4SetTrackEditDuration.3 \
- doc/MP4SetTrackEditDwell.3 \
- doc/MP4SetTrackEditMediaStart.3 \
- doc/MP4SetTrackESConfiguration.3 \
- doc/MP4SetVideoProfileLevel.3 \
- doc/MP4WriteRtpHint.3
+ $(top_srcdir)/doc/MP4.3 \
+ $(top_srcdir)/doc/MP4AddRtpESConfigurationPacket.3 \
+ $(top_srcdir)/doc/MP4AddRtpHint.3 \
+ $(top_srcdir)/doc/MP4AddRtpImmediateData.3 \
+ $(top_srcdir)/doc/MP4AddRtpPacket.3 \
+ $(top_srcdir)/doc/MP4AddRtpSampleData.3 \
+ $(top_srcdir)/doc/MP4AddRtpVideoHint.3 \
+ $(top_srcdir)/doc/MP4AddTrackEdit.3 \
+ $(top_srcdir)/doc/MP4AppendHintTrackSdp.3 \
+ $(top_srcdir)/doc/MP4AppendSessionSdp.3 \
+ $(top_srcdir)/doc/MP4BinaryToBase16.3 \
+ $(top_srcdir)/doc/MP4BinaryToBase64.3 \
+ $(top_srcdir)/doc/MP4CloneTrack.3 \
+ $(top_srcdir)/doc/MP4ConvertFromMovieDuration.3 \
+ $(top_srcdir)/doc/MP4ConvertFromTrackTimestamp.3 \
+ $(top_srcdir)/doc/MP4ConvertToTrackTimestamp.3 \
+ $(top_srcdir)/doc/MP4CopyTrack.3 \
+ $(top_srcdir)/doc/MP4DeleteTrack.3 \
+ $(top_srcdir)/doc/MP4DeleteTrackEdit.3 \
+ $(top_srcdir)/doc/MP4FindTrackId.3 \
+ $(top_srcdir)/doc/MP4FindTrackIndex.3 \
+ $(top_srcdir)/doc/MP4GetAudioProfileLevel.3 \
+ $(top_srcdir)/doc/MP4GetDuration.3 \
+ $(top_srcdir)/doc/MP4GetGraphicsProfileLevel.3 \
+ $(top_srcdir)/doc/MP4GetHintTrackReferenceTrackId.3 \
+ $(top_srcdir)/doc/MP4GetHintTrackRtpPayload.3 \
+ $(top_srcdir)/doc/MP4GetHintTrackSdp.3 \
+ $(top_srcdir)/doc/MP4GetNumberOfTracks.3 \
+ $(top_srcdir)/doc/MP4GetODProfileLevel.3 \
+ $(top_srcdir)/doc/MP4GetRtpHintNumberOfPackets.3 \
+ $(top_srcdir)/doc/MP4GetRtpPacketBFrame.3 \
+ $(top_srcdir)/doc/MP4GetRtpPacketTransmitOffset.3 \
+ $(top_srcdir)/doc/MP4GetRtpTimestampStart.3 \
+ $(top_srcdir)/doc/MP4GetSampleIdFromEditTime.3 \
+ $(top_srcdir)/doc/MP4GetSceneProfileLevel.3 \
+ $(top_srcdir)/doc/MP4GetSessionSdp.3 \
+ $(top_srcdir)/doc/MP4GetTrackAudioMpeg4Type.3 \
+ $(top_srcdir)/doc/MP4GetTrackAudioType.3 \
+ $(top_srcdir)/doc/MP4GetTrackBitRate.3 \
+ $(top_srcdir)/doc/MP4GetTrackDuration.3 \
+ $(top_srcdir)/doc/MP4GetTrackEditDuration.3 \
+ $(top_srcdir)/doc/MP4GetTrackEditDwell.3 \
+ $(top_srcdir)/doc/MP4GetTrackEditMediaStart.3 \
+ $(top_srcdir)/doc/MP4GetTrackEditStart.3 \
+ $(top_srcdir)/doc/MP4GetTrackEditTotalDuration.3 \
+ $(top_srcdir)/doc/MP4GetTrackESConfiguration.3 \
+ $(top_srcdir)/doc/MP4GetTrackFixedSampleDuration.3 \
+ $(top_srcdir)/doc/MP4GetTrackNumberOfEdits.3 \
+ $(top_srcdir)/doc/MP4GetTrackNumberOfSamples.3 \
+ $(top_srcdir)/doc/MP4GetTrackVideoFrameRate.3 \
+ $(top_srcdir)/doc/MP4GetTrackVideoHeight.3 \
+ $(top_srcdir)/doc/MP4GetTrackVideoType.3 \
+ $(top_srcdir)/doc/MP4GetTrackVideoWidth.3 \
+ $(top_srcdir)/doc/MP4GetVideoProfileLevel.3 \
+ $(top_srcdir)/doc/MP4MakeIsmaCompliant.3 \
+ $(top_srcdir)/doc/MP4ReadRtpHint.3 \
+ $(top_srcdir)/doc/MP4ReadRtpPacket.3 \
+ $(top_srcdir)/doc/MP4ReadSampleFromEditTime.3 \
+ $(top_srcdir)/doc/MP4SetAudioProfileLevel.3 \
+ $(top_srcdir)/doc/MP4SetGraphicsProfileLevel.3 \
+ $(top_srcdir)/doc/MP4SetHintTrackRtpPayload.3 \
+ $(top_srcdir)/doc/MP4SetHintTrackSdp.3 \
+ $(top_srcdir)/doc/MP4SetODProfileLevel.3 \
+ $(top_srcdir)/doc/MP4SetRtpTimestampStart.3 \
+ $(top_srcdir)/doc/MP4SetSceneProfileLevel.3 \
+ $(top_srcdir)/doc/MP4SetSessionSdp.3 \
+ $(top_srcdir)/doc/MP4SetTrackEditDuration.3 \
+ $(top_srcdir)/doc/MP4SetTrackEditDwell.3 \
+ $(top_srcdir)/doc/MP4SetTrackEditMediaStart.3 \
+ $(top_srcdir)/doc/MP4SetTrackESConfiguration.3 \
+ $(top_srcdir)/doc/MP4SetVideoProfileLevel.3 \
+ $(top_srcdir)/doc/MP4WriteRtpHint.3
endif
endif
--
2.21.0

30
0004-Fix-GCC7-build.patch Normal file
View file

@ -0,0 +1,30 @@
From 855e9674232808ff3be7191b697dfb56917db21f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Wed, 8 Feb 2017 00:56:32 +0000
Subject: [PATCH 04/10] Fix GCC7 build
if (*pSlash != '\0') {
As it stands the body of that if will always execute and when there are
no encoding parameters ppEncodingParams will be returned as a pointer to
an empty string rather than as a null pointer
---
src/rtphint.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rtphint.cpp b/src/rtphint.cpp
index e07309d..1eb01f5 100644
--- a/src/rtphint.cpp
+++ b/src/rtphint.cpp
@@ -339,7 +339,7 @@ void MP4RtpHintTrack::GetPayload(
pSlash = strchr(pSlash, '/');
if (pSlash != NULL) {
pSlash++;
- if (pSlash != '\0') {
+ if (*pSlash != '\0') {
length = (uint32_t)strlen(pRtpMap) - (pSlash - pRtpMap);
*ppEncodingParams = (char *)MP4Calloc(length + 1);
strncpy(*ppEncodingParams, pSlash, length);
--
2.21.0

View file

@ -0,0 +1,39 @@
From edc4f0ad8f37bb8aeae4e3ea34766dc6cdbb2f15 Mon Sep 17 00:00:00 2001
From: David Carlos Manuelda <StormByte@gmail.com>
Date: Tue, 7 Aug 2018 05:42:28 +0200
Subject: [PATCH 05/10] Fix clang compilation
---
src/mp4.cpp | 2 +-
src/mp4util.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mp4.cpp b/src/mp4.cpp
index 1016f79..d576103 100644
--- a/src/mp4.cpp
+++ b/src/mp4.cpp
@@ -896,7 +896,7 @@ MP4FileHandle MP4ReadProvider( const char* fileName, const MP4FileProvider* file
}
catch (...) {
- return MP4_INVALID_TRACK_ID;
+ return (mp4v2_ismacrypParams *)MP4_INVALID_TRACK_ID;
}
}
diff --git a/src/mp4util.h b/src/mp4util.h
index 1fbbd81..b33bb44 100644
--- a/src/mp4util.h
+++ b/src/mp4util.h
@@ -33,7 +33,7 @@ namespace mp4v2 { namespace impl {
#ifndef ASSERT
# define ASSERT(expr) \
if (!(expr)) { \
- throw new Exception("assert failure: "LIBMPV42_STRINGIFY((expr)), __FILE__, __LINE__, __FUNCTION__ ); \
+ throw new Exception("assert failure: " LIBMPV42_STRINGIFY((expr)), __FILE__, __LINE__, __FUNCTION__ ); \
}
#endif
--
2.21.0

View file

@ -0,0 +1,28 @@
From a94a3372c6ef66a2276cc6cd92f7ec07a9c8bb6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Wed, 17 Oct 2018 16:13:06 +0100
Subject: [PATCH 07/10] Fix Out-of-bounds memory access in MP4v2 2.0.0
The bug can be fixed by more checks when doing type comparison.
Reference: https://www.openwall.com/lists/oss-security/2018/07/18/3
Addresses https://nvd.nist.gov/vuln/detail/CVE-2018-14403
---
src/mp4util.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mp4util.cpp b/src/mp4util.cpp
index 47bd74e..696dab4 100644
--- a/src/mp4util.cpp
+++ b/src/mp4util.cpp
@@ -46,6 +46,7 @@ bool MP4NameFirstMatches(const char* s1, const char* s2)
s1++;
s2++;
}
+ if(*s2 != '[' && *s2 != '.' && *s2 != '\0') return false;
return true;
}
--
2.21.0

View file

@ -0,0 +1,33 @@
From bb920de948c85e3db4a52292ac7250a50e3bfc86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Sat, 2 Nov 2019 04:19:27 +0000
Subject: [PATCH 08/10] Fix v2 Type confusion in MP4v2 2.0.0
The bug is caused by the wrong assumption that the child of an `ilst`
can never be an `ilst`. So we could fix it by simply adding an ASSERT.
Reference: https://www.openwall.com/lists/oss-security/2018/07/17/1
Addresses: https://nvd.nist.gov/vuln/detail/CVE-2018-14379
---
src/mp4atom.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/mp4atom.cpp b/src/mp4atom.cpp
index 520cbc8..7a0a53f 100644
--- a/src/mp4atom.cpp
+++ b/src/mp4atom.cpp
@@ -778,8 +778,10 @@ MP4Atom::factory( MP4File &file, MP4Atom* parent, const char* type )
const char* const ptype = parent->GetType();
if( descendsFrom( parent, "ilst" )) {
- if( ATOMID( ptype ) == ATOMID( "ilst" ))
+ if( ATOMID( ptype ) == ATOMID( "ilst" )) {
+ ASSERT(ATOMID( type ) != ATOMID( "ilst" ));
return new MP4ItemAtom( file, type );
+ }
if( ATOMID( type ) == ATOMID( "data" ))
return new MP4DataAtom(file);
--
2.21.0

View file

@ -0,0 +1,35 @@
From 3410bc66fb91f46325ab1d008b6a421dd8240949 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Sat, 2 Nov 2019 04:21:17 +0000
Subject: [PATCH 09/10] Null out pointer after free to prevent double free
If an exception occurs (because of a crafted MP4) before the value is reassigned, then a double free can occur. By setting the pointer to NULL after the first free, we prevent the double free in this case.
Addresses: https://nvd.nist.gov/vuln/detail/CVE-2018-14054
copied form https://github.com/TechSmith/mp4v2/commit/f09cceeee5bd7f783fd31f10e8b3c440ccf4c743
From: Dave O'Rourke
Date: Wed, 20 Mar 2019 08:57:29 -0400
---
src/mp4property.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/mp4property.cpp b/src/mp4property.cpp
index 9a5b1e3..1b8e1d2 100644
--- a/src/mp4property.cpp
+++ b/src/mp4property.cpp
@@ -391,8 +391,10 @@ void MP4StringProperty::Read( MP4File& file, uint32_t index )
char*& value = m_values[i];
// Generally a default atom setting, e.g. see atom_avc1.cpp, "JVT/AVC Coding"; we'll leak this string if
- // we don't free. Note that MP4Free checks for null.
- MP4Free(value);
+ // we don't free. Note that this code checks for null before calling free and sets the pointer to null
+ // after freeing it, to prevent a double free in case an exception occurs before the value is reassigned.
+ MP4Free( value );
+ value = NULL;
if( m_useCountedFormat ) {
value = file.ReadCountedString( (m_useUnicode ? 2 : 1), m_useExpandedCount, m_fixedLength );
--
2.21.0

View file

@ -0,0 +1,59 @@
From 9084868fd9f86bee118001c23171e832f15009f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
Date: Fri, 8 Nov 2019 02:01:32 +0000
Subject: [PATCH 10/10] Fix v3 Integer underflow/overflow in MP4v2 2.0.0
Reference: https://www.openwall.com/lists/oss-security/2018/07/16/1
For the overflow, we could check the result of the integer multiplication:
fix vulnerability where an atom list size is enormous
and calculating the number of bytes needed to hold the list overflows
https://github.com/TechSmith/mp4v2/pull/27/commits/70d823ccd8e2d7d0ed9e62fb7e8983d21e6acbeb
Addresses https://nvd.nist.gov/vuln/detail/CVE-2018-14326 and https://nvd.nist.gov/vuln/detail/CVE-2018-14446
For the underflow, we could check if `dataSize >= hdrSize` satisfies:
Throw exception when invalid atom size would cause integer underflow
The calculation `hdrSize - dataSize` can underflow the 64-bit unsigned int dataSize type, which can lead to incorrect results. We throw an exception to stop the code from going any further.
Addresses https://nvd.nist.gov/vuln/detail/CVE-2018-14325
Based on https://github.com/TechSmith/mp4v2/commit/e475013c6ef78093055a02b0d035eda0f9f01451
---
src/mp4array.h | 2 ++
src/mp4atom.cpp | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/src/mp4array.h b/src/mp4array.h
index c49d59b..69d470a 100644
--- a/src/mp4array.h
+++ b/src/mp4array.h
@@ -102,6 +102,8 @@ protected:
void Resize(MP4ArrayIndex newSize) { \
m_numElements = newSize; \
m_maxNumElements = newSize; \
+ if ( (uint64_t) m_maxNumElements * sizeof(type) > 0xFFFFFFFF ) \
+ throw new PlatformException("requested array size exceeds 4GB", ERANGE, __FILE__, __LINE__, __FUNCTION__); /* prevent overflow */ \
m_elements = (type*)MP4Realloc(m_elements, \
m_maxNumElements * sizeof(type)); \
} \
diff --git a/src/mp4atom.cpp b/src/mp4atom.cpp
index 7a0a53f..f5d5dc0 100644
--- a/src/mp4atom.cpp
+++ b/src/mp4atom.cpp
@@ -143,6 +143,12 @@ MP4Atom* MP4Atom::ReadAtom(MP4File& file, MP4Atom* pParentAtom)
dataSize = file.GetSize() - pos;
}
+ if(dataSize < hdrSize) {
+ ostringstream oss;
+ oss << "Invalid atom size in '" << type << "' atom, dataSize = " << dataSize << " cannot be less than hdrSize = " << static_cast<unsigned>( hdrSize );
+ log.errorf( "%s: \"%s\": %s", __FUNCTION__, file.GetFilename().c_str(), oss.str().c_str() );
+ throw new Exception( oss.str().c_str(), __FILE__, __LINE__, __FUNCTION__ );
+ }
dataSize -= hdrSize;
log.verbose1f("\"%s\": type = \"%s\" data-size = %" PRIu64 " (0x%" PRIx64 ") hdr %u",
--
2.21.0

View file

@ -1 +0,0 @@
epel8-playground decommissioned : https://pagure.io/epel/issue/136

411
gcc10.patch Normal file
View file

@ -0,0 +1,411 @@
diff -Nrup a/libutil/Utility.cpp b/libutil/Utility.cpp
--- a/libutil/Utility.cpp 2015-04-24 09:37:49.000000000 -0600
+++ b/libutil/Utility.cpp 2019-09-24 12:39:23.669103515 -0600
@@ -531,26 +531,26 @@ Utility::process_impl()
printHelp( false, false );
return SUCCESS;
- case LC_DEBUG:
+ case int(LC_DEBUG):
debugUpdate( std::strtoul( prog::optarg, NULL, 0 ) );
break;
- case LC_VERBOSE:
+ case int(LC_VERBOSE):
{
const uint32_t level = std::strtoul( prog::optarg, NULL, 0 );
_verbosity = ( level < 4 ) ? level : 3;
break;
}
- case LC_HELP:
+ case int(LC_HELP):
printHelp( true, false );
return SUCCESS;
- case LC_VERSION:
+ case int(LC_VERSION):
printVersion( false );
return SUCCESS;
- case LC_VERSIONX:
+ case int(LC_VERSIONX):
printVersion( true );
return SUCCESS;
diff -Nrup a/util/mp4art.cpp b/util/mp4art.cpp
--- a/util/mp4art.cpp 2015-04-24 09:37:49.000000000 -0600
+++ b/util/mp4art.cpp 2019-09-24 12:32:35.078171912 -0600
@@ -377,11 +377,11 @@ ArtUtility::utility_option( int code, bo
handled = true;
switch( code ) {
- case LC_ART_ANY:
+ case int(LC_ART_ANY):
_artFilter = numeric_limits<uint32_t>::max();
break;
- case LC_ART_INDEX:
+ case int(LC_ART_INDEX):
{
istringstream iss( prog::optarg );
iss >> _artFilter;
@@ -390,29 +390,29 @@ ArtUtility::utility_option( int code, bo
break;
}
- case LC_LIST:
+ case int(LC_LIST):
_action = &ArtUtility::actionList;
break;
- case LC_ADD:
+ case int(LC_ADD):
_action = &ArtUtility::actionAdd;
_artImageFile = prog::optarg;
if( _artImageFile.empty() )
return herrf( "invalid image file: empty-string\n" );
break;
- case LC_REMOVE:
+ case int(LC_REMOVE):
_action = &ArtUtility::actionRemove;
break;
- case LC_REPLACE:
+ case int(LC_REPLACE):
_action = &ArtUtility::actionReplace;
_artImageFile = prog::optarg;
if( _artImageFile.empty() )
return herrf( "invalid image file: empty-string\n" );
break;
- case LC_EXTRACT:
+ case int(LC_EXTRACT):
_action = &ArtUtility::actionExtract;
break;
diff -Nrup a/util/mp4chaps.cpp b/util/mp4chaps.cpp
--- a/util/mp4chaps.cpp 2015-04-24 09:37:49.000000000 -0600
+++ b/util/mp4chaps.cpp 2019-09-24 12:35:24.121316167 -0600
@@ -634,32 +634,32 @@ ChapterUtility::utility_option( int code
switch( code ) {
case 'A':
- case LC_CHPT_ANY:
+ case int(LC_CHPT_ANY):
_ChapterType = MP4ChapterTypeAny;
break;
case 'Q':
- case LC_CHPT_QT:
+ case int(LC_CHPT_QT):
_ChapterType = MP4ChapterTypeQt;
break;
case 'N':
- case LC_CHPT_NERO:
+ case int(LC_CHPT_NERO):
_ChapterType = MP4ChapterTypeNero;
break;
case 'C':
- case LC_CHPT_COMMON:
+ case int(LC_CHPT_COMMON):
_ChapterFormat = CHPT_FMT_COMMON;
break;
case 'l':
- case LC_CHP_LIST:
+ case int(LC_CHP_LIST):
_action = &ChapterUtility::actionList;
break;
case 'e':
- case LC_CHP_EVERY:
+ case int(LC_CHP_EVERY):
{
istringstream iss( prog::optarg );
iss >> _ChaptersEvery;
@@ -675,7 +675,7 @@ ChapterUtility::utility_option( int code
_action = &ChapterUtility::actionExport;
break;
- case LC_CHP_EXPORT:
+ case int(LC_CHP_EXPORT):
_action = &ChapterUtility::actionExport;
/* currently not supported since the chapters of n input files would be written to one chapter file
_ChapterFile = prog::optarg;
@@ -690,7 +690,7 @@ ChapterUtility::utility_option( int code
_action = &ChapterUtility::actionImport;
break;
- case LC_CHP_IMPORT:
+ case int(LC_CHP_IMPORT):
_action = &ChapterUtility::actionImport;
/* currently not supported since the chapters of n input files would be read from one chapter file
_ChapterFile = prog::optarg;
@@ -702,12 +702,12 @@ ChapterUtility::utility_option( int code
break;
case 'c':
- case LC_CHP_CONVERT:
+ case int(LC_CHP_CONVERT):
_action = &ChapterUtility::actionConvert;
break;
case 'r':
- case LC_CHP_REMOVE:
+ case int(LC_CHP_REMOVE):
_action = &ChapterUtility::actionRemove;
break;
diff -Nrup a/util/mp4file.cpp b/util/mp4file.cpp
--- a/util/mp4file.cpp 2015-04-24 09:37:49.000000000 -0600
+++ b/util/mp4file.cpp 2019-09-24 12:33:09.735996459 -0600
@@ -190,15 +190,15 @@ FileUtility::utility_option( int code, b
handled = true;
switch( code ) {
- case LC_LIST:
+ case int(LC_LIST):
_action = &FileUtility::actionList;
break;
- case LC_OPTIMIZE:
+ case int(LC_OPTIMIZE):
_action = &FileUtility::actionOptimize;
break;
- case LC_DUMP:
+ case int(LC_DUMP):
_action = &FileUtility::actionDump;
break;
diff -Nrup a/util/mp4subtitle.cpp b/util/mp4subtitle.cpp
--- a/util/mp4subtitle.cpp 2015-04-24 09:37:49.000000000 -0600
+++ b/util/mp4subtitle.cpp 2019-09-24 12:33:53.739773682 -0600
@@ -165,25 +165,25 @@ SubtitleUtility::utility_option( int cod
handled = true;
switch( code ) {
- case LC_LIST:
+ case int(LC_LIST):
_action = &SubtitleUtility::actionList;
break;
- case LC_EXPORT:
+ case int(LC_EXPORT):
_action = &SubtitleUtility::actionExport;
_stTextFile = prog::optarg;
if( _stTextFile.empty() )
return herrf( "invalid TXT file: empty-string\n" );
break;
- case LC_IMPORT:
+ case int(LC_IMPORT):
_action = &SubtitleUtility::actionImport;
_stTextFile = prog::optarg;
if( _stTextFile.empty() )
return herrf( "invalid TXT file: empty-string\n" );
break;
- case LC_REMOVE:
+ case int(LC_REMOVE):
_action = &SubtitleUtility::actionRemove;
break;
diff -Nrup a/util/mp4track.cpp b/util/mp4track.cpp
--- a/util/mp4track.cpp 2015-04-24 09:37:49.000000000 -0600
+++ b/util/mp4track.cpp 2019-09-24 12:37:02.934815918 -0600
@@ -789,11 +789,11 @@ TrackUtility::utility_option( int code,
handled = true;
switch( code ) {
- case LC_TRACK_WILDCARD:
+ case int(LC_TRACK_WILDCARD):
_trackMode = TM_WILDCARD;
break;
- case LC_TRACK_INDEX:
+ case int(LC_TRACK_INDEX):
{
_trackMode = TM_INDEX;
istringstream iss( prog::optarg );
@@ -803,7 +803,7 @@ TrackUtility::utility_option( int code,
break;
}
- case LC_TRACK_ID:
+ case int(LC_TRACK_ID):
{
_trackMode = TM_ID;
istringstream iss( prog::optarg );
@@ -813,142 +813,142 @@ TrackUtility::utility_option( int code,
break;
}
- case LC_LIST:
+ case int(LC_LIST):
_action = &TrackUtility::actionList;
break;
- case LC_COLR_PARMS:
+ case int(LC_COLR_PARMS):
_colorParameterItem.convertFromCSV( prog::optarg );
break;
- case LC_COLR_PARM_HD:
+ case int(LC_COLR_PARM_HD):
_colorParameterItem.primariesIndex = 1;
_colorParameterItem.transferFunctionIndex = 1;
_colorParameterItem.matrixIndex = 1;
break;
- case LC_COLR_PARM_SD:
+ case int(LC_COLR_PARM_SD):
_colorParameterItem.primariesIndex = 6;
_colorParameterItem.transferFunctionIndex = 1;
_colorParameterItem.matrixIndex = 6;
break;
- case LC_COLR_LIST:
+ case int(LC_COLR_LIST):
_action = &TrackUtility::actionColorParameterList;
break;
- case LC_ENABLED:
+ case int(LC_ENABLED):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setEnabled;
_actionTrackModifierSet_name = "enabled";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_INMOVIE:
+ case int(LC_INMOVIE):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setInMovie;
_actionTrackModifierSet_name = "inMovie";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_INPREVIEW:
+ case int(LC_INPREVIEW):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setInPreview;
_actionTrackModifierSet_name = "inPreview";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_LAYER:
+ case int(LC_LAYER):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setLayer;
_actionTrackModifierSet_name = "layer";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_ALTGROUP:
+ case int(LC_ALTGROUP):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setAlternateGroup;
_actionTrackModifierSet_name = "alternateGroup";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_VOLUME:
+ case int(LC_VOLUME):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setVolume;
_actionTrackModifierSet_name = "volume";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_WIDTH:
+ case int(LC_WIDTH):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setWidth;
_actionTrackModifierSet_name = "width";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_HEIGHT:
+ case int(LC_HEIGHT):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setHeight;
_actionTrackModifierSet_name = "height";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_LANGUAGE:
+ case int(LC_LANGUAGE):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setLanguage;
_actionTrackModifierSet_name = "language";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_HDLRNAME:
+ case int(LC_HDLRNAME):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setHandlerName;
_actionTrackModifierSet_name = "handlerName";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_UDTANAME:
+ case int(LC_UDTANAME):
_action = &TrackUtility::actionTrackModifierSet;
_actionTrackModifierSet_function = &TrackModifier::setUserDataName;
_actionTrackModifierSet_name = "userDataName";
_actionTrackModifierSet_value = prog::optarg;
break;
- case LC_UDTANAME_R:
+ case int(LC_UDTANAME_R):
_action = &TrackUtility::actionTrackModifierRemove;
_actionTrackModifierRemove_function = &TrackModifier::removeUserDataName;
_actionTrackModifierRemove_name = "userDataName";
break;
- case LC_COLR_ADD:
+ case int(LC_COLR_ADD):
_action = &TrackUtility::actionColorParameterAdd;
break;
- case LC_COLR_SET:
+ case int(LC_COLR_SET):
_action = &TrackUtility::actionColorParameterSet;
break;
- case LC_COLR_REMOVE:
+ case int(LC_COLR_REMOVE):
_action = &TrackUtility::actionColorParameterRemove;
break;
- case LC_PASP_PARMS:
+ case int(LC_PASP_PARMS):
_pictureAspectRatioItem.convertFromCSV( prog::optarg );
break;
- case LC_PASP_LIST:
+ case int(LC_PASP_LIST):
_action = &TrackUtility::actionPictureAspectRatioList;
break;
- case LC_PASP_ADD:
+ case int(LC_PASP_ADD):
_action = &TrackUtility::actionPictureAspectRatioAdd;
break;
- case LC_PASP_SET:
+ case int(LC_PASP_SET):
_action = &TrackUtility::actionPictureAspectRatioSet;
break;
- case LC_PASP_REMOVE:
+ case int(LC_PASP_REMOVE):
_action = &TrackUtility::actionPictureAspectRatioRemove;
break;

292
libmp4v2.spec Normal file
View file

@ -0,0 +1,292 @@
%global svnversion 507
%global gver .trunkREV%{svnversion}
Summary: Library for working with files using the mp4 container format
Name: libmp4v2
Version: 2.1.0
Release: 0.34%{gver}%{?dist}
# Automatically converted from old format: MPLv1.1 - review is highly recommended.
License: LicenseRef-Callaway-MPLv1.1
URL: http://code.google.com/p/mp4v2
# mp4v2-trunk-r507.tar.bz2 made with ./make-svn-snapshot.sh
Source0: http://mp4v2.googlecode.com/files/mp4v2-trunk-r%{svnversion}.tar.bz2
Source1: make-svn-snapshot.sh
# upstreamable patch
# Reference: https://code.google.com/p/mp4v2/issues/detail?id=177
Patch1: 0001-Fix-make-dist.patch
Patch2: 0002-Install-man-man3-BTW-like-in-libmp4v2-1.5.0.1.patch
Patch3: 0003-Fix-out-of-tree-builds-182.patch
Patch4: 0004-Fix-GCC7-build.patch
Patch5: 0005-Fix-clang-compilation.patch
Patch7: 0007-Fix-Out-of-bounds-memory-access-in-MP4v2-2.0.0.patch
Patch8: 0008-Fix-v2-Type-confusion-in-MP4v2-2.0.0.patch
Patch9: 0009-Null-out-pointer-after-free-to-prevent-double-free.patch
Patch10: 0010-Fix-v3-Integer-underflow-overflow-in-MP4v2-2.0.0.patch
Patch50: gcc10.patch
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: autoconf automake gettext-devel libtool texinfo svn
BuildRequires: python%{python3_pkgversion} doxygen help2man
%if 0%{?fedora} > 29 || 0%{?rhel} > 7
BuildRequires: glibc-langpack-en
%endif
%description
The libmp4v2 library provides an abstraction layer for working with files
using the mp4 container format. This library is developed by mpeg4ip project
and is an exact copy of the library distributed in the mpeg4ip package.
%package devel
Summary: Development files for the mp4v2 library
Requires: %{name}%{_isa} = %{version}-%{release}
%description devel
Development files and documentation needed to develop and compile programs
using the libmp4v2 library.
%prep
%autosetup -p1 -n mp4v2-trunk
%build
autoreconf --force --install --verbose
%configure --disable-static
%make_build
%if 0%{?fedora} > 29 || 0%{?rhel} > 7
%{__make} txt
%endif
export LANG=en_US.utf8
%{__make} api
%install
%make_install
find %{buildroot} -name '*.la' -delete
%ldconfig_scriptlets
%files
%if 0%{?fedora} > 29 || 0%{?rhel} > 7
%doc doc/articles/txt/*txt
%endif
%license COPYING
%{_bindir}/*
%{_libdir}/libmp4v2.so.2*
%{_mandir}/man1/mp4*.1*
%files devel
%doc doc/api/html/
%{_includedir}/mp4v2/
%{_libdir}/libmp4v2.so
%{_mandir}/man3/MP4*
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.34.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.33.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 2.1.0-0.32.trunkREV507
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.31.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.30.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.29.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.28.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.27.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.26.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.25.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.24.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.23.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.22.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.21.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Dec 14 2019 Jeff Law <law@redhat.com> - 2.1.0-0.20.trunkREV507
- Fix narrowing conversion issue caught by gcc-10
* Fri Nov 08 2019 Sérgio Basto <sergio@serjux.com> - 2.1.0-0.19.trunkREV507
- Fix-v3-Integer-underflow-overflow-in-MP4v2-2.0.0
* Sat Nov 02 2019 Sérgio Basto <sergio@serjux.com> - 2.1.0-0.18.trunkREV507
- Fix https://nvd.nist.gov/vuln/detail/CVE-2018-14446
https://nvd.nist.gov/vuln/detail/CVE-2018-14403
https://nvd.nist.gov/vuln/detail/CVE-2018-14379
https://nvd.nist.gov/vuln/detail/CVE-2018-14326
https://nvd.nist.gov/vuln/detail/CVE-2018-14325
https://nvd.nist.gov/vuln/detail/CVE-2018-14054
based on https://github.com/TechSmith/mp4v2/pull/27
and https://github.com/sergiomb2/libmp4v2/
- Update spec
- Fix build on epel7
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.17.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Feb 19 2019 FeRD (Frank Dana) <ferdnyc AT gmail com> - 2.1.0-0.16.trunkREV507
- Add BuildRequires for help2man, fixes manpage generation
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.15.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.1.0-0.14.trunkREV507
- Add BR:glibc-langpack-en
See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.13.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.12.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.11.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.10.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-0.9.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
* Wed Feb 08 2017 Sérgio Basto <sergio@serjux.com> - 2.1.0-0.8.trunkREV507
- Add patch for GCC7
- Add new pactch 0003-Fix-out-of-tree-builds-182.patch
- Rename the others patches
* Mon Feb 06 2017 Sérgio Basto <sergio@serjux.com> - 2.1.0-0.7.trunkREV507
- Fix python3 support in EPEL7
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-0.6.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sun Oct 04 2015 Sérgio Basto <sergio@serjux.com> - 2.1.0-0.5.trunkREV507
- Tidy a little more.
- Added mp4v2-2.1-fixdoc2.patch : install man/man3/, BTW like in libmp4v2-1.5.0.1
and fix 30 annoying warnings "target x given more than once in the same rule".
- Make api documentation and add it (doc/api/html/) into -devel package.
* Fri Oct 02 2015 David King <amigadave@amigadave.com> - 2.1.0-0.4.trunkREV507
- Remove obsolete tags
- Use license macro for COPYING
- Tighten requirements on base package
- Update man pages glob in files section
- Tidy spec file
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-0.3.trunkREV507
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Apr 24 2015 Sérgio Basto <sergio@serjux.com> - 2.1.0-0.2.trunkREV507
- Use trunk source, not source generated with make dist
* Wed Apr 22 2015 Sérgio Basto <sergio@serjux.com> - 2.1.0-0.1.trunkREV507
- Update pre release 2.1.0, svn trunk version REV 507 .
* Sat Jan 10 2015 Rex Dieter <rdieter@fedoraproject.org> - 2.0.0-2
- track library soname, so bumps aren't a surprise
- -devel: own %%_includedir/mp4v2/
* Fri Jan 09 2015 Sérgio Basto <sergio@serjux.com> - 2.0.0-1
Sat Mar 01 2014 Avi Alkalay <avibrazil@gmail.com>
- included some documentation
Mon Aug 02 2010 Honore Doktorr <hdfssk@gmail.com>
- update to upstream 2.0.0
Mon Aug 02 2010 François Kooman <fkooman@tuxed.net>
- update to upstream 1.9.1
- drop redundant patches
- move README to main package
- add cli-manuals to main package
- no longer include the API documentation in devel package
- move headers to /usr/include/mp4v2/*
- remove *.la in install phase instead of excluding it while packaging
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Jul 13 2009 Matthias Saou <http://freshrpms.net/> 1.5.0.1-9
- Rebuild to fix runtime problems of the latest builds (#507302).
* Sun Mar 01 2009 Caolán McNamara <caolanm@redhat.com> - 1.5.0.1-8
- constify rets of strchr(const char*)
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.5.0.1-6
- Autorebuild for GCC 4.3
* Wed Aug 22 2007 Matthias Saou <http://freshrpms.net/> 1.5.0.1-5
- Rebuild for new BuildID feature.
* Sun Aug 5 2007 Matthias Saou <http://freshrpms.net/> 1.5.0.1-4
- Update License field.
* Fri Dec 15 2006 Matthias Saou <http://freshrpms.net/> 1.5.0.1-3
- Spec file cleanup (habits, mostly) preparing to submit for Extras inclusion.
* Fri Oct 06 2006 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> 1.5.0.1-2
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
* Tue Jul 18 2006 Noa Resare <noa@resare.com> 1.5.0.1-1
- new upstream release
* Sat May 13 2006 Noa Resare <noa@resare.com> 1.4.1-3
- disabled static lib
- use DESTDIR
- disable-dependency-tracking for faster builds
- removed a manpage template file apt.mpt.gz
* Mon May 08 2006 Noa Resare <noa@resare.com> 1.4.1-2
- specfile cleanups
* Fri May 05 2006 Noa Resare <noa@resare.com> 1.4.1-1.lvn5
- initial release

27
make-svn-snapshot.sh Executable file
View file

@ -0,0 +1,27 @@
#!/bin/bash
set -e
tmp=$(mktemp -d)
trap cleanup EXIT
cleanup() {
set +e
[ -z "$tmp" -o ! -d "$tmp" ] || rm -rf "$tmp"
}
unset CDPATH
pwd=$(pwd)
svn=$(date +%Y-%m-%d)
dirname=mp4v2-trunk
rev={$svn}
#mplayer_rev=HEAD
cd "$tmp"
svn checkout http://mp4v2.googlecode.com/svn/trunk/ $dirname
cd $dirname
svn_revision=`LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2`
cd ..
tar jcf "$pwd"/$dirname-r$svn_revision.tar.bz2 $dirname
cd - >/dev/null

1
sources Normal file
View file

@ -0,0 +1 @@
5a0f7e66014a0ffc55484765435ed1ad mp4v2-trunk-r507.tar.bz2