Added Content-Length HTTP bug workaround for VLC versions < 2.2.0
This commit is contained in:
parent
32dfc25ee9
commit
44c0227064
3 changed files with 13 additions and 2 deletions
|
@ -247,6 +247,14 @@ namespace Mist {
|
||||||
|
|
||||||
void OutHLS::onHTTP(){
|
void OutHLS::onHTTP(){
|
||||||
AppleCompat = (H.GetHeader("User-Agent").find("Apple") != std::string::npos);
|
AppleCompat = (H.GetHeader("User-Agent").find("Apple") != std::string::npos);
|
||||||
|
VLCworkaround = false;
|
||||||
|
if (H.GetHeader("User-Agent").substr(0, 3) == "VLC"){
|
||||||
|
std::string vlcver = H.GetHeader("User-Agent").substr(4);
|
||||||
|
if (vlcver[0] == '0' || vlcver[0] == '1' || (vlcver[0] == '2' && vlcver[2] < '2')){
|
||||||
|
DEBUG_MSG(DLVL_INFO, "Enabling VLC version < 2.2.0 bug workaround.");
|
||||||
|
VLCworkaround = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
initialize();
|
initialize();
|
||||||
if (H.url.find(".m3u") == std::string::npos){
|
if (H.url.find(".m3u") == std::string::npos){
|
||||||
std::string tmpStr = H.getUrl().substr(5+streamName.size());
|
std::string tmpStr = H.getUrl().substr(5+streamName.size());
|
||||||
|
@ -299,7 +307,7 @@ namespace Mist {
|
||||||
lastVid = from * 90;
|
lastVid = from * 90;
|
||||||
|
|
||||||
H.SetHeader("Content-Type", "video/mp2t");
|
H.SetHeader("Content-Type", "video/mp2t");
|
||||||
H.StartResponse(H, myConn);
|
H.StartResponse(H, myConn, VLCworkaround);
|
||||||
PacketNumber = 0;
|
PacketNumber = 0;
|
||||||
parseData = true;
|
parseData = true;
|
||||||
wantRequest = false;
|
wantRequest = false;
|
||||||
|
|
|
@ -26,6 +26,7 @@ namespace Mist {
|
||||||
char AudioCounter;
|
char AudioCounter;
|
||||||
MP4::AVCC avccbox;
|
MP4::AVCC avccbox;
|
||||||
bool AppleCompat;
|
bool AppleCompat;
|
||||||
|
bool VLCworkaround;
|
||||||
long long unsigned int lastVid;
|
long long unsigned int lastVid;
|
||||||
long long unsigned int until;
|
long long unsigned int until;
|
||||||
unsigned int vidTrack;
|
unsigned int vidTrack;
|
||||||
|
|
|
@ -214,7 +214,9 @@ namespace Mist {
|
||||||
}
|
}
|
||||||
selectDefaultTracks();
|
selectDefaultTracks();
|
||||||
onHTTP();
|
onHTTP();
|
||||||
H.Clean();
|
if (!H.bufferChunks){
|
||||||
|
H.Clean();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue