libmp4v2: add gcc 10 compatibility patch 06/26106/1
authorScott Murray <scott.murray@konsulko.com>
Thu, 25 Feb 2021 21:14:15 +0000 (16:14 -0500)
committerScott Murray <scott.murray@konsulko.com>
Thu, 25 Feb 2021 21:32:15 +0000 (16:32 -0500)
Add patch to fix gcc 10 compilation issues in libmp4v2.

Bug-AGL: SPEC-3819

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I94f8cbd4e1eef3ca86255540e9a0b52d5869a20e

recipes-multimedia/libmp4v2/files/gcc10.patch [new file with mode: 0644]
recipes-multimedia/libmp4v2/libmp4v2_git.bb

diff --git a/recipes-multimedia/libmp4v2/files/gcc10.patch b/recipes-multimedia/libmp4v2/files/gcc10.patch
new file mode 100644 (file)
index 0000000..fca1709
--- /dev/null
@@ -0,0 +1,420 @@
+Fix compilation with gcc 10
+
+Patch pulled from Fedora source RPM:
+https://dl.fedoraproject.org/pub/fedora/linux/development/34/Everything/source/tree/Packages/l/libmp4v2-2.1.0-0.23.trunkREV507.fc34.src.rpm
+
+Upstream-Status: Inappropriate[no upstream]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+---
+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;
index dd1b347..2887287 100644 (file)
@@ -8,6 +8,7 @@ inherit autotools-brokensep pkgconfig
 SRC_URI = " \
     git://github.com/sergiomb2/${BPN}.git \
     file://0001-add-a-configure-option-to-disable-build-of-man-pages.patch \
+    file://gcc10.patch \
 "
 SRCREV = "855e9674232808ff3be7191b697dfb56917db21f"
 S = "${WORKDIR}/git"