Fixed memory/FD leak in MistOutRTMP.

This commit is contained in:
Thulinma 2015-02-03 18:44:59 +01:00
parent 1c09397336
commit 1e09acbb92
2 changed files with 2 additions and 3 deletions

View file

@ -121,14 +121,14 @@ namespace Mist {
char pageName[100]; char pageName[100];
sprintf(pageName, "liveStream_%s%d", streamName.c_str(), newTid); sprintf(pageName, "liveStream_%s%d", streamName.c_str(), newTid);
metaPages[newTid].init(pageName, DEFAULT_META_PAGE_SIZE); IPC::sharedPage metaPage(pageName, 8 * 1024 * 1024);
DTSC::Meta tmpMeta = meta_out; DTSC::Meta tmpMeta = meta_out;
tmpMeta.tracks.clear(); tmpMeta.tracks.clear();
tmpMeta.tracks[newTid] = meta_out.tracks[tid]; tmpMeta.tracks[newTid] = meta_out.tracks[tid];
tmpMeta.tracks[newTid].trackID = newTid; tmpMeta.tracks[newTid].trackID = newTid;
JSON::Value tmpVal = tmpMeta.toJSON(); JSON::Value tmpVal = tmpMeta.toJSON();
std::string tmpStr = tmpVal.toNetPacked(); std::string tmpStr = tmpVal.toNetPacked();
memcpy(metaPages[newTid].mapped, tmpStr.data(), tmpStr.size()); memcpy(metaPage.mapped, tmpStr.data(), tmpStr.size());
DEBUG_MSG(DLVL_VERYHIGH, "Temporary metadata written for incoming track %d, handling as track %d", tid, newTid); DEBUG_MSG(DLVL_VERYHIGH, "Temporary metadata written for incoming track %d, handling as track %d", tid, newTid);
unsigned short firstPage = 0xFFFF; unsigned short firstPage = 0xFFFF;

View file

@ -120,7 +120,6 @@ namespace Mist {
DTSC::Meta meta_out; DTSC::Meta meta_out;
std::deque<JSON::Value> preBuf; std::deque<JSON::Value> preBuf;
std::map<int,int> trackMap; std::map<int,int> trackMap;
std::map<int,IPC::sharedPage> metaPages;
std::map<int,DTSCPageData> bookKeeping; std::map<int,DTSCPageData> bookKeeping;
}; };