From 74e433e29801036847250f24d7b9e2d18145308f Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 22 Nov 2016 09:56:37 +0100 Subject: [PATCH 01/15] Fixed track autoselect to not be so prejudiced against MP3 --- src/output/output.cpp | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/output/output.cpp b/src/output/output.cpp index b52dc721..a65dd1da 100644 --- a/src/output/output.cpp +++ b/src/output/output.cpp @@ -248,14 +248,14 @@ namespace Mist{ break; } } - if (!found){ - for (std::map::iterator trit = myMeta.tracks.begin(); trit != myMeta.tracks.end(); trit++){ + } + if (!found){ + jsonForEach(*itb, itc){ + for (std::map::iterator trit = myMeta.tracks.begin(); trit != myMeta.tracks.end(); trit++){ if (trit->second.codec == (*itc).asStringRef() || (*itc).asStringRef() == "*"){ genCounter++; found = true; - if ((*itc).asStringRef() != "*"){ - break; - } + if ((*itc).asStringRef() != "*"){break;} } } } @@ -266,7 +266,7 @@ namespace Mist{ if (selCounter + genCounter > bestSoFarCount){ bestSoFarCount = selCounter + genCounter; bestSoFar = index; - HIGH_MSG("Match (%u/%u): %s", selCounter, selCounter+genCounter, (*it).toString().c_str()); + HIGH_MSG("Match (%u/%u): %s", selCounter, selCounter + genCounter, (*it).toString().c_str()); } }else{ VERYHIGH_MSG("Not a match for currently selected tracks: %s", (*it).toString().c_str()); @@ -282,23 +282,21 @@ namespace Mist{ if ((*itb).size() && myMeta.tracks.size()){ bool found = false; jsonForEach((*itb), itc){ - if (found){ - break; - } for (std::set::iterator itd = selectedTracks.begin(); itd != selectedTracks.end(); itd++){ if (myMeta.tracks[*itd].codec == (*itc).asStringRef()){ found = true; break; } } - if (!found){ - for (std::map::iterator trit = myMeta.tracks.begin(); trit != myMeta.tracks.end(); trit++){ + } + if (!found){ + jsonForEach((*itb), itc){ + if (found){break;} + for (std::map::iterator trit = myMeta.tracks.begin(); trit != myMeta.tracks.end(); trit++){ if (trit->second.codec == (*itc).asStringRef() || (*itc).asStringRef() == "*"){ selectedTracks.insert(trit->first); found = true; - if ((*itc).asStringRef() != "*"){ - break; - } + if ((*itc).asStringRef() != "*"){break;} } } } From 405195a979264074c56d0beecee4e83fa04c3750 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Mon, 21 Nov 2016 16:55:45 +0100 Subject: [PATCH 02/15] Fixed Connection: close header parsing in HLS --- src/output/output_hls.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/output/output_hls.cpp b/src/output/output_hls.cpp index cc06fb92..4bc571af 100644 --- a/src/output/output_hls.cpp +++ b/src/output/output_hls.cpp @@ -218,7 +218,6 @@ namespace Mist { } } - H.Clean(); H.SetHeader("Content-Type", "video/mp2t"); H.setCORSHeaders(); if(method == "OPTIONS" || method == "HEAD"){ From 109366e81c21a63c7f230cc4540f3913c162a70f Mon Sep 17 00:00:00 2001 From: Cat Date: Mon, 7 Nov 2016 15:37:09 +0100 Subject: [PATCH 03/15] LSP: show a hint where to push a stream when configuring stream source --- lsp/minified.js | 138 ++++++++++++++++++++++++------------------------ lsp/mist.js | 58 +++++++++++++++++++- 2 files changed, 126 insertions(+), 70 deletions(-) diff --git a/lsp/minified.js b/lsp/minified.js index 5e3a029c..b5c8e9b4 100644 --- a/lsp/minified.js +++ b/lsp/minified.js @@ -81,74 +81,76 @@ label:"Debug level",pointer:{main:mist.data.config,index:"debug"},help:"You can mist.stored.del("update");mist.send(function(){UI.navto("Overview")},{autoupdate:true})}})):e.text("Unknown")};if(!mist.stored.get().update||36E5<(new Date).getTime()-mist.stored.get().update.lastchecked){var p=mist.stored.get().update||{};p.lastchecked=(new Date).getTime();mist.send(function(a){mist.stored.set("update",$.extend(true,p,a.update));q()},{checkupdate:!0})}else q()}else e.text("");var f=function(){mist.send(function(){v()},{totals:{fields:["clients"],start:-10},active_streams:true})}, v=function(){l.text(("active_streams"in mist.data?mist.data.active_streams?mist.data.active_streams.length:0:"?")+" active, "+(mist.data.streams?Object.keys(mist.data.streams).length:0)+" configured");if("totals"in mist.data&&"all_streams"in mist.data.totals)var a=mist.data.totals.all_streams.all_protocols.clients,a=a.length?UI.format.number(a[a.length-1][1]):0;else a="Loading..";n.text(a);h.text(UI.format.dateTime(mist.data.config.time,"long"))};f();v();UI.interval.set(f,3E4);break;case "Protocols":if("undefined"== typeof mist.data.capabilities){mist.send(function(){UI.navto(a)},{capabilities:!0});c.append("Loading..");break}var g=$("");c.append(UI.buildUI([{type:"help",help:"You can find an overview of all the protocols and their relevant information here. You can add, edit or delete protocols."}])).append($("