From c78e695badb759f0e48acf2c65ea7b85ebe447dd Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 19 Jul 2016 10:04:56 +0200 Subject: [PATCH] Various small fixes to SRT and JSON outputs --- src/output/output_json.cpp | 19 ++++++++++++------- src/output/output_srt.cpp | 11 +++++------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/output/output_json.cpp b/src/output/output_json.cpp index 6a430e02..a05f02ee 100644 --- a/src/output/output_json.cpp +++ b/src/output/output_json.cpp @@ -50,6 +50,12 @@ namespace Mist { void OutJSON::onHTTP(){ std::string method = H.method; + jsonp = ""; + if (H.GetVar("callback") != ""){jsonp = H.GetVar("callback");} + if (H.GetVar("jsonp") != ""){jsonp = H.GetVar("jsonp");} + if (H.GetVar("track") != ""){ + selectedTracks.insert(JSON::Value(H.GetVar("track")).asInt()); + } H.Clean(); H.setCORSHeaders(); @@ -62,18 +68,17 @@ namespace Mist { } first = true; - jsonp = ""; - if (H.GetVar("callback") != ""){jsonp = H.GetVar("callback");} - if (H.GetVar("jsonp") != ""){jsonp = H.GetVar("jsonp");} initialize(); - for (std::map::iterator it = myMeta.tracks.begin(); it != myMeta.tracks.end(); it++){ - if (it->second.type == "meta" ){ - selectedTracks.insert(it->first); + if (!selectedTracks.size()){ + for (std::map::iterator it = myMeta.tracks.begin(); it != myMeta.tracks.end(); it++){ + if (it->second.type == "meta" ){ + selectedTracks.insert(it->first); + } } } - seek(0); parseData = true; wantRequest = false; } } + diff --git a/src/output/output_srt.cpp b/src/output/output_srt.cpp index 31ba5e03..bfade273 100644 --- a/src/output/output_srt.cpp +++ b/src/output/output_srt.cpp @@ -57,7 +57,10 @@ namespace Mist { void OutProgressiveSRT::onHTTP(){ std::string method = H.method; - + std::string url = H.url; + if (H.GetVar("track") != ""){ + selectedTracks.insert(JSON::Value(H.GetVar("track")).asInt()); + } H.Clean(); H.setCORSHeaders(); if(method == "OPTIONS" || method == "HEAD"){ @@ -68,12 +71,8 @@ namespace Mist { return; } lastNum = 0; - webVTT = (H.url.find(".webvtt") != std::string::npos); - if (H.GetVar("track") != ""){ - selectedTracks.insert(JSON::Value(H.GetVar("track")).asInt()); - } parseData = true; wantRequest = false; } - } +