diff --git a/src/output/output_aac.cpp b/src/output/output_aac.cpp index 22508d2a..340482b0 100644 --- a/src/output/output_aac.cpp +++ b/src/output/output_aac.cpp @@ -14,6 +14,7 @@ namespace Mist{ capa["codecs"][0u][0u].append("AAC"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/audio/aac"; + capa["methods"][0u]["hrn"] = "AAC progressive"; capa["methods"][0u]["priority"] = 8; JSON::Value opt; diff --git a/src/output/output_cmaf.cpp b/src/output/output_cmaf.cpp index 8321a95c..fcf2af29 100644 --- a/src/output/output_cmaf.cpp +++ b/src/output/output_cmaf.cpp @@ -126,16 +126,19 @@ namespace Mist{ capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "dash/video/mp4"; + capa["methods"][0u]["hrn"] = "DASH"; capa["methods"][0u]["url_rel"] = "/cmaf/$/index.mpd"; capa["methods"][0u]["priority"] = 8; capa["methods"][1u]["handler"] = "http"; capa["methods"][1u]["type"] = "html5/application/vnd.apple.mpegurl;version=7"; + capa["methods"][1u]["hrn"] = "HLS (CMAF)"; capa["methods"][1u]["url_rel"] = "/cmaf/$/index.m3u8"; capa["methods"][1u]["priority"] = 8; capa["methods"][2u]["handler"] = "http"; capa["methods"][2u]["type"] = "html5/application/vnd.ms-sstr+xml"; + capa["methods"][2u]["hrn"] = "MS Smooth Streaming"; capa["methods"][2u]["url_rel"] = "/cmaf/$/Manifest"; capa["methods"][2u]["priority"] = 8; diff --git a/src/output/output_ebml.cpp b/src/output/output_ebml.cpp index 2c71eb2c..4c732e64 100644 --- a/src/output/output_ebml.cpp +++ b/src/output/output_ebml.cpp @@ -74,6 +74,7 @@ namespace Mist{ capa["codecs"][0u][2u].append("+JSON"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/video/webm"; + capa["methods"][0u]["hrn"] = "MKV progressive"; capa["methods"][0u]["priority"] = 9; // Browsers only support VP8/VP9/Opus codecs, except Chrome which is more lenient. JSON::Value blacklistNonChrome = JSON::fromString( diff --git a/src/output/output_flv.cpp b/src/output/output_flv.cpp index 0d4a51a8..33ba45cc 100644 --- a/src/output/output_flv.cpp +++ b/src/output/output_flv.cpp @@ -28,6 +28,7 @@ namespace Mist{ capa["codecs"][0u][1u].append("ULAW"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "flash/7"; + capa["methods"][0u]["hrn"] = "FLV progressive"; capa["methods"][0u]["priority"] = 5; capa["methods"][0u]["player_url"] = "/oldflashplayer.swf"; capa["push_urls"].append("/*.flv"); diff --git a/src/output/output_hds.cpp b/src/output/output_hds.cpp index d9401896..bb289100 100644 --- a/src/output/output_hds.cpp +++ b/src/output/output_hds.cpp @@ -175,6 +175,7 @@ namespace Mist{ capa["codecs"][0u][1u].append("ULAW"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "flash/11"; + capa["methods"][0u]["hrn"] = "Flash Dynamic (HDS)"; capa["methods"][0u]["priority"] = 6; capa["methods"][0u]["player_url"] = "/flashplayer.swf"; } diff --git a/src/output/output_hls.cpp b/src/output/output_hls.cpp index 8aea74c8..7e77dcd1 100644 --- a/src/output/output_hls.cpp +++ b/src/output/output_hls.cpp @@ -187,6 +187,7 @@ namespace Mist{ capa["codecs"][0u][6u].append("+subtitle"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/application/vnd.apple.mpegurl"; + capa["methods"][0u]["hrn"] = "HLS (TS)"; capa["methods"][0u]["priority"] = 9; // MP3 only works on Edge/Apple capa["exceptions"]["codec:MP3"] = JSON::fromString( diff --git a/src/output/output_http_internal.cpp b/src/output/output_http_internal.cpp index 6db95cba..1062ddd1 100644 --- a/src/output/output_http_internal.cpp +++ b/src/output/output_http_internal.cpp @@ -312,6 +312,7 @@ namespace Mist{ } JSON::Value tmp; tmp["type"] = (*it)["type"]; + if (it->isMember("hrn")){tmp["hrn"] = (*it)["hrn"];} tmp["relurl"] = relurl; tmp["priority"] = (*it)["priority"]; if ((*it).isMember("player_url")){ diff --git a/src/output/output_httpts.cpp b/src/output/output_httpts.cpp index 5848247a..6aab2b9b 100644 --- a/src/output/output_httpts.cpp +++ b/src/output/output_httpts.cpp @@ -137,6 +137,7 @@ namespace Mist{ capa["codecs"][0u][1u].append("+opus"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/video/mpeg"; + capa["methods"][0u]["hrn"] = "TS HTTP progressive"; capa["methods"][0u]["priority"] = 1; capa["push_urls"].append("/*.ts"); capa["push_urls"].append("ts-exec:*"); diff --git a/src/output/output_jpg.cpp b/src/output/output_jpg.cpp index a05440ca..9c685957 100644 --- a/src/output/output_jpg.cpp +++ b/src/output/output_jpg.cpp @@ -105,6 +105,7 @@ namespace Mist{ capa["codecs"][0u][0u].append("H264"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/image/jpeg"; + capa["methods"][0u]["hrn"] = "JPEG"; capa["methods"][0u]["priority"] = 0; capa["push_urls"].append("/*.jpg"); diff --git a/src/output/output_json.cpp b/src/output/output_json.cpp index 2737e7ce..4ead658f 100644 --- a/src/output/output_json.cpp +++ b/src/output/output_json.cpp @@ -22,10 +22,12 @@ namespace Mist{ capa["codecs"][0u][0u].append("@+meta"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/text/javascript"; + capa["methods"][0u]["hrn"] = "JSON progressive"; capa["methods"][0u]["priority"] = 0; capa["methods"][0u]["url_rel"] = "/$.json"; capa["methods"][1u]["handler"] = "ws"; capa["methods"][1u]["type"] = "html5/text/javascript"; + capa["methods"][1u]["hrn"] = "JSON WebSocket"; capa["methods"][1u]["priority"] = 0; capa["methods"][1u]["url_rel"] = "/$.json"; } diff --git a/src/output/output_mp3.cpp b/src/output/output_mp3.cpp index 067d97dd..541ea4f4 100644 --- a/src/output/output_mp3.cpp +++ b/src/output/output_mp3.cpp @@ -13,6 +13,7 @@ namespace Mist{ capa["codecs"][0u][0u].append("MP3"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/audio/mp3"; + capa["methods"][0u]["hrn"] = "MP3 progressive"; capa["methods"][0u]["priority"] = 8; JSON::Value opt; diff --git a/src/output/output_mp4.cpp b/src/output/output_mp4.cpp index 22806a70..d1f9ebbe 100644 --- a/src/output/output_mp4.cpp +++ b/src/output/output_mp4.cpp @@ -134,10 +134,12 @@ namespace Mist{ jsonForEach(capa["codecs"][0u][1u], i){supportedAudio.insert(i->asStringRef());} capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/video/mp4"; + capa["methods"][0u]["hrn"] = "MP4 progressive"; capa["methods"][0u]["priority"] = 9; capa["methods"][0u]["url_rel"] = "/$.mp4"; capa["methods"][1u]["handler"] = "ws"; capa["methods"][1u]["type"] = "ws/video/mp4"; + capa["methods"][1u]["hrn"] = "MP4 WebSocket"; capa["methods"][1u]["priority"] = 10; capa["methods"][1u]["url_rel"] = "/$.mp4"; // MP4 live is broken on Apple diff --git a/src/output/output_ogg.cpp b/src/output/output_ogg.cpp index 15325b95..0fe9147a 100644 --- a/src/output/output_ogg.cpp +++ b/src/output/output_ogg.cpp @@ -22,6 +22,7 @@ namespace Mist{ capa["codecs"][0u][1u].append("opus"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/video/ogg"; + capa["methods"][0u]["hrn"] = "OGG progressive"; capa["methods"][0u]["priority"] = 8u; capa["methods"][0u]["nolive"] = 1; } diff --git a/src/output/output_rtmp.cpp b/src/output/output_rtmp.cpp index f63fce72..0c9efcdc 100644 --- a/src/output/output_rtmp.cpp +++ b/src/output/output_rtmp.cpp @@ -219,6 +219,7 @@ namespace Mist{ capa["codecs"][0u][1u].append("ULAW"); capa["methods"][0u]["handler"] = "rtmp"; capa["methods"][0u]["type"] = "flash/10"; + capa["methods"][0u]["hrn"] = "RTMP"; capa["methods"][0u]["priority"] = 7; capa["methods"][0u]["player_url"] = "/flashplayer.swf"; capa["optional"]["acceptable"]["name"] = "Acceptable connection types"; diff --git a/src/output/output_rtsp.cpp b/src/output/output_rtsp.cpp index c4b235cc..c9d233e1 100644 --- a/src/output/output_rtsp.cpp +++ b/src/output/output_rtsp.cpp @@ -104,6 +104,7 @@ namespace Mist{ capa["methods"][0u]["handler"] = "rtsp"; capa["methods"][0u]["type"] = "rtsp"; + capa["methods"][0u]["hrn"] = "RTSP"; capa["methods"][0u]["priority"] = 2; capa["optional"]["maxsend"]["name"] = "Max RTP packet size"; diff --git a/src/output/output_srt.cpp b/src/output/output_srt.cpp index c9ef92d9..e20456b2 100644 --- a/src/output/output_srt.cpp +++ b/src/output/output_srt.cpp @@ -19,10 +19,12 @@ namespace Mist{ capa["codecs"][0u][0u].append("subtitle"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/text/plain"; + capa["methods"][0u]["hrn"] = "SRT subtitle progressive"; capa["methods"][0u]["priority"] = 8; capa["methods"][0u]["url_rel"] = "/$.srt"; capa["methods"][1u]["handler"] = "http"; capa["methods"][1u]["type"] = "html5/text/vtt"; + capa["methods"][1u]["hrn"] = "WebVTT subtitle progressive"; capa["methods"][1u]["priority"] = 9; capa["methods"][1u]["url_rel"] = "/$.webvtt"; } diff --git a/src/output/output_wav.cpp b/src/output/output_wav.cpp index 93245fd3..f1bbf899 100644 --- a/src/output/output_wav.cpp +++ b/src/output/output_wav.cpp @@ -19,6 +19,7 @@ namespace Mist{ capa["codecs"][0u][0u].append("FLOAT"); capa["methods"][0u]["handler"] = "http"; capa["methods"][0u]["type"] = "html5/audio/wav"; + capa["methods"][0u]["hrn"] = "WAV progressive"; capa["methods"][0u]["priority"] = 1; capa["push_urls"].append("/*.wav"); diff --git a/src/output/output_webrtc.cpp b/src/output/output_webrtc.cpp index 980efadd..b4289b64 100644 --- a/src/output/output_webrtc.cpp +++ b/src/output/output_webrtc.cpp @@ -174,6 +174,7 @@ namespace Mist{ capa["codecs"][0u][1u].append("ULAW"); capa["methods"][0u]["handler"] = "ws"; capa["methods"][0u]["type"] = "webrtc"; + capa["methods"][0u]["hrn"] = "WebRTC"; capa["methods"][0u]["priority"] = 2; capa["methods"][0u]["nobframes"] = 1;