Fixed srt sideload

This commit is contained in:
Thulinma 2017-11-28 10:54:04 +01:00
parent f6f11af618
commit 92d0540cfe

View file

@ -139,14 +139,14 @@ namespace Mist {
myMeta.update(srtPack); myMeta.update(srtPack);
getNextSrt(); getNextSrt();
} }
srtSource.seekg (0, srtSource.beg);
srtSource.clear(); srtSource.clear();
srtSource.seekg (0, srtSource.beg);
} }
void Input::getNextSrt(bool smart){ void Input::getNextSrt(bool smart){
bool hasPacket = false; bool hasPacket = false;
thisPacket.null(); srtPack.null();
std::string line; std::string line;
uint32_t index = 0; uint32_t index = 0;
@ -206,8 +206,9 @@ namespace Mist {
} }
} }
srtPack.null(); if (!srtSource.eof()){
FAIL_MSG("Could not get next srt packet!"); FAIL_MSG("Could not get next subtitle packet");
}
} }
@ -598,12 +599,6 @@ namespace Mist {
if (!it2->second) { if (!it2->second) {
bufferRemove(it->first, it2->first); bufferRemove(it->first, it2->first);
pageCounter[it->first].erase(it2->first); pageCounter[it->first].erase(it2->first);
for (int i = 0; i < 8192; i += 8) {
unsigned int thisKeyNum = ntohl(((((long long int *)(nProxy.metaPages[it->first].mapped + i))[0]) >> 32) & 0xFFFFFFFF);
if (thisKeyNum == it2->first) {
(((long long int *)(nProxy.metaPages[it->first].mapped + i))[0]) = 0;
}
}
change = true; change = true;
break; break;
} }
@ -777,8 +772,9 @@ namespace Mist {
bool isSrt = (hasSrt && track == myMeta.tracks.rbegin()->first); bool isSrt = (hasSrt && track == myMeta.tracks.rbegin()->first);
if (isSrt){ if (isSrt){
srtTrack = track; srtTrack = track;
srtSource.seekg (0, srtSource.beg);
srtSource.clear(); srtSource.clear();
srtSource.seekg (0, srtSource.beg);
srtPack.null();
}else{ }else{
seek(myMeta.tracks[track].keys[keyNum - 1].getTime()); seek(myMeta.tracks[track].keys[keyNum - 1].getTime());
} }