Compare commits

..

1 commit

Author SHA1 Message Date
Troy Dawson
a32e3c43f8 epel8-playground decommissioned : https://pagure.io/epel/issue/136 2022-01-31 11:17:16 -08:00
15 changed files with 1 additions and 1521 deletions

5
.gitignore vendored
View file

@ -1,5 +0,0 @@
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

View file

@ -1,280 +0,0 @@
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

@ -1,112 +0,0 @@
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

@ -1,169 +0,0 @@
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

View file

@ -1,30 +0,0 @@
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

@ -1,39 +0,0 @@
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

@ -1,28 +0,0 @@
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

@ -1,33 +0,0 @@
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

@ -1,35 +0,0 @@
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

@ -1,59 +0,0 @@
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

1
dead.package Normal file
View file

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

View file

@ -1,411 +0,0 @@
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;

View file

@ -1,292 +0,0 @@
%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

View file

@ -1,27 +0,0 @@
#!/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

View file

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