Improved blacklisting/whitelisting code + MP3 in MP4 output blacklist for Trident browsers under Windows 7 and lower
This commit is contained in:
parent
5154f88de3
commit
4fcae749da
2 changed files with 13 additions and 2 deletions
|
@ -377,17 +377,27 @@ bool Util::checkException(const JSON::Value & ex, const std::string & useragent)
|
|||
bool ret = true;
|
||||
jsonForEachConst(ex, e){
|
||||
if (!e->isArray() || !e->size()){continue;}
|
||||
bool setTo = ((*e)[0u].asStringRef() == "whitelist");
|
||||
bool setTo = false;
|
||||
bool except = false;
|
||||
//whitelist makes the return value true if any value is contained in the UA, blacklist makes it false.
|
||||
//the '_except' variants do so only if none of the values are contained in the UA.
|
||||
if ((*e)[0u].asStringRef() == "whitelist"){setTo = true; except = false;}
|
||||
if ((*e)[0u].asStringRef() == "whitelist_except"){setTo = true; except = true;}
|
||||
if ((*e)[0u].asStringRef() == "blacklist"){setTo = false; except = false;}
|
||||
if ((*e)[0u].asStringRef() == "blacklist_except"){setTo = false; except = true;}
|
||||
if (e->size() == 1){
|
||||
ret = setTo;
|
||||
continue;
|
||||
}
|
||||
if (!(*e)[1].isArray()){continue;}
|
||||
bool match = false;
|
||||
jsonForEachConst((*e)[1u], i){
|
||||
if (useragent.find(i->asStringRef()) != std::string::npos){
|
||||
ret = setTo;
|
||||
match = true;
|
||||
}
|
||||
}
|
||||
//set the (temp) return value if this was either a match in regular mode, or a non-match in except-mode.
|
||||
if (except != match){ret = setTo;}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ namespace Mist {
|
|||
capa["methods"][0u]["type"] = "html5/video/mp4";
|
||||
capa["methods"][0u]["priority"] = 10;
|
||||
capa["methods"][0u]["nolive"] = 1;
|
||||
capa["exceptions"]["codec:MP3"] = JSON::fromString("[[\"blacklist\",[\"Windows NT 5\", \"Windows NT 6.0\", \"Windows NT 6.1\"]],[\"whitelist_except\",[\"Trident\"]]]");
|
||||
}
|
||||
uint64_t OutProgressiveMP4::estimateFileSize() {
|
||||
uint64_t retVal = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue