summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaya <maya@pkgsrc.org>2017-05-06 18:12:00 +0000
committermaya <maya@pkgsrc.org>2017-05-06 18:12:00 +0000
commit94d757408994633daa10cb8f2bda36362cea39b3 (patch)
tree5bed8f61ef420e3efe1f662863dedb3000de7d44
parent39a94ea1df5d2d7a64db5efa3a836ed6bc40d421 (diff)
downloadpkgsrc-94d757408994633daa10cb8f2bda36362cea39b3.tar.gz
libmp4v2: fix build more properly.
if 0 likely out of bounds write, we only have one scratch channel, don't write to a second if asked to do stereo (thanks, GCC 4.5.3!) convert lowercase min, max to uppercase - libstdc++6 doesn't approve of it. mostly using sed, because there's too many occurences. if we're not returning anything, use a void return type. fix likely issue with signed char - 0251 may be truncated, but the equivalent \xa9 won't be. don't store a return value if we're not going to check it. correct misleading indentation. Remove -fpermissive too, as it caused jperkin issues. I could build without removing -Werror, but I'll keep it since it's full of warnings. XXX do we want a security advisory for this, if it can be triggered?
-rw-r--r--multimedia/libmp4v2/Makefile15
-rw-r--r--multimedia/libmp4v2/distinfo20
-rw-r--r--multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_include_basic.hpp23
-rw-r--r--multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_src_type__basic.cpp6
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_ctts.c15
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_funcprotos.h17
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_hinthnti.c43
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_hintudta.c46
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_hnti.c43
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_rtp.c61
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_sdp.c61
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_tref.c49
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4_udta.c15
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4v2_atom__standard.cpp32
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_mp4v2_mp4atom.cpp26
-rw-r--r--multimedia/libmp4v2/patches/patch-lib_rtp_net__udp.c17
-rw-r--r--multimedia/libmp4v2/patches/patch-player_lib_audio_faad_config.c28
-rw-r--r--multimedia/libmp4v2/patches/patch-player_lib_audio_faad_huffdec.c16
-rw-r--r--multimedia/libmp4v2/patches/patch-player_lib_audio_faad_monopred.c19
19 files changed, 543 insertions, 9 deletions
diff --git a/multimedia/libmp4v2/Makefile b/multimedia/libmp4v2/Makefile
index a179913c656..c0dc306b8d8 100644
--- a/multimedia/libmp4v2/Makefile
+++ b/multimedia/libmp4v2/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.16 2017/04/26 14:38:30 maya Exp $
+# $NetBSD: Makefile,v 1.17 2017/05/06 18:12:00 maya Exp $
DISTNAME= mpeg4ip-1.6.1
PKGNAME= libmp4v2-1.6.1
-PKGREVISION= 4
+PKGREVISION= 5
CATEGORIES= multimedia
# distfile at sf is corrupt
#MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mpeg4ip/}
@@ -27,9 +27,16 @@ OVERRIDE_DIRDEPTH= 3
# to install mp4* tools
BUILD_DIRS= . lib/mp4v2/util
-# It's an unmaintained old library
+CFLAGS+= -std=gnu89
BUILDLINK_TRANSFORM+= rm:-Werror
-CFLAGS+= -Wno-return-type
+BUILDLINK_TRANSFORM+= rm:-fpermissive
+
+# lowercase min,max cannot be used as macros, conflicts with libstdc++6
+SUBST_CLASSES+= minmax
+SUBST_STAGE.minmax= post-patch
+SUBST_FILES.minmax= common/video/iso-mpeg4/src/*
+SUBST_SED.minmax= -e 's,min *(,MIN(,g' -e 's,max *(,MAX(,g'
+SUBST_MESSAGE.minmax= replace lowercase min,max with uppercase
pre-configure:
${TOUCH} ${WRKSRC}/bootstrapped
diff --git a/multimedia/libmp4v2/distinfo b/multimedia/libmp4v2/distinfo
index edc14414bcc..81757472434 100644
--- a/multimedia/libmp4v2/distinfo
+++ b/multimedia/libmp4v2/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.14 2017/04/26 14:38:30 maya Exp $
+$NetBSD: distinfo,v 1.15 2017/05/06 18:12:00 maya Exp $
SHA1 (mpeg4ip-1.6.1.tar.gz) = 2af97fc0da6a5c0bcb7b433c6715967487b80e38
RMD160 (mpeg4ip-1.6.1.tar.gz) = ee8375d9581cccbbf685f730bb36f3866eaf12f7
@@ -25,5 +25,21 @@ SHA1 (patch-as) = 4025cd8e0407c851fa7f8d95e4188bd09dc66711
SHA1 (patch-at) = ce3dfb958e5a5c46e01b8514b412277be01e40d4
SHA1 (patch-au) = f3eee9942c4f5ad716634edfa9535c8c9fda73ba
SHA1 (patch-av) = 3b25351b26124c9a546c09d55900fe8df3224f6d
-SHA1 (patch-common_video_iso-mpeg4_src_type__basic.cpp) = 0a83438ab4666a0284879b7fe994a58ba945de47
+SHA1 (patch-common_video_iso-mpeg4_include_basic.hpp) = 457aa492ef05abf0af8a17fea202ae18c28f1cc3
+SHA1 (patch-common_video_iso-mpeg4_src_type__basic.cpp) = 01f8b446af8cd7f012d2837bdbb13d13e4e6ac93
SHA1 (patch-doc_mp4v2_MP4.3) = e799c63f63cdb1d360077b6f1410a081c1a49c5a
+SHA1 (patch-lib_mp4_ctts.c) = c4d9b1df5b5940e4a0fbed37c0b52d330db9b310
+SHA1 (patch-lib_mp4_funcprotos.h) = 4a6ae557af14ca352bf8b712e52f91243a5f2ed4
+SHA1 (patch-lib_mp4_hinthnti.c) = bbb4f2f7e0b3401668f756252b91109f47382cbf
+SHA1 (patch-lib_mp4_hintudta.c) = d567138632559d1dd9311a2868ebc29416be918b
+SHA1 (patch-lib_mp4_hnti.c) = 21b1abf140368a8ff48b656e5b7c1297e95ac1c9
+SHA1 (patch-lib_mp4_rtp.c) = 903209c21444a788583be1fa27393c909fbbf65c
+SHA1 (patch-lib_mp4_sdp.c) = 9c9e18d84d151ca632c25c9aa52685d476e6435f
+SHA1 (patch-lib_mp4_tref.c) = c67a0a7b6fb5079736ef8f5e5aaa3628badecfdd
+SHA1 (patch-lib_mp4_udta.c) = af025f404668d1bc02861620b79d6a56fbe18295
+SHA1 (patch-lib_mp4v2_atom__standard.cpp) = 27a2bac270ac4a1fd5169d89d312690a4dcb58ab
+SHA1 (patch-lib_mp4v2_mp4atom.cpp) = ad0a1006293d8bea250de695919d8cdc59a7a4fa
+SHA1 (patch-lib_rtp_net__udp.c) = 3250d0ebcc0899ec4521eb20bc83f6e8a8bce3c9
+SHA1 (patch-player_lib_audio_faad_config.c) = 6448e02ed9f95fc94bca986958ac61c0bf0ec752
+SHA1 (patch-player_lib_audio_faad_huffdec.c) = 1106e902c3fe95cb76009613ae6641339580adac
+SHA1 (patch-player_lib_audio_faad_monopred.c) = 0833f17e10f91b69c63c896c15e98471c62f3025
diff --git a/multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_include_basic.hpp b/multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_include_basic.hpp
new file mode 100644
index 00000000000..9858dab54f4
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_include_basic.hpp
@@ -0,0 +1,23 @@
+$NetBSD: patch-common_video_iso-mpeg4_include_basic.hpp,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+libstdc++6 disapproves of lowercase min,max macros
+use uppercase.
+
+--- common/video/iso-mpeg4/include/basic.hpp.orig 2005-05-09 21:29:45.000000000 +0000
++++ common/video/iso-mpeg4/include/basic.hpp
+@@ -89,11 +89,11 @@ Revision History:
+ #define transpPixel CPixel(0,0,0,0)
+ #define opaquePixel CPixel(255,255,255,255)
+
+-#ifndef max
+-#define max(a,b) (((a) > (b)) ? (a) : (b))
++#ifndef MAX
++#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+ #endif
+-#ifndef min
+-#define min(a, b) (((a) < (b)) ? (a) : (b))
++#ifndef MIN
++#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+ #endif
+ #define signOf(x) (((x) > 0) ? 1 : 0)
+ #define invSignOf(x) ((x) > 0 ? 0 : 1) // see p.22/H.263
diff --git a/multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_src_type__basic.cpp b/multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_src_type__basic.cpp
index 80ebef1b556..f6dcde7afe5 100644
--- a/multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_src_type__basic.cpp
+++ b/multimedia/libmp4v2/patches/patch-common_video_iso-mpeg4_src_type__basic.cpp
@@ -1,8 +1,8 @@
-$NetBSD: patch-common_video_iso-mpeg4_src_type__basic.cpp,v 1.1 2017/04/26 14:38:31 maya Exp $
+$NetBSD: patch-common_video_iso-mpeg4_src_type__basic.cpp,v 1.2 2017/05/06 18:12:00 maya Exp $
-Make GCC 4.5 happier about the prototype
+Make GCC 4.5.3 happier - it type errors on this declaration
---- common/video/iso-mpeg4/src/type_basic.cpp.orig 2006-08-07 18:26:58.000000000 +0000
+--- common/video/iso-mpeg4/src/type_basic.cpp.orig 2017-05-06 17:53:07.101492438 +0000
+++ common/video/iso-mpeg4/src/type_basic.cpp
@@ -317,7 +317,7 @@ Void CMotionVector::computeMV ()
iHalfY = m_vctTrueHalfPel.y - iMVY * 2;
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_ctts.c b/multimedia/libmp4v2/patches/patch-lib_mp4_ctts.c
new file mode 100644
index 00000000000..3a24704d928
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_ctts.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_mp4_ctts.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/ctts.c.orig 2001-08-01 00:34:00.000000000 +0000
++++ lib/mp4/ctts.c
+@@ -88,7 +88,7 @@ int quicktime_read_ctts(quicktime_t *fil
+ }
+ }
+
+-int quicktime_write_ctts(quicktime_t *file, quicktime_ctts_t *ctts)
++void quicktime_write_ctts(quicktime_t *file, quicktime_ctts_t *ctts)
+ {
+ int i;
+ quicktime_atom_t atom;
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_funcprotos.h b/multimedia/libmp4v2/patches/patch-lib_mp4_funcprotos.h
new file mode 100644
index 00000000000..41cab792b9a
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_funcprotos.h
@@ -0,0 +1,17 @@
+$NetBSD: patch-lib_mp4_funcprotos.h,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Match new return types.
+
+--- lib/mp4/funcprotos.h.orig 2001-08-01 00:34:00.000000000 +0000
++++ lib/mp4/funcprotos.h
+@@ -67,8 +67,8 @@ int quicktime_trak_init(quicktime_trak_t
+ int quicktime_trak_init_video(quicktime_t *file, quicktime_trak_t *trak, int frame_w, int frame_h, float frame_rate, int time_scale, char *compressor);
+ int quicktime_trak_init_audio(quicktime_t *file, quicktime_trak_t *trak, int channels, int sample_rate, int bits, int sample_size, int time_scale, int sample_duration, char *compressor);
+ int quicktime_trak_init_hint(quicktime_t *file, quicktime_trak_t *trak, quicktime_trak_t *refTrak, int maxPktSize, int time_scale, int sample_duration);
+-int quicktime_tref_init(quicktime_tref_t *tref);
+-int quicktime_tref_init_hint(quicktime_tref_t *tref, quicktime_trak_t *refTrak);
++void quicktime_tref_init(quicktime_tref_t *tref);
++void quicktime_tref_init_hint(quicktime_tref_t *tref, quicktime_trak_t *refTrak);
+ int quicktime_udta_init(quicktime_udta_t *udta);
+ int quicktime_mvhd_init(quicktime_mvhd_t *mvhd);
+ int quicktime_moov_init(quicktime_moov_t *moov);
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_hinthnti.c b/multimedia/libmp4v2/patches/patch-lib_mp4_hinthnti.c
new file mode 100644
index 00000000000..9990f805b5b
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_hinthnti.c
@@ -0,0 +1,43 @@
+$NetBSD: patch-lib_mp4_hinthnti.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/hinthnti.c.orig 2001-08-01 00:34:00.000000000 +0000
++++ lib/mp4/hinthnti.c
+@@ -22,23 +22,23 @@
+ #include "quicktime.h"
+
+
+-int quicktime_hint_hnti_init(quicktime_hint_hnti_t *hnti)
++void quicktime_hint_hnti_init(quicktime_hint_hnti_t *hnti)
+ {
+ quicktime_sdp_init(&(hnti->sdp));
+ }
+
+-int quicktime_hint_hnti_delete(quicktime_hint_hnti_t *hnti)
++void quicktime_hint_hnti_delete(quicktime_hint_hnti_t *hnti)
+ {
+ quicktime_sdp_delete(&(hnti->sdp));
+ }
+
+-int quicktime_hint_hnti_dump(quicktime_hint_hnti_t *hnti)
++void quicktime_hint_hnti_dump(quicktime_hint_hnti_t *hnti)
+ {
+ printf(" hnti\n");
+ quicktime_sdp_dump(&hnti->sdp);
+ }
+
+-int quicktime_read_hint_hnti(quicktime_t *file, quicktime_hint_hnti_t *hnti, quicktime_atom_t *parent_atom)
++void quicktime_read_hint_hnti(quicktime_t *file, quicktime_hint_hnti_t *hnti, quicktime_atom_t *parent_atom)
+ {
+ quicktime_atom_t leaf_atom;
+
+@@ -53,7 +53,7 @@ int quicktime_read_hint_hnti(quicktime_t
+ } while (quicktime_position(file) < parent_atom->end);
+ }
+
+-int quicktime_write_hint_hnti(quicktime_t *file, quicktime_hint_hnti_t *hnti)
++void quicktime_write_hint_hnti(quicktime_t *file, quicktime_hint_hnti_t *hnti)
+ {
+ quicktime_atom_t atom;
+
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_hintudta.c b/multimedia/libmp4v2/patches/patch-lib_mp4_hintudta.c
new file mode 100644
index 00000000000..35391619437
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_hintudta.c
@@ -0,0 +1,46 @@
+$NetBSD: patch-lib_mp4_hintudta.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/hintudta.c.orig 2001-08-01 00:34:00.000000000 +0000
++++ lib/mp4/hintudta.c
+@@ -22,26 +22,26 @@
+ #include "quicktime.h"
+
+
+-int quicktime_hint_udta_init(quicktime_hint_udta_t *hint_udta)
++void quicktime_hint_udta_init(quicktime_hint_udta_t *hint_udta)
+ {
+ quicktime_hinf_init(&(hint_udta->hinf));
+ quicktime_hint_hnti_init(&(hint_udta->hnti));
+ }
+
+-int quicktime_hint_udta_delete(quicktime_hint_udta_t *hint_udta)
++void quicktime_hint_udta_delete(quicktime_hint_udta_t *hint_udta)
+ {
+ quicktime_hinf_delete(&(hint_udta->hinf));
+ quicktime_hint_hnti_delete(&(hint_udta->hnti));
+ }
+
+-int quicktime_hint_udta_dump(quicktime_hint_udta_t *hint_udta)
++void quicktime_hint_udta_dump(quicktime_hint_udta_t *hint_udta)
+ {
+ printf(" udta\n");
+ quicktime_hinf_dump(&hint_udta->hinf);
+ quicktime_hint_hnti_dump(&hint_udta->hnti);
+ }
+
+-int quicktime_read_hint_udta(quicktime_t *file, quicktime_hint_udta_t *hint_udta, quicktime_atom_t *parent_atom)
++void quicktime_read_hint_udta(quicktime_t *file, quicktime_hint_udta_t *hint_udta, quicktime_atom_t *parent_atom)
+ {
+ quicktime_atom_t leaf_atom;
+
+@@ -66,7 +66,7 @@ int quicktime_read_hint_udta(quicktime_t
+ } while (quicktime_position(file) < parent_atom->end);
+ }
+
+-int quicktime_write_hint_udta(quicktime_t *file, quicktime_hint_udta_t *hint_udta)
++void quicktime_write_hint_udta(quicktime_t *file, quicktime_hint_udta_t *hint_udta)
+ {
+ quicktime_atom_t atom;
+
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_hnti.c b/multimedia/libmp4v2/patches/patch-lib_mp4_hnti.c
new file mode 100644
index 00000000000..52f8990a94d
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_hnti.c
@@ -0,0 +1,43 @@
+$NetBSD: patch-lib_mp4_hnti.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/hnti.c.orig 2001-08-30 16:23:13.000000000 +0000
++++ lib/mp4/hnti.c
+@@ -22,23 +22,23 @@
+ #include "quicktime.h"
+
+
+-int quicktime_hnti_init(quicktime_hnti_t *hnti)
++void quicktime_hnti_init(quicktime_hnti_t *hnti)
+ {
+ quicktime_rtp_init(&(hnti->rtp));
+ }
+
+-int quicktime_hnti_delete(quicktime_hnti_t *hnti)
++void quicktime_hnti_delete(quicktime_hnti_t *hnti)
+ {
+ quicktime_rtp_delete(&(hnti->rtp));
+ }
+
+-int quicktime_hnti_dump(quicktime_hnti_t *hnti)
++void quicktime_hnti_dump(quicktime_hnti_t *hnti)
+ {
+ printf(" hnti\n");
+ quicktime_rtp_dump(&hnti->rtp);
+ }
+
+-int quicktime_read_hnti(quicktime_t *file, quicktime_hnti_t *hnti, quicktime_atom_t *parent_atom)
++void quicktime_read_hnti(quicktime_t *file, quicktime_hnti_t *hnti, quicktime_atom_t *parent_atom)
+ {
+ quicktime_atom_t leaf_atom;
+
+@@ -53,7 +53,7 @@ int quicktime_read_hnti(quicktime_t *fil
+ } while (quicktime_position(file) < parent_atom->end);
+ }
+
+-int quicktime_write_hnti(quicktime_t *file, quicktime_hnti_t *hnti)
++void quicktime_write_hnti(quicktime_t *file, quicktime_hnti_t *hnti)
+ {
+ quicktime_atom_t atom;
+
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_rtp.c b/multimedia/libmp4v2/patches/patch-lib_mp4_rtp.c
new file mode 100644
index 00000000000..8f94b154bd7
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_rtp.c
@@ -0,0 +1,61 @@
+$NetBSD: patch-lib_mp4_rtp.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/rtp.c.orig 2001-08-30 16:23:13.000000000 +0000
++++ lib/mp4/rtp.c
+@@ -22,12 +22,12 @@
+ #include "quicktime.h"
+
+
+-int quicktime_rtp_init(quicktime_rtp_t *rtp)
++void quicktime_rtp_init(quicktime_rtp_t *rtp)
+ {
+ rtp->string = NULL;
+ }
+
+-int quicktime_rtp_set(quicktime_rtp_t *rtp, char *string)
++void quicktime_rtp_set(quicktime_rtp_t *rtp, char *string)
+ {
+ free(rtp->string);
+ if (string != NULL) {
+@@ -38,7 +38,7 @@ int quicktime_rtp_set(quicktime_rtp_t *r
+ }
+ }
+
+-int quicktime_rtp_append(quicktime_rtp_t *rtp, char *appendString)
++void quicktime_rtp_append(quicktime_rtp_t *rtp, char *appendString)
+ {
+ char* newString = malloc(strlen(rtp->string) + strlen(appendString) + 1);
+
+@@ -48,18 +48,18 @@ int quicktime_rtp_append(quicktime_rtp_t
+ rtp->string = newString;
+ }
+
+-int quicktime_rtp_delete(quicktime_rtp_t *rtp)
++void quicktime_rtp_delete(quicktime_rtp_t *rtp)
+ {
+ free(rtp->string);
+ }
+
+-int quicktime_rtp_dump(quicktime_rtp_t *rtp)
++void quicktime_rtp_dump(quicktime_rtp_t *rtp)
+ {
+ printf(" rtp\n");
+ printf(" string %s\n", rtp->string);
+ }
+
+-int quicktime_read_rtp(quicktime_t *file, quicktime_rtp_t *rtp,
++void quicktime_read_rtp(quicktime_t *file, quicktime_rtp_t *rtp,
+ quicktime_atom_t* rtp_atom)
+ {
+ int rtpLen = rtp_atom->size - 12;
+@@ -70,7 +70,7 @@ int quicktime_read_rtp(quicktime_t *file
+ rtp->string[rtpLen] = '\0';
+ }
+
+-int quicktime_write_rtp(quicktime_t *file, quicktime_rtp_t *rtp)
++void quicktime_write_rtp(quicktime_t *file, quicktime_rtp_t *rtp)
+ {
+ int i;
+ quicktime_atom_t atom;
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_sdp.c b/multimedia/libmp4v2/patches/patch-lib_mp4_sdp.c
new file mode 100644
index 00000000000..4f89e332578
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_sdp.c
@@ -0,0 +1,61 @@
+$NetBSD: patch-lib_mp4_sdp.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/sdp.c.orig 2001-08-01 00:34:00.000000000 +0000
++++ lib/mp4/sdp.c
+@@ -22,12 +22,12 @@
+ #include "quicktime.h"
+
+
+-int quicktime_sdp_init(quicktime_sdp_t *sdp)
++void quicktime_sdp_init(quicktime_sdp_t *sdp)
+ {
+ sdp->string = NULL;
+ }
+
+-int quicktime_sdp_set(quicktime_sdp_t *sdp, char *string)
++void quicktime_sdp_set(quicktime_sdp_t *sdp, char *string)
+ {
+ free(sdp->string);
+ if (string != NULL) {
+@@ -38,7 +38,7 @@ int quicktime_sdp_set(quicktime_sdp_t *s
+ }
+ }
+
+-int quicktime_sdp_append(quicktime_sdp_t *sdp, char *appendString)
++void quicktime_sdp_append(quicktime_sdp_t *sdp, char *appendString)
+ {
+ char* newString = malloc(strlen(sdp->string) + strlen(appendString) + 1);
+
+@@ -48,18 +48,18 @@ int quicktime_sdp_append(quicktime_sdp_t
+ sdp->string = newString;
+ }
+
+-int quicktime_sdp_delete(quicktime_sdp_t *sdp)
++void quicktime_sdp_delete(quicktime_sdp_t *sdp)
+ {
+ free(sdp->string);
+ }
+
+-int quicktime_sdp_dump(quicktime_sdp_t *sdp)
++void quicktime_sdp_dump(quicktime_sdp_t *sdp)
+ {
+ printf(" sdp\n");
+ printf(" string %s\n", sdp->string);
+ }
+
+-int quicktime_read_sdp(quicktime_t *file, quicktime_sdp_t *sdp,
++void quicktime_read_sdp(quicktime_t *file, quicktime_sdp_t *sdp,
+ quicktime_atom_t* sdp_atom)
+ {
+ int sdpLen = sdp_atom->size - 8;
+@@ -69,7 +69,7 @@ int quicktime_read_sdp(quicktime_t *file
+ sdp->string[sdpLen] = '\0';
+ }
+
+-int quicktime_write_sdp(quicktime_t *file, quicktime_sdp_t *sdp)
++void quicktime_write_sdp(quicktime_t *file, quicktime_sdp_t *sdp)
+ {
+ int i;
+ quicktime_atom_t atom;
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_tref.c b/multimedia/libmp4v2/patches/patch-lib_mp4_tref.c
new file mode 100644
index 00000000000..7edc1d66351
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_tref.c
@@ -0,0 +1,49 @@
+$NetBSD: patch-lib_mp4_tref.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/tref.c.orig 2001-08-01 00:34:00.000000000 +0000
++++ lib/mp4/tref.c
+@@ -22,28 +22,28 @@
+ #include "quicktime.h"
+
+
+-int quicktime_tref_init(quicktime_tref_t *tref)
++void quicktime_tref_init(quicktime_tref_t *tref)
+ {
+ quicktime_hint_init(&(tref->hint));
+ }
+
+-int quicktime_tref_init_hint(quicktime_tref_t *tref, quicktime_trak_t *refTrak)
++void quicktime_tref_init_hint(quicktime_tref_t *tref, quicktime_trak_t *refTrak)
+ {
+ quicktime_hint_set(&(tref->hint), refTrak);
+ }
+
+-int quicktime_tref_delete(quicktime_tref_t *tref)
++void quicktime_tref_delete(quicktime_tref_t *tref)
+ {
+ quicktime_hint_delete(&(tref->hint));
+ }
+
+-int quicktime_tref_dump(quicktime_tref_t *tref)
++void quicktime_tref_dump(quicktime_tref_t *tref)
+ {
+ printf(" tref\n");
+ quicktime_hint_dump(&tref->hint);
+ }
+
+-int quicktime_read_tref(quicktime_t *file, quicktime_tref_t *tref, quicktime_atom_t *parent_atom)
++void quicktime_read_tref(quicktime_t *file, quicktime_tref_t *tref, quicktime_atom_t *parent_atom)
+ {
+ quicktime_atom_t leaf_atom;
+
+@@ -58,7 +58,7 @@ int quicktime_read_tref(quicktime_t *fil
+ } while (quicktime_position(file) < parent_atom->end);
+ }
+
+-int quicktime_write_tref(quicktime_t *file, quicktime_tref_t *tref)
++void quicktime_write_tref(quicktime_t *file, quicktime_tref_t *tref)
+ {
+ quicktime_atom_t atom;
+
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4_udta.c b/multimedia/libmp4v2/patches/patch-lib_mp4_udta.c
new file mode 100644
index 00000000000..58c1738fe3e
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4_udta.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_mp4_udta.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Fix return type. we're not returning anything.
+
+--- lib/mp4/udta.c.orig 2001-08-30 16:23:13.000000000 +0000
++++ lib/mp4/udta.c
+@@ -88,7 +88,7 @@ int quicktime_read_udta(quicktime_t *fil
+ return result;
+ }
+
+-int quicktime_write_udta(quicktime_t *file, quicktime_udta_t *udta)
++void quicktime_write_udta(quicktime_t *file, quicktime_udta_t *udta)
+ {
+ quicktime_atom_t atom, subatom;
+
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4v2_atom__standard.cpp b/multimedia/libmp4v2/patches/patch-lib_mp4v2_atom__standard.cpp
new file mode 100644
index 00000000000..f2001d6d5d9
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4v2_atom__standard.cpp
@@ -0,0 +1,32 @@
+$NetBSD: patch-lib_mp4v2_atom__standard.cpp,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+Handle signed char better. 0251 is \xa9 (copyright sign)
+but it's truncated if char is signed
+
+--- lib/mp4v2/atom_standard.cpp.orig 2007-06-04 16:47:36.000000000 +0000
++++ lib/mp4v2/atom_standard.cpp
+@@ -22,15 +22,15 @@
+ #include "mp4common.h"
+ #include "atoms.h"
+
+-static const char name[5]={0251,'n', 'a', 'm', '\0'};
+-static const char art[5]={0251,'A', 'R', 'T', '\0'};
+-static const char wrt[5]={0251,'w', 'r', 't', '\0'};
+-static const char alb[5]={0251,'a', 'l', 'b', '\0'};
+-static const char day[5]={0251,'d', 'a', 'y', '\0'};
+-static const char too[5]={0251,'t', 'o', 'o', '\0'};
+-static const char cmt[5]={0251,'c', 'm', 't', '\0'};
+-static const char gen[5]={0251,'g', 'e', 'n', '\0'};
+-static const char grp[5]={0251,'g', 'r', 'p', '\0'};
++static const char name[5]={'\xa9','n', 'a', 'm', '\0'};
++static const char art[5]={'\xa9','A', 'R', 'T', '\0'};
++static const char wrt[5]={'\xa9','w', 'r', 't', '\0'};
++static const char alb[5]={'\xa9','a', 'l', 'b', '\0'};
++static const char day[5]={'\xa9','d', 'a', 'y', '\0'};
++static const char too[5]={'\xa9','t', 'o', 'o', '\0'};
++static const char cmt[5]={'\xa9','c', 'm', 't', '\0'};
++static const char gen[5]={'\xa9','g', 'e', 'n', '\0'};
++static const char grp[5]={'\xa9','g', 'r', 'p', '\0'};
+
+ MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type)
+ {
diff --git a/multimedia/libmp4v2/patches/patch-lib_mp4v2_mp4atom.cpp b/multimedia/libmp4v2/patches/patch-lib_mp4v2_mp4atom.cpp
new file mode 100644
index 00000000000..2ad8ea3971f
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_mp4v2_mp4atom.cpp
@@ -0,0 +1,26 @@
+$NetBSD: patch-lib_mp4v2_mp4atom.cpp,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+handle signed char better - 0251 is \xa9 (copyright sign)
+in signed char, it is truncated.
+
+--- lib/mp4v2/mp4atom.cpp.orig 2007-04-30 20:29:28.000000000 +0000
++++ lib/mp4v2/mp4atom.cpp
+@@ -263,12 +263,12 @@ MP4Atom* MP4Atom::CreateAtom(const char*
+ pAtom = new MP4SmiAtom();
+ }
+ break;
+- case 0251:
+- static const char name[5]={0251,'n', 'a', 'm', '\0'};
+- static const char cmt[5]={0251,'c', 'm', 't', '\0'};
+- static const char cpy[5]={0251,'c', 'p', 'y', '\0'};
+- static const char des[5]={0251,'d', 'e', 's','\0'};
+- static const char prd[5]={0251, 'p', 'r', 'd', '\0'};
++ case '\xa9':
++ static const char name[5]={'\xa9','n', 'a', 'm', '\0'};
++ static const char cmt[5]={'\xa9','c', 'm', 't', '\0'};
++ static const char cpy[5]={'\xa9','c', 'p', 'y', '\0'};
++ static const char des[5]={'\xa9','d', 'e', 's','\0'};
++ static const char prd[5]={'\xa9', 'p', 'r', 'd', '\0'};
+ if (ATOMID(type) == ATOMID(name) ||
+ ATOMID(type) == ATOMID(cmt) ||
+ ATOMID(type) == ATOMID(cpy) ||
diff --git a/multimedia/libmp4v2/patches/patch-lib_rtp_net__udp.c b/multimedia/libmp4v2/patches/patch-lib_rtp_net__udp.c
new file mode 100644
index 00000000000..b1c7b0db4eb
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-lib_rtp_net__udp.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-lib_rtp_net__udp.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+No point in collecting retlen if we're just going to ignore it.
+
+--- lib/rtp/net_udp.c.orig 2007-09-18 20:52:01.000000000 +0000
++++ lib/rtp/net_udp.c
+@@ -163,9 +163,8 @@ socket_error(const char *msg, ...)
+ va_end(ap);
+ rtp_message(LOG_ALERT, "ERROR: %s, (%d - %s)\n", buffer, e, ws_errs[i].errname);
+ #else
+- uint32_t retlen;
+ va_start(ap, msg);
+- retlen = vsnprintf(buffer, blen, msg, ap);
++ (void)vsnprintf(buffer, blen, msg, ap);
+ va_end(ap);
+ rtp_message(LOG_ALERT, "%s:%s", buffer, strerror(errno));
+ #endif
diff --git a/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_config.c b/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_config.c
new file mode 100644
index 00000000000..58a0bc8c5a0
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_config.c
@@ -0,0 +1,28 @@
+$NetBSD: patch-player_lib_audio_faad_config.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+if 0 possible out of bounds write
+Our scratch space is one channel wide, don't treat it
+like two if we're doing stereo.
+
+--- player/lib/audio/faad/config.c.orig 2003-04-09 00:44:38.000000000 +0000
++++ player/lib/audio/faad/config.c
+@@ -628,15 +628,18 @@ static int ch_index(MC_Info *mip, int cp
+ */
+ if (XChans > 0) {
+ ch = Chans - XChans; /* left scratch channel */
+- mip->ch_info[ch].cpe = cpe;
++ mip->ch_info[ch].cpe = 0;
+ mip->ch_info[ch].ch_is_left = 1;
+ mip->ch_info[ch].widx = ch;
++#if 0 /* Possible out of bound write. we only have one scratch channel */
+ if (cpe) {
+ mip->ch_info[ch].paired_ch = ch+1;
+ mip->ch_info[ch+1].ch_is_left = 0;
+ mip->ch_info[ch+1].paired_ch = ch;
+ }
++#endif
+ }
++ /* XXX Below code never happens, XChans seems to always be 1. Assert? */
+ else {
+ ch = -1; /* error, no scratch space */
+ }
diff --git a/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_huffdec.c b/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_huffdec.c
new file mode 100644
index 00000000000..90e3fac9bd4
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_huffdec.c
@@ -0,0 +1,16 @@
+$NetBSD: patch-player_lib_audio_faad_huffdec.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+correct misleading indentation (not changing behaviour)
+
+--- player/lib/audio/faad/huffdec.c.orig 2003-02-18 18:51:31.000000000 +0000
++++ player/lib/audio/faad/huffdec.c
+@@ -369,7 +369,8 @@ static int getmask(faacDecHandle hDecode
+ for(b = 0; b < info->nsbk; b = *group++)
+ for(i = 0; i < info->sfb_per_sbk[b]; i ++)
+ *mask++ = 1;
+- return 2;
++
++ return 2;
+ }
+
+ /* otherwise get mask */
diff --git a/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_monopred.c b/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_monopred.c
new file mode 100644
index 00000000000..7d877e8c109
--- /dev/null
+++ b/multimedia/libmp4v2/patches/patch-player_lib_audio_faad_monopred.c
@@ -0,0 +1,19 @@
+$NetBSD: patch-player_lib_audio_faad_monopred.c,v 1.1 2017/05/06 18:12:00 maya Exp $
+
+We're ignoring the return value anyway, so don't assign
+it to anything.
+
+--- player/lib/audio/faad/monopred.c.orig 2002-01-11 00:55:17.000000000 +0000
++++ player/lib/audio/faad/monopred.c
+@@ -90,10 +90,9 @@ static void flt_round(float *pf)
+ static void inv_table_flt_round(float *ftmp)
+ {
+ int exp;
+- double mnt;
+ float descale;
+
+- mnt = frexp((double)*ftmp, &exp);
++ (void)frexp((double)*ftmp, &exp);
+ descale = (float)ldexp(1.0, exp + 15);
+ *ftmp += descale;
+ *ftmp -= descale;