1 Fix compilation with gcc 10
3 Patch pulled from Fedora source RPM:
4 https://dl.fedoraproject.org/pub/fedora/linux/development/34/Everything/source/tree/Packages/l/libmp4v2-2.1.0-0.23.trunkREV507.fc34.src.rpm
6 Upstream-Status: Inappropriate[no upstream]
7 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
10 diff -Nrup a/libutil/Utility.cpp b/libutil/Utility.cpp
11 --- a/libutil/Utility.cpp 2015-04-24 09:37:49.000000000 -0600
12 +++ b/libutil/Utility.cpp 2019-09-24 12:39:23.669103515 -0600
13 @@ -531,26 +531,26 @@ Utility::process_impl()
14 printHelp( false, false );
19 debugUpdate( std::strtoul( prog::optarg, NULL, 0 ) );
23 + case int(LC_VERBOSE):
25 const uint32_t level = std::strtoul( prog::optarg, NULL, 0 );
26 _verbosity = ( level < 4 ) ? level : 3;
32 printHelp( true, false );
36 + case int(LC_VERSION):
37 printVersion( false );
41 + case int(LC_VERSIONX):
45 diff -Nrup a/util/mp4art.cpp b/util/mp4art.cpp
46 --- a/util/mp4art.cpp 2015-04-24 09:37:49.000000000 -0600
47 +++ b/util/mp4art.cpp 2019-09-24 12:32:35.078171912 -0600
48 @@ -377,11 +377,11 @@ ArtUtility::utility_option( int code, bo
53 + case int(LC_ART_ANY):
54 _artFilter = numeric_limits<uint32_t>::max();
58 + case int(LC_ART_INDEX):
60 istringstream iss( prog::optarg );
62 @@ -390,29 +390,29 @@ ArtUtility::utility_option( int code, bo
68 _action = &ArtUtility::actionList;
73 _action = &ArtUtility::actionAdd;
74 _artImageFile = prog::optarg;
75 if( _artImageFile.empty() )
76 return herrf( "invalid image file: empty-string\n" );
80 + case int(LC_REMOVE):
81 _action = &ArtUtility::actionRemove;
85 + case int(LC_REPLACE):
86 _action = &ArtUtility::actionReplace;
87 _artImageFile = prog::optarg;
88 if( _artImageFile.empty() )
89 return herrf( "invalid image file: empty-string\n" );
93 + case int(LC_EXTRACT):
94 _action = &ArtUtility::actionExtract;
97 diff -Nrup a/util/mp4chaps.cpp b/util/mp4chaps.cpp
98 --- a/util/mp4chaps.cpp 2015-04-24 09:37:49.000000000 -0600
99 +++ b/util/mp4chaps.cpp 2019-09-24 12:35:24.121316167 -0600
100 @@ -634,32 +634,32 @@ ChapterUtility::utility_option( int code
105 + case int(LC_CHPT_ANY):
106 _ChapterType = MP4ChapterTypeAny;
111 + case int(LC_CHPT_QT):
112 _ChapterType = MP4ChapterTypeQt;
117 + case int(LC_CHPT_NERO):
118 _ChapterType = MP4ChapterTypeNero;
122 - case LC_CHPT_COMMON:
123 + case int(LC_CHPT_COMMON):
124 _ChapterFormat = CHPT_FMT_COMMON;
129 + case int(LC_CHP_LIST):
130 _action = &ChapterUtility::actionList;
135 + case int(LC_CHP_EVERY):
137 istringstream iss( prog::optarg );
138 iss >> _ChaptersEvery;
139 @@ -675,7 +675,7 @@ ChapterUtility::utility_option( int code
140 _action = &ChapterUtility::actionExport;
143 - case LC_CHP_EXPORT:
144 + case int(LC_CHP_EXPORT):
145 _action = &ChapterUtility::actionExport;
146 /* currently not supported since the chapters of n input files would be written to one chapter file
147 _ChapterFile = prog::optarg;
148 @@ -690,7 +690,7 @@ ChapterUtility::utility_option( int code
149 _action = &ChapterUtility::actionImport;
152 - case LC_CHP_IMPORT:
153 + case int(LC_CHP_IMPORT):
154 _action = &ChapterUtility::actionImport;
155 /* currently not supported since the chapters of n input files would be read from one chapter file
156 _ChapterFile = prog::optarg;
157 @@ -702,12 +702,12 @@ ChapterUtility::utility_option( int code
161 - case LC_CHP_CONVERT:
162 + case int(LC_CHP_CONVERT):
163 _action = &ChapterUtility::actionConvert;
167 - case LC_CHP_REMOVE:
168 + case int(LC_CHP_REMOVE):
169 _action = &ChapterUtility::actionRemove;
172 diff -Nrup a/util/mp4file.cpp b/util/mp4file.cpp
173 --- a/util/mp4file.cpp 2015-04-24 09:37:49.000000000 -0600
174 +++ b/util/mp4file.cpp 2019-09-24 12:33:09.735996459 -0600
175 @@ -190,15 +190,15 @@ FileUtility::utility_option( int code, b
181 _action = &FileUtility::actionList;
185 + case int(LC_OPTIMIZE):
186 _action = &FileUtility::actionOptimize;
191 _action = &FileUtility::actionDump;
194 diff -Nrup a/util/mp4subtitle.cpp b/util/mp4subtitle.cpp
195 --- a/util/mp4subtitle.cpp 2015-04-24 09:37:49.000000000 -0600
196 +++ b/util/mp4subtitle.cpp 2019-09-24 12:33:53.739773682 -0600
197 @@ -165,25 +165,25 @@ SubtitleUtility::utility_option( int cod
203 _action = &SubtitleUtility::actionList;
207 + case int(LC_EXPORT):
208 _action = &SubtitleUtility::actionExport;
209 _stTextFile = prog::optarg;
210 if( _stTextFile.empty() )
211 return herrf( "invalid TXT file: empty-string\n" );
215 + case int(LC_IMPORT):
216 _action = &SubtitleUtility::actionImport;
217 _stTextFile = prog::optarg;
218 if( _stTextFile.empty() )
219 return herrf( "invalid TXT file: empty-string\n" );
223 + case int(LC_REMOVE):
224 _action = &SubtitleUtility::actionRemove;
227 diff -Nrup a/util/mp4track.cpp b/util/mp4track.cpp
228 --- a/util/mp4track.cpp 2015-04-24 09:37:49.000000000 -0600
229 +++ b/util/mp4track.cpp 2019-09-24 12:37:02.934815918 -0600
230 @@ -789,11 +789,11 @@ TrackUtility::utility_option( int code,
234 - case LC_TRACK_WILDCARD:
235 + case int(LC_TRACK_WILDCARD):
236 _trackMode = TM_WILDCARD;
239 - case LC_TRACK_INDEX:
240 + case int(LC_TRACK_INDEX):
242 _trackMode = TM_INDEX;
243 istringstream iss( prog::optarg );
244 @@ -803,7 +803,7 @@ TrackUtility::utility_option( int code,
249 + case int(LC_TRACK_ID):
252 istringstream iss( prog::optarg );
253 @@ -813,142 +813,142 @@ TrackUtility::utility_option( int code,
259 _action = &TrackUtility::actionList;
262 - case LC_COLR_PARMS:
263 + case int(LC_COLR_PARMS):
264 _colorParameterItem.convertFromCSV( prog::optarg );
267 - case LC_COLR_PARM_HD:
268 + case int(LC_COLR_PARM_HD):
269 _colorParameterItem.primariesIndex = 1;
270 _colorParameterItem.transferFunctionIndex = 1;
271 _colorParameterItem.matrixIndex = 1;
274 - case LC_COLR_PARM_SD:
275 + case int(LC_COLR_PARM_SD):
276 _colorParameterItem.primariesIndex = 6;
277 _colorParameterItem.transferFunctionIndex = 1;
278 _colorParameterItem.matrixIndex = 6;
282 + case int(LC_COLR_LIST):
283 _action = &TrackUtility::actionColorParameterList;
287 + case int(LC_ENABLED):
288 _action = &TrackUtility::actionTrackModifierSet;
289 _actionTrackModifierSet_function = &TrackModifier::setEnabled;
290 _actionTrackModifierSet_name = "enabled";
291 _actionTrackModifierSet_value = prog::optarg;
295 + case int(LC_INMOVIE):
296 _action = &TrackUtility::actionTrackModifierSet;
297 _actionTrackModifierSet_function = &TrackModifier::setInMovie;
298 _actionTrackModifierSet_name = "inMovie";
299 _actionTrackModifierSet_value = prog::optarg;
303 + case int(LC_INPREVIEW):
304 _action = &TrackUtility::actionTrackModifierSet;
305 _actionTrackModifierSet_function = &TrackModifier::setInPreview;
306 _actionTrackModifierSet_name = "inPreview";
307 _actionTrackModifierSet_value = prog::optarg;
311 + case int(LC_LAYER):
312 _action = &TrackUtility::actionTrackModifierSet;
313 _actionTrackModifierSet_function = &TrackModifier::setLayer;
314 _actionTrackModifierSet_name = "layer";
315 _actionTrackModifierSet_value = prog::optarg;
319 + case int(LC_ALTGROUP):
320 _action = &TrackUtility::actionTrackModifierSet;
321 _actionTrackModifierSet_function = &TrackModifier::setAlternateGroup;
322 _actionTrackModifierSet_name = "alternateGroup";
323 _actionTrackModifierSet_value = prog::optarg;
327 + case int(LC_VOLUME):
328 _action = &TrackUtility::actionTrackModifierSet;
329 _actionTrackModifierSet_function = &TrackModifier::setVolume;
330 _actionTrackModifierSet_name = "volume";
331 _actionTrackModifierSet_value = prog::optarg;
335 + case int(LC_WIDTH):
336 _action = &TrackUtility::actionTrackModifierSet;
337 _actionTrackModifierSet_function = &TrackModifier::setWidth;
338 _actionTrackModifierSet_name = "width";
339 _actionTrackModifierSet_value = prog::optarg;
343 + case int(LC_HEIGHT):
344 _action = &TrackUtility::actionTrackModifierSet;
345 _actionTrackModifierSet_function = &TrackModifier::setHeight;
346 _actionTrackModifierSet_name = "height";
347 _actionTrackModifierSet_value = prog::optarg;
351 + case int(LC_LANGUAGE):
352 _action = &TrackUtility::actionTrackModifierSet;
353 _actionTrackModifierSet_function = &TrackModifier::setLanguage;
354 _actionTrackModifierSet_name = "language";
355 _actionTrackModifierSet_value = prog::optarg;
359 + case int(LC_HDLRNAME):
360 _action = &TrackUtility::actionTrackModifierSet;
361 _actionTrackModifierSet_function = &TrackModifier::setHandlerName;
362 _actionTrackModifierSet_name = "handlerName";
363 _actionTrackModifierSet_value = prog::optarg;
367 + case int(LC_UDTANAME):
368 _action = &TrackUtility::actionTrackModifierSet;
369 _actionTrackModifierSet_function = &TrackModifier::setUserDataName;
370 _actionTrackModifierSet_name = "userDataName";
371 _actionTrackModifierSet_value = prog::optarg;
374 - case LC_UDTANAME_R:
375 + case int(LC_UDTANAME_R):
376 _action = &TrackUtility::actionTrackModifierRemove;
377 _actionTrackModifierRemove_function = &TrackModifier::removeUserDataName;
378 _actionTrackModifierRemove_name = "userDataName";
382 + case int(LC_COLR_ADD):
383 _action = &TrackUtility::actionColorParameterAdd;
387 + case int(LC_COLR_SET):
388 _action = &TrackUtility::actionColorParameterSet;
391 - case LC_COLR_REMOVE:
392 + case int(LC_COLR_REMOVE):
393 _action = &TrackUtility::actionColorParameterRemove;
396 - case LC_PASP_PARMS:
397 + case int(LC_PASP_PARMS):
398 _pictureAspectRatioItem.convertFromCSV( prog::optarg );
402 + case int(LC_PASP_LIST):
403 _action = &TrackUtility::actionPictureAspectRatioList;
407 + case int(LC_PASP_ADD):
408 _action = &TrackUtility::actionPictureAspectRatioAdd;
412 + case int(LC_PASP_SET):
413 _action = &TrackUtility::actionPictureAspectRatioSet;
416 - case LC_PASP_REMOVE:
417 + case int(LC_PASP_REMOVE):
418 _action = &TrackUtility::actionPictureAspectRatioRemove;