svn commit: r458678 - in head/multimedia/mp4v2: . files

Jan Beich jbeich at FreeBSD.org
Wed Jan 10 19:14:02 UTC 2018


Author: jbeich
Date: Wed Jan 10 19:14:00 2018
New Revision: 458678
URL: https://svnweb.freebsd.org/changeset/ports/458678

Log:
  multimedia/mp4v2: unbreak build with Clang 6 (C++14 by default)
  
  src/mp4.cpp:679:20: error: cannot initialize return object of type 'mp4v2_ismacrypParams *' (aka 'mp4v2_ismacryp_session_params *') with an rvalue of type 'MP4TrackId' (aka 'unsigned int')
              return MP4_INVALID_TRACK_ID;
                     ^~~~~~~~~~~~~~~~~~~~
  ./include/mp4v2/general.h:45:33: note: expanded from macro 'MP4_INVALID_TRACK_ID'
   #define MP4_INVALID_TRACK_ID    ((MP4TrackId)0)       /**< Constant: invalid MP4TrackId. */
                                   ^~~~~~~~~~~~~~~
  src/rtphint.cpp:348:32: error: comparison between pointer and integer ('const char *' and 'int')
                      if (pSlash != '\0') {
                          ~~~~~~ ^  ~~~~
  util/mp4chaps.cpp:712:14: error: case value evaluates to 4026531855, which cannot be narrowed to type 'int'
        [-Wc++11-narrowing]
          case LC_CHP_REMOVE:
               ^
  util/mp4file.cpp:206:14: error: case value evaluates to 4026531848, which cannot be narrowed to type 'int'
        [-Wc++11-narrowing]
          case LC_DUMP:
               ^
  util/mp4art.cpp:413:14: error: case value evaluates to 4026531852, which cannot be narrowed to type 'int'
        [-Wc++11-narrowing]
          case LC_EXTRACT:
               ^
  libutil/Utility.cpp:544:18: error: case value evaluates to 4026531842, which cannot be narrowed to type 'int'
        [-Wc++11-narrowing]
              case LC_VERBOSE:
                   ^
  
  Reported by:	antoine (via bug 224669)

Added:
  head/multimedia/mp4v2/files/patch-src_mp4.cpp   (contents, props changed)
  head/multimedia/mp4v2/files/patch-src_rtphint.cpp   (contents, props changed)
Modified:
  head/multimedia/mp4v2/Makefile   (contents, props changed)

Modified: head/multimedia/mp4v2/Makefile
==============================================================================
--- head/multimedia/mp4v2/Makefile	Wed Jan 10 19:12:35 2018	(r458677)
+++ head/multimedia/mp4v2/Makefile	Wed Jan 10 19:14:00 2018	(r458678)
@@ -3,7 +3,7 @@
 
 PORTNAME=	mp4v2
 PORTVERSION=	1.9.1
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	multimedia
 MASTER_SITES=	LOCAL/riggs/mp4v2
 
@@ -13,11 +13,12 @@ COMMENT=	Library and tools to read, create, and modify
 LICENSE=	MPL11
 
 CONFLICTS=	mpeg4ip-libmp4v2-[0-9.]*
-USES=		compiler gmake libtool tar:bzip2
+USES=		compiler:features gmake libtool tar:bzip2
 MAKEFILE=	GNUmakefile
 GNU_CONFIGURE=	yes
 USE_LDCONFIG=	yes
 CONFIGURE_ENV=	"FOUND_HELP2MAN=no"
+CXXFLAGS+=	${COMPILER_FEATURES:Mc++11:C/.+/-Wno-error=narrowing/}
 
 INSTALL_TARGET=	install-strip
 

Added: head/multimedia/mp4v2/files/patch-src_mp4.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mp4v2/files/patch-src_mp4.cpp	Wed Jan 10 19:14:00 2018	(r458678)
@@ -0,0 +1,18 @@
+src/mp4.cpp:679:20: error: cannot initialize return object of type 'mp4v2_ismacrypParams *' (aka 'mp4v2_ismacryp_session_params *') with an rvalue of type 'MP4TrackId' (aka 'unsigned int')
+            return MP4_INVALID_TRACK_ID;
+                   ^~~~~~~~~~~~~~~~~~~~
+./include/mp4v2/general.h:45:33: note: expanded from macro 'MP4_INVALID_TRACK_ID'
+#define MP4_INVALID_TRACK_ID    ((MP4TrackId)0)       /**< Constant: invalid MP4TrackId. */
+                                ^~~~~~~~~~~~~~~
+
+--- src/mp4.cpp.orig	2009-07-13 23:07:12 UTC
++++ src/mp4.cpp
+@@ -676,7 +676,7 @@ MP4FileHandle MP4ReadProvider( const char* fileName, u
+         }
+ 
+         catch (...) {
+-            return MP4_INVALID_TRACK_ID;
++            return NULL;
+         }
+     }
+ 

Added: head/multimedia/mp4v2/files/patch-src_rtphint.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mp4v2/files/patch-src_rtphint.cpp	Wed Jan 10 19:14:00 2018	(r458678)
@@ -0,0 +1,15 @@
+src/rtphint.cpp:348:32: error: comparison between pointer and integer ('const char *' and 'int')
+                    if (pSlash != '\0') {
+                        ~~~~~~ ^  ~~~~
+
+--- src/rtphint.cpp.orig	2009-07-13 23:07:12 UTC
++++ src/rtphint.cpp
+@@ -345,7 +345,7 @@ void MP4RtpHintTrack::GetPayload(
+                 pSlash = strchr(pSlash, '/');
+                 if (pSlash != NULL) {
+                     pSlash++;
+-                    if (pSlash != '\0') {
++                    if (*pSlash != '\0') {
+                         length = strlen(pRtpMap) - (pSlash - pRtpMap);
+                         *ppEncodingParams = (char *)MP4Calloc(length + 1);
+                         strncpy(*ppEncodingParams, pSlash, length);


More information about the svn-ports-all mailing list