Added per-protocol default track sorting option

This commit is contained in:
Thulinma 2021-06-03 00:58:17 +02:00
parent 01f11dcfda
commit 6042c1ea70
4 changed files with 159 additions and 56 deletions

View file

@ -3,6 +3,7 @@
#include <mist/defines.h>
#include <mist/socket.h>
#include <mist/util.h>
#include <mist/stream.h>
int spawnForked(Socket::Connection &S){
mistOut tmp(S);
@ -27,6 +28,20 @@ int main(int argc, char *argv[]){
std::cout << mistOut::capa.toString() << std::endl;
return -1;
}
{
std::string defTrkSrt = conf.getString("default_track_sorting");
if (!defTrkSrt.size()){
//defTrkSrt = Util::getGlobalConfig("default_track_sorting").asString();
}
if (defTrkSrt.size()){
if (defTrkSrt == "bps_lth"){Util::defaultTrackSortOrder = Util::TRKSORT_BPS_LTH;}
if (defTrkSrt == "bps_htl"){Util::defaultTrackSortOrder = Util::TRKSORT_BPS_HTL;}
if (defTrkSrt == "id_lth"){Util::defaultTrackSortOrder = Util::TRKSORT_ID_LTH;}
if (defTrkSrt == "id_htl"){Util::defaultTrackSortOrder = Util::TRKSORT_ID_HTL;}
if (defTrkSrt == "res_lth"){Util::defaultTrackSortOrder = Util::TRKSORT_RES_LTH;}
if (defTrkSrt == "res_htl"){Util::defaultTrackSortOrder = Util::TRKSORT_RES_HTL;}
}
}
conf.activate();
if (mistOut::listenMode()){
{

View file

@ -45,6 +45,43 @@ namespace Mist{
option["help"] = "Do not start input if not already started";
option["value"].append(0);
cfg->addOption("noinput", option);
option.null();
capa["optional"]["default_track_sorting"]["name"] = "Default track sorting";
capa["optional"]["default_track_sorting"]["help"] = "What tracks are selected first when no specific track selector is used for playback.";
capa["optional"]["default_track_sorting"]["default"] = "";
capa["optional"]["default_track_sorting"]["type"] = "select";
capa["optional"]["default_track_sorting"]["option"] = "--default_track_sorting";
capa["optional"]["default_track_sorting"]["short"] = "S";
option.append("");
option.append("Default (last added for live, first added for VoD)");
capa["optional"]["default_track_sorting"]["select"].append(option);
option.null();
option.append("bps_lth");
option.append("Bit rate, low to high");
capa["optional"]["default_track_sorting"]["select"].append(option);
option.null();
option.append("bps_htl");
option.append("Bit rate, high to low");
capa["optional"]["default_track_sorting"]["select"].append(option);
option.null();
option.append("id_lth");
option.append("Track ID, low to high");
capa["optional"]["default_track_sorting"]["select"].append(option);
option.null();
option.append("id_htl");
option.append("Track ID, high to low");
capa["optional"]["default_track_sorting"]["select"].append(option);
option.null();
option.append("res_lth");
option.append("Resolution, low to high");
capa["optional"]["default_track_sorting"]["select"].append(option);
option.null();
option.append("res_htl");
option.append("Resolution, high to low");
capa["optional"]["default_track_sorting"]["select"].append(option);
config = cfg;
}