fixed a memory leak in cStreamdevPatFilter::GetPid (thanks to lhanisch)

This commit is contained in:
schmirl 2010-02-20 23:02:10 +00:00
parent 2f027a6ffc
commit 8a128f7c57
3 changed files with 8 additions and 0 deletions

View File

@ -139,3 +139,6 @@ Valdemaras Pipiras
sk8ter sk8ter
for fixing failures when switching between two encrypted channels for fixing failures when switching between two encrypted channels
lhanisch
for fixing a memory leak in cStreamdevPatFilter::GetPid

View File

@ -1,6 +1,7 @@
VDR Plugin 'streamdev' Revision History 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 - length -1 is the correct value for streams in M3U playlists
- switching between two encrypted channels on the same transponder didn't - switching between two encrypted channels on the same transponder didn't
always work (thanks to sk8ter@vdrportal) always work (thanks to sk8ter@vdrportal)

View File

@ -174,14 +174,17 @@ int cStreamdevPatFilter::GetPid(SI::PMT::Stream& stream)
case SI::AC3DescriptorTag: case SI::AC3DescriptorTag:
Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n", Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n",
stream.getPid(), psStreamTypes[stream.getStreamType()], "AC3"); stream.getPid(), psStreamTypes[stream.getStreamType()], "AC3");
delete d;
return stream.getPid(); return stream.getPid();
case SI::TeletextDescriptorTag: case SI::TeletextDescriptorTag:
Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n", Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n",
stream.getPid(), psStreamTypes[stream.getStreamType()], "Teletext"); stream.getPid(), psStreamTypes[stream.getStreamType()], "Teletext");
delete d;
return stream.getPid(); return stream.getPid();
case SI::SubtitlingDescriptorTag: case SI::SubtitlingDescriptorTag:
Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n", Dprintf("cStreamdevPatFilter PMT scanner: adding PID %d (%s) %s\n",
stream.getPid(), psStreamTypes[stream.getStreamType()], "DVBSUB"); stream.getPid(), psStreamTypes[stream.getStreamType()], "DVBSUB");
delete d;
return stream.getPid(); return stream.getPid();
default: default:
Dprintf("cStreamdevPatFilter PMT scanner: NOT adding PID %d (%s) %s\n", Dprintf("cStreamdevPatFilter PMT scanner: NOT adding PID %d (%s) %s\n",
@ -214,6 +217,7 @@ int cStreamdevPatFilter::GetPid(SI::PMT::Stream& stream)
stream.getPid(), stream.getStreamType(), stream.getPid(), stream.getStreamType(),
d->getLength(), rawdata[2], rawdata[3], d->getLength(), rawdata[2], rawdata[3],
rawdata[4], rawdata[5]); rawdata[4], rawdata[5]);
delete d;
return stream.getPid(); return stream.getPid();
} }
} }