summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmirl <schmirl>2010-02-20 23:05:20 +0000
committerschmirl <schmirl>2010-02-20 23:05:20 +0000
commitfc99a72467ec2a284b4242dcf9dc90689a295a99 (patch)
treeac3ee2fb9a2d4a6ae2e47fd92a5603a88206f2f0
parentccbc738202f73dd0ca192e08494cd7938d4f666b (diff)
downloadvdr-plugin-streamdev-fc99a72467ec2a284b4242dcf9dc90689a295a99.tar.gz
vdr-plugin-streamdev-fc99a72467ec2a284b4242dcf9dc90689a295a99.tar.bz2
fixed a memory leak in cStreamdevPatFilter::GetPid (thanks to lhanisch)
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY1
-rw-r--r--server/livestreamer.c4
3 files changed, 8 insertions, 0 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 276c1cc..0bce176 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -117,3 +117,6 @@ Alwin Esch
BBlack
for reporting that updating recordings list on CmdPLAY is a bad idea
+
+lhanisch
+ for fixing a memory leak in cStreamdevPatFilter::GetPid
diff --git a/HISTORY b/HISTORY
index 8b4ac6e..7cfd08c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,7 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
+- fixed a memory leak in cStreamdevPatFilter::GetPid (thanks to lhanisch)
- length -1 is the correct value for streams in M3U playlists
- added DELT FORCE option to delete running timers (thanks to Alwin Esch)
- fixed missing virtual destructor for cTSRemux
diff --git a/server/livestreamer.c b/server/livestreamer.c
index 833c949..c894468 100644
--- a/server/livestreamer.c
+++ b/server/livestreamer.c
@@ -183,14 +183,17 @@ int cStreamdevPatFilter::GetPid(SI::PMT::Stream& stream)
case SI::AC3DescriptorTag:
Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n",
stream.getPid(), psStreamTypes[stream.getStreamType()], "AC3");
+ delete d;
return stream.getPid();
case SI::TeletextDescriptorTag:
Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n",
stream.getPid(), psStreamTypes[stream.getStreamType()], "Teletext");
+ delete d;
return stream.getPid();
case SI::SubtitlingDescriptorTag:
Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n",
stream.getPid(), psStreamTypes[stream.getStreamType()], "DVBSUB");
+ delete d;
return stream.getPid();
default:
Dprintf("cStreamdevPatFilter PMT scanner: NOT adding PID %d (%s) %s\n",
@@ -223,6 +226,7 @@ int cStreamdevPatFilter::GetPid(SI::PMT::Stream& stream)
stream.getPid(), stream.getStreamType(),
d->getLength(), rawdata[2], rawdata[3],
rawdata[4], rawdata[5]);
+ delete d;
return stream.getPid();
}
}