Fixed faulty calculation of section length

This commit is contained in:
Klaus Schmidinger 2003-04-27 14:46:14 +02:00
parent 3874eab49b
commit a804b990fe
3 changed files with 5 additions and 3 deletions

View File

@ -551,11 +551,12 @@ Walter Stroebel <walter.stroebel@lifeline.nl>
Paul Gohn <pgohn@nexgo.de> Paul Gohn <pgohn@nexgo.de>
for adding 'Hrvatska radiotelevizija' and 'RTV Slovenija' to ca.conf for adding 'Hrvatska radiotelevizija' and 'RTV Slovenija' to ca.conf
Teemu Rantanen <tvr@iki.fi> Teemu Rantanen <teemu.rantanen@tekla.com>
for increased the maximum possible packet size in remux.c to avoid corrupted streams for increased the maximum possible packet size in remux.c to avoid corrupted streams
with broadcasters that send extremely large PES packets with broadcasters that send extremely large PES packets
for adding TS error checking to remux.c for adding TS error checking to remux.c
for pinpointing a problem with excessive memmove() calls in 'Transfer Mode' for pinpointing a problem with excessive memmove() calls in 'Transfer Mode'
for fixing faulty calculation of section length in eit.c
Jan Ekholm <chakie@infa.abo.fi> Jan Ekholm <chakie@infa.abo.fi>
for adding/improving some Swedish language OSD texts for adding/improving some Swedish language OSD texts

View File

@ -2083,3 +2083,4 @@ Video Disk Recorder Revision History
- Reduced the time to wait for EPG data when starting a recording to 3 seconds. - Reduced the time to wait for EPG data when starting a recording to 3 seconds.
- The new SVDRP command STAT can be used to request information about the disk - The new SVDRP command STAT can be used to request information about the disk
usage (thanks to Thomas Koch). usage (thanks to Thomas Koch).
- Fixed faulty calculation of section length in eit.c (thanks to Teemu Rantanen).

4
eit.c
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: eit.c 1.73 2003/04/25 14:45:32 kls Exp $ * $Id: eit.c 1.74 2003/04/27 14:41:36 kls Exp $
***************************************************************************/ ***************************************************************************/
#include "eit.h" #include "eit.h"
@ -1232,7 +1232,7 @@ void cSIProcessor::Action()
int r = safe_read(filters[a].handle, buf, sizeof(buf)); int r = safe_read(filters[a].handle, buf, sizeof(buf));
if (r > 3) // minimum number of bytes necessary to get section length if (r > 3) // minimum number of bytes necessary to get section length
{ {
int seclen = ((buf[1] & 0x0F) << 8) | (buf[2] & 0xFF) + 3; int seclen = (((buf[1] & 0x0F) << 8) | (buf[2] & 0xFF)) + 3;
int pid = filters[a].pid; int pid = filters[a].pid;
if (seclen == r) if (seclen == r)
{ {