diff --git a/src/input/input_aac.cpp b/src/input/input_aac.cpp index a107bee6..cff14289 100644 --- a/src/input/input_aac.cpp +++ b/src/input/input_aac.cpp @@ -65,7 +65,7 @@ namespace Mist{ capa["source_match"] = "/*.aac"; capa["source_file"] = "$source"; capa["priority"] = 9; - capa["codecs"][0u][1u].append("AAC"); + capa["codecs"]["audio"].append("AAC"); thisTime = 0; // init filePos at 1, else a 15 bit mismatch in expected frame size occurs // dtsc.ccp +- line 215 diff --git a/src/input/input_av.cpp b/src/input/input_av.cpp index 94774cb9..aa7cd28c 100644 --- a/src/input/input_av.cpp +++ b/src/input/input_av.cpp @@ -20,15 +20,13 @@ namespace Mist{ capa["source_match"] = "/*"; capa["source_file"] = "$source"; capa["priority"] = 1; - capa["codecs"][0u][0u].null(); - capa["codecs"][0u][1u].null(); - capa["codecs"][0u][2u].null(); + capa["codecs"].null(); av_register_all(); AVCodec *cInfo = 0; while ((cInfo = av_codec_next(cInfo)) != 0){ - if (cInfo->type == AVMEDIA_TYPE_VIDEO){capa["codecs"][0u][0u].append(cInfo->name);} - if (cInfo->type == AVMEDIA_TYPE_AUDIO){capa["codecs"][0u][1u].append(cInfo->name);} - if (cInfo->type == AVMEDIA_TYPE_SUBTITLE){capa["codecs"][0u][3u].append(cInfo->name);} + if (cInfo->type == AVMEDIA_TYPE_VIDEO){capa["codecs"]["video"].append(cInfo->name);} + if (cInfo->type == AVMEDIA_TYPE_AUDIO){capa["codecs"]["audio"].append(cInfo->name);} + if (cInfo->type == AVMEDIA_TYPE_SUBTITLE){capa["codecs"]["subtitle"].append(cInfo->name);} } } diff --git a/src/input/input_balancer.cpp b/src/input/input_balancer.cpp index 36db5709..48997795 100644 --- a/src/input/input_balancer.cpp +++ b/src/input/input_balancer.cpp @@ -80,9 +80,6 @@ namespace Mist{ capa["optional"]["segmentsize"]["option"] = "--segment-size"; capa["optional"]["segmentsize"]["type"] = "uint"; capa["optional"]["segmentsize"]["default"] = 5000; - capa["codecs"][0u][0u].append("*"); - capa["codecs"][0u][1u].append("*"); - capa["codecs"][0u][2u].append("*"); } int inputBalancer::boot(int argc, char *argv[]){ diff --git a/src/input/input_buffer.cpp b/src/input/input_buffer.cpp index 534f9f6e..d1ccfbcf 100644 --- a/src/input/input_buffer.cpp +++ b/src/input/input_buffer.cpp @@ -129,9 +129,6 @@ namespace Mist{ "live media data. The push://[host][@password] style source allows all enabled protocols " "that support push input to accept a push into MistServer, where you can accept incoming " "streams from everyone, based on a set password, and/or use hostname/IP whitelisting."; - capa["codecs"][0u][0u].append("*"); - capa["codecs"][0u][1u].append("*"); - capa["codecs"][0u][2u].append("*"); bufferTime = 50000; cutTime = 0; segmentSize = 1900; diff --git a/src/input/input_dtsc.cpp b/src/input/input_dtsc.cpp index 381b59f1..bf7012db 100644 --- a/src/input/input_dtsc.cpp +++ b/src/input/input_dtsc.cpp @@ -23,13 +23,13 @@ namespace Mist{ capa["source_match"].append("dtsc://*"); capa["always_match"].append("dtsc://*"); // can be said to always-on mode capa["source_file"] = "$source"; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("H263"); - capa["codecs"][0u][0u].append("VP6"); - capa["codecs"][0u][0u].append("theora"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("MP3"); - capa["codecs"][0u][1u].append("vorbis"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("H263"); + capa["codecs"]["video"].append("VP6"); + capa["codecs"]["video"].append("theora"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("MP3"); + capa["codecs"]["audio"].append("vorbis"); JSON::Value option; option["arg"] = "integer"; diff --git a/src/input/input_ebml.cpp b/src/input/input_ebml.cpp index bcce5a77..958c1222 100644 --- a/src/input/input_ebml.cpp +++ b/src/input/input_ebml.cpp @@ -19,26 +19,26 @@ namespace Mist{ capa["always_match"].append("mkv-exec:*"); capa["source_file"] = "$source"; capa["priority"] = 9; - capa["codecs"].append("H264"); - capa["codecs"].append("HEVC"); - capa["codecs"].append("VP8"); - capa["codecs"].append("VP9"); - capa["codecs"].append("AV1"); - capa["codecs"].append("opus"); - capa["codecs"].append("vorbis"); - capa["codecs"].append("theora"); - capa["codecs"].append("AAC"); - capa["codecs"].append("PCM"); - capa["codecs"].append("ALAW"); - capa["codecs"].append("ULAW"); - capa["codecs"].append("MP2"); - capa["codecs"].append("MPEG2"); - capa["codecs"].append("MP3"); - capa["codecs"].append("AC3"); - capa["codecs"].append("FLOAT"); - capa["codecs"].append("DTS"); - capa["codecs"].append("JSON"); - capa["codecs"].append("subtitle"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("HEVC"); + capa["codecs"]["video"].append("VP8"); + capa["codecs"]["video"].append("VP9"); + capa["codecs"]["video"].append("AV1"); + capa["codecs"]["video"].append("theora"); + capa["codecs"]["video"].append("MPEG2"); + capa["codecs"]["audio"].append("opus"); + capa["codecs"]["audio"].append("vorbis"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("PCM"); + capa["codecs"]["audio"].append("ALAW"); + capa["codecs"]["audio"].append("ULAW"); + capa["codecs"]["audio"].append("MP2"); + capa["codecs"]["audio"].append("MP3"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("FLOAT"); + capa["codecs"]["audio"].append("DTS"); + capa["codecs"]["metadata"].append("JSON"); + capa["codecs"]["subtitle"].append("subtitle"); lastClusterBPos = 0; lastClusterTime = 0; bufferedPacks = 0; diff --git a/src/input/input_flv.cpp b/src/input/input_flv.cpp index d7399c23..82565119 100644 --- a/src/input/input_flv.cpp +++ b/src/input/input_flv.cpp @@ -21,11 +21,11 @@ namespace Mist{ capa["source_match"] = "/*.flv"; capa["source_file"] = "$source"; capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("H263"); - capa["codecs"][0u][0u].append("VP6"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("MP3"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("H263"); + capa["codecs"]["video"].append("VP6"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("MP3"); } inputFLV::~inputFLV(){} diff --git a/src/input/input_h264.cpp b/src/input/input_h264.cpp index b9c72e47..f374c84f 100644 --- a/src/input/input_h264.cpp +++ b/src/input/input_h264.cpp @@ -11,7 +11,7 @@ namespace Mist{ // May be set to always-on mode capa["always_match"].append("h264-exec:*"); capa["priority"] = 0; - capa["codecs"][0u][0u].append("H264"); + capa["codecs"]["video"].append("H264"); frameCount = 0; startTime = Util::bootMS(); inputProcess = 0; diff --git a/src/input/input_hls.cpp b/src/input/input_hls.cpp index e51a951d..dc999eb4 100644 --- a/src/input/input_hls.cpp +++ b/src/input/input_hls.cpp @@ -592,10 +592,10 @@ namespace Mist{ capa["always_match"] = capa["source_match"]; capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("AC3"); - capa["codecs"][0u][1u].append("MP3"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("MP3"); inFile = NULL; } diff --git a/src/input/input_ismv.cpp b/src/input/input_ismv.cpp index 4e5a5cfa..71084955 100644 --- a/src/input/input_ismv.cpp +++ b/src/input/input_ismv.cpp @@ -16,8 +16,8 @@ namespace Mist{ capa["desc"] = "This input allows you to stream ISMV Video on Demand files."; capa["source_match"] = "/*.ismv"; capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][1u].append("AAC"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["audio"].append("AAC"); inFile = 0; } diff --git a/src/input/input_mp3.cpp b/src/input/input_mp3.cpp index 6bc656dd..4d757217 100644 --- a/src/input/input_mp3.cpp +++ b/src/input/input_mp3.cpp @@ -19,7 +19,7 @@ namespace Mist{ capa["source_match"] = "/*.mp3"; capa["source_file"] = "$source"; capa["priority"] = 9; - capa["codecs"][0u][0u].append("MP3"); + capa["codecs"]["audio"].append("MP3"); timestamp = 0; } diff --git a/src/input/input_mp4.cpp b/src/input/input_mp4.cpp index f85911fb..5becc8c9 100644 --- a/src/input/input_mp4.cpp +++ b/src/input/input_mp4.cpp @@ -169,13 +169,13 @@ namespace Mist{ capa["source_match"].append("mp4:*"); capa["source_file"] = "$source"; capa["priority"] = 9; - capa["codecs"][0u][0u].append("HEVC"); - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("H263"); - capa["codecs"][0u][0u].append("VP6"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("AC3"); - capa["codecs"][0u][1u].append("MP3"); + capa["codecs"]["video"].append("HEVC"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("H263"); + capa["codecs"]["video"].append("VP6"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("MP3"); readPos = 0; } diff --git a/src/input/input_ogg.cpp b/src/input/input_ogg.cpp index 7e262138..62380bf0 100644 --- a/src/input/input_ogg.cpp +++ b/src/input/input_ogg.cpp @@ -38,9 +38,9 @@ namespace Mist{ capa["desc"] = "This input allows streaming of OGG files as Video on Demand."; capa["source_match"] = "/*.ogg"; capa["source_file"] = "$source"; - capa["codecs"][0u][0u].append("theora"); - capa["codecs"][0u][1u].append("vorbis"); - capa["codecs"][0u][1u].append("opus"); + capa["codecs"]["video"].append("theora"); + capa["codecs"]["audio"].append("vorbis"); + capa["codecs"]["audio"].append("opus"); } bool inputOGG::checkArguments(){ diff --git a/src/input/input_rtsp.cpp b/src/input/input_rtsp.cpp index 25be6e23..59b25e1f 100644 --- a/src/input/input_rtsp.cpp +++ b/src/input/input_rtsp.cpp @@ -42,19 +42,19 @@ namespace Mist{ // These can/may be set to always-on mode capa["always_match"].append("rtsp://*"); capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("HEVC"); - capa["codecs"][0u][0u].append("MPEG2"); - capa["codecs"][0u][0u].append("VP8"); - capa["codecs"][0u][0u].append("VP9"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("MP3"); - capa["codecs"][0u][1u].append("AC3"); - capa["codecs"][0u][1u].append("ALAW"); - capa["codecs"][0u][1u].append("ULAW"); - capa["codecs"][0u][1u].append("PCM"); - capa["codecs"][0u][1u].append("opus"); - capa["codecs"][0u][1u].append("MP2"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("HEVC"); + capa["codecs"]["video"].append("MPEG2"); + capa["codecs"]["video"].append("VP8"); + capa["codecs"]["video"].append("VP9"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("MP3"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("ALAW"); + capa["codecs"]["audio"].append("ULAW"); + capa["codecs"]["audio"].append("PCM"); + capa["codecs"]["audio"].append("opus"); + capa["codecs"]["audio"].append("MP2"); JSON::Value option; option["arg"] = "integer"; diff --git a/src/input/input_sdp.cpp b/src/input/input_sdp.cpp index 0b8ddeb5..0072cbeb 100644 --- a/src/input/input_sdp.cpp +++ b/src/input/input_sdp.cpp @@ -41,19 +41,19 @@ namespace Mist{ capa["source_match"].append("*.sdp"); capa["always_match"].append("*.sdp"); capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("HEVC"); - capa["codecs"][0u][0u].append("MPEG2"); - capa["codecs"][0u][0u].append("VP8"); - capa["codecs"][0u][0u].append("VP9"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("MP3"); - capa["codecs"][0u][1u].append("AC3"); - capa["codecs"][0u][1u].append("ALAW"); - capa["codecs"][0u][1u].append("ULAW"); - capa["codecs"][0u][1u].append("PCM"); - capa["codecs"][0u][1u].append("opus"); - capa["codecs"][0u][1u].append("MP2"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("HEVC"); + capa["codecs"]["video"].append("MPEG2"); + capa["codecs"]["video"].append("VP8"); + capa["codecs"]["video"].append("VP9"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("MP3"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("ALAW"); + capa["codecs"]["audio"].append("ULAW"); + capa["codecs"]["audio"].append("PCM"); + capa["codecs"]["audio"].append("opus"); + capa["codecs"]["audio"].append("MP2"); JSON::Value option; option["arg"] = "integer"; diff --git a/src/input/input_srt.cpp b/src/input/input_srt.cpp index b89fa32e..22c1c3ee 100644 --- a/src/input/input_srt.cpp +++ b/src/input/input_srt.cpp @@ -10,7 +10,7 @@ namespace Mist{ capa["source_match"].append("/*.srt"); capa["source_match"].append("/*.vtt"); capa["priority"] = 9; - capa["codecs"][0u][0u].append("subtitle"); + capa["codecs"]["subtitle"].append("subtitle"); } bool InputSrt::preRun(){ diff --git a/src/input/input_ts.cpp b/src/input/input_ts.cpp index e405e3b6..3bb02806 100644 --- a/src/input/input_ts.cpp +++ b/src/input/input_ts.cpp @@ -191,14 +191,14 @@ namespace Mist{ capa["incoming_push_url"] = "udp://$host:$port"; capa["incoming_push_url_match"] = "tsudp://*"; capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("HEVC"); - capa["codecs"][0u][0u].append("MPEG2"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("AC3"); - capa["codecs"][0u][1u].append("MP2"); - capa["codecs"][0u][1u].append("opus"); - capa["codecs"][1u][0u].append("rawts"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("HEVC"); + capa["codecs"]["video"].append("MPEG2"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("MP2"); + capa["codecs"]["audio"].append("opus"); + capa["codecs"]["passthrough"].append("rawts"); inFile = NULL; inputProcess = 0; isFinished = false; diff --git a/src/input/input_tsrist.cpp b/src/input/input_tsrist.cpp index df658da1..33f1155e 100644 --- a/src/input/input_tsrist.cpp +++ b/src/input/input_tsrist.cpp @@ -92,15 +92,15 @@ namespace Mist{ // These can/may be set to always-on mode capa["always_match"].append("rist://*"); capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("HEVC"); - capa["codecs"][0u][0u].append("MPEG2"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("MP3"); - capa["codecs"][0u][1u].append("AC3"); - capa["codecs"][0u][1u].append("MP2"); - capa["codecs"][0u][1u].append("opus"); - capa["codecs"][1u][0u].append("rawts"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("HEVC"); + capa["codecs"]["video"].append("MPEG2"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("MP3"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("MP2"); + capa["codecs"]["audio"].append("opus"); + capa["codecs"]["passthrough"].append("rawts"); JSON::Value option; option["arg"] = "integer"; diff --git a/src/input/input_tssrt.cpp b/src/input/input_tssrt.cpp index 8fef6d7d..28342930 100644 --- a/src/input/input_tssrt.cpp +++ b/src/input/input_tssrt.cpp @@ -61,15 +61,15 @@ namespace Mist{ capa["incoming_push_url"] = "srt://$host:$port"; capa["incoming_push_url_match"] = "srt://*"; capa["priority"] = 9; - capa["codecs"][0u][0u].append("H264"); - capa["codecs"][0u][0u].append("HEVC"); - capa["codecs"][0u][0u].append("MPEG2"); - capa["codecs"][0u][1u].append("AAC"); - capa["codecs"][0u][1u].append("MP3"); - capa["codecs"][0u][1u].append("AC3"); - capa["codecs"][0u][1u].append("MP2"); - capa["codecs"][0u][1u].append("opus"); - capa["codecs"][1u][0u].append("rawts"); + capa["codecs"]["video"].append("H264"); + capa["codecs"]["video"].append("HEVC"); + capa["codecs"]["video"].append("MPEG2"); + capa["codecs"]["audio"].append("AAC"); + capa["codecs"]["audio"].append("MP3"); + capa["codecs"]["audio"].append("AC3"); + capa["codecs"]["audio"].append("MP2"); + capa["codecs"]["audio"].append("opus"); + capa["codecs"]["passthrough"].append("rawts"); JSON::Value option; option["arg"] = "integer";