From 1e09acbb9251361a37d099b35cf4026ba75b6e2c Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 3 Feb 2015 18:44:59 +0100 Subject: [PATCH] Fixed memory/FD leak in MistOutRTMP. --- src/output/output.cpp | 4 ++-- src/output/output.h | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/output/output.cpp b/src/output/output.cpp index 1b686c75..f0402f53 100644 --- a/src/output/output.cpp +++ b/src/output/output.cpp @@ -121,14 +121,14 @@ namespace Mist { char pageName[100]; 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; tmpMeta.tracks.clear(); tmpMeta.tracks[newTid] = meta_out.tracks[tid]; tmpMeta.tracks[newTid].trackID = newTid; JSON::Value tmpVal = tmpMeta.toJSON(); 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); unsigned short firstPage = 0xFFFF; diff --git a/src/output/output.h b/src/output/output.h index 2e3c96b9..7d3d8fbd 100644 --- a/src/output/output.h +++ b/src/output/output.h @@ -120,7 +120,6 @@ namespace Mist { DTSC::Meta meta_out; std::deque preBuf; std::map trackMap; - std::map metaPages; std::map bookKeeping; };