1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Changed the EIT filter setup to save a few handles on devices that do hardware filtering

This commit is contained in:
Klaus Schmidinger 2009-06-21 13:59:22 +02:00
parent e33ba08af4
commit 8a85d7cd31
2 changed files with 19 additions and 16 deletions

View File

@ -6142,3 +6142,5 @@ Video Disk Recorder Revision History
changed it in its setup menu (reported by Reinhard Nissl). changed it in its setup menu (reported by Reinhard Nissl).
- Fixed cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in case only part of the - Fixed cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in case only part of the
buffer has been accepted by the device (reported by Udo Richter). buffer has been accepted by the device (reported by Udo Richter).
- Changed the EIT filter setup to save a few handles on devices that do hardware
filtering.

9
eit.c
View File

@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>. * Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
* *
* $Id: eit.c 2.5 2009/05/15 12:34:43 kls Exp $ * $Id: eit.c 2.6 2009/06/21 13:46:20 kls Exp $
*/ */
#include "eit.h" #include "eit.h"
@ -322,9 +322,8 @@ cTDT::cTDT(const u_char *Data)
cEitFilter::cEitFilter(void) cEitFilter::cEitFilter(void)
{ {
Set(0x12, 0x4E, 0xFE); // event info, actual(0x4E)/other(0x4F) TS, present/following Set(0x12, 0x40, 0xC0); // event info now&next actual/other TS (0x4E/0x4F), future actual/other TS (0x5X/0x6X)
Set(0x12, 0x50, 0xF0); // event info, actual TS, schedule(0x50)/schedule for future days(0x5X) if (Setup.SetSystemTime && Setup.TimeTransponder)
Set(0x12, 0x60, 0xF0); // event info, other TS, schedule(0x60)/schedule for future days(0x6X)
Set(0x14, 0x70); // TDT Set(0x14, 0x70); // TDT
} }
@ -332,6 +331,7 @@ void cEitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
{ {
switch (Pid) { switch (Pid) {
case 0x12: { case 0x12: {
if (Tid >= 0x4E && Tid <= 0x6F) {
cSchedulesLock SchedulesLock(true, 10); cSchedulesLock SchedulesLock(true, 10);
cSchedules *Schedules = (cSchedules *)cSchedules::Schedules(SchedulesLock); cSchedules *Schedules = (cSchedules *)cSchedules::Schedules(SchedulesLock);
if (Schedules) if (Schedules)
@ -347,6 +347,7 @@ void cEitFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
cEIT EIT(Schedules, Source(), Tid, Data, true); cEIT EIT(Schedules, Source(), Tid, Data, true);
} }
} }
}
break; break;
case 0x14: { case 0x14: {
if (Setup.SetSystemTime && Setup.TimeTransponder && ISTRANSPONDER(Transponder(), Setup.TimeTransponder)) if (Setup.SetSystemTime && Setup.TimeTransponder && ISTRANSPONDER(Transponder(), Setup.TimeTransponder))