Fixed cPatPmtParser::ParsePmt() to reset vpid and vtype when switching from a video to an audio channel

This commit is contained in:
Klaus Schmidinger 2009-01-06 14:47:53 +01:00
parent 7de7ede26f
commit f9a2758205
3 changed files with 6 additions and 1 deletions

View File

@ -1187,6 +1187,8 @@ Reinhard Nissl <rnissl@gmx.de>
for fixing handling the counter in detection of pre 1.3.19 PS data for fixing handling the counter in detection of pre 1.3.19 PS data
for adapting the tuning code to the new DVBFE_SET_DELSYS API for adapting the tuning code to the new DVBFE_SET_DELSYS API
for reporting the missing description of the 'S' channel parameter in vdr.5 for reporting the missing description of the 'S' channel parameter in vdr.5
for fixing cPatPmtParser::ParsePmt() to reset vpid and vtype when switching from
a video to an audio channel
Richard Robson <richard_robson@beeb.net> Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the for reporting freezing replay if a timer starts while in Transfer Mode from the

View File

@ -5906,3 +5906,5 @@ Video Disk Recorder Revision History
+ cDevice::StillPicture() will now be called with either TS or PES data. + cDevice::StillPicture() will now be called with either TS or PES data.
+ cDvbPlayer::Goto() no longer appends a "sequence end code" to the data. + cDvbPlayer::Goto() no longer appends a "sequence end code" to the data.
If the output device needs this, it has to take care of it by itself. If the output device needs this, it has to take care of it by itself.
- Fixed cPatPmtParser::ParsePmt() to reset vpid and vtype when switching from
a video to an audio channel (thanks to Reinhard Nissl).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: remux.c 2.4 2009/01/06 12:39:34 kls Exp $ * $Id: remux.c 2.5 2009/01/06 14:46:21 kls Exp $
*/ */
#include "remux.h" #include "remux.h"
@ -395,6 +395,7 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
int NumApids = 0; int NumApids = 0;
int NumDpids = 0; int NumDpids = 0;
int NumSpids = 0; int NumSpids = 0;
vpid = vtype = 0;
SI::PMT::Stream stream; SI::PMT::Stream stream;
for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) { for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid()); dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid());