package apiv1
import (
"net/http"
"time"
"strconv"
"github.com/gin-gonic/gin"
"github.com/iotbzh/xds-server/lib/common"
)
// MakeArgs is the parameters (json format) of /make command
type MakeArgs struct {
ID string `json:"id"`
SdkID
@media only all and (prefers-color-scheme: dark) {
.highlight .hll { background-color: #49483e }
.highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #f92672 } /* Operator */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #75715e } /* Comment.Hashbang */
.highlight .cm { color: #75715e } /* Comment.Multiline */
.highlight .cp { color: #75715e } /* Comment.Preproc */
.highlight .cpf { color: #75715e } /* Comment.PreprocFile */
.highlight .c1 { color: #75715e } /* Comment.Single */
.highlight .cs { color: #75715e } /* Comment.Special */
.highlight .gd { color: #f92672 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gi { color: #a6e22e } /* Generic.Inserted */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #75715e } /* Generic.Subheading */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #f92672 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .s { color: #e6db74 } /* Literal.String */
.highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #f92672 } /* Name.Tag */
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .ow { color: #f92672 } /* Operator.Word */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sa { color: #e6db74 } /* Literal.String.Affix */
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
.highlight .sx { color: #e6db74 } /* Literal.String.Other */
.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #a6e22e } /* Name.Function.Magic */
.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
.highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */
}
@media (prefers-color-scheme: light) {
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
}
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;