No longer adding section filters to the list of filters if they can't be opened

This commit is contained in:
Klaus Schmidinger 2004-07-17 14:22:42 +02:00
parent a7a2bc6b06
commit 8d0a800391
3 changed files with 13 additions and 5 deletions

View File

@ -1027,6 +1027,8 @@ Marco Schl
for fixing handling colors in cDvbSpuPalette::yuv2rgb()
for fixing setting lnb voltage if the frontend is not DVB-S
for fixing missing audio after replaying a DVD
for pointing out that it is unnecessary to add section filters to the list of
filters if they can't be opened
Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP

View File

@ -2947,3 +2947,5 @@ Video Disk Recorder Revision History
Alfred Zastrow for reporting this one).
- Fixed checking the last area for misalignment in cOsd::CanHandleAreas() (thanks
to Reinhard Nissl for reporting this one).
- No longer adding section filters to the list of filters if they can't be opened
(thanks to Marco Schlüßler for pointing this out).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: sections.c 1.5 2004/02/07 15:51:57 kls Exp $
* $Id: sections.c 1.6 2004/07/17 14:17:07 kls Exp $
*/
#include "sections.h"
@ -85,11 +85,15 @@ void cSectionHandler::Add(const cFilterData *FilterData)
break;
}
if (!fh) {
fh = new cFilterHandle(*FilterData);
filterHandles.Add(fh);
fh->handle = device->OpenFilter(FilterData->pid, FilterData->tid, FilterData->mask);
int handle = device->OpenFilter(FilterData->pid, FilterData->tid, FilterData->mask);
if (handle >= 0) {
fh = new cFilterHandle(*FilterData);
fh->handle = handle;
filterHandles.Add(fh);
}
}
fh->used++;
if (fh)
fh->used++;
Unlock();
}