diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 32f1d6af..44798fa6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1191,6 +1191,7 @@ Reinhard Nissl 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 + for fixing returning complete PES packets in cTsToPes::GetPes() Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index a14dff9a..7c610ad5 100644 --- a/HISTORY +++ b/HISTORY @@ -5925,3 +5925,5 @@ Video Disk Recorder Revision History - Added a typecast in cUnbufferedFile::Write() to avoid an error message when compiling on 64 bit systems. - Added some missing 'const' statements to cBitmap (thanks to Andreas Regel). +- Fixed returning complete PES packets in cTsToPes::GetPes() (thanks to Reinhard + Nissl). diff --git a/remux.c b/remux.c index 840f5df7..efce4921 100644 --- a/remux.c +++ b/remux.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remux.c 2.5 2009/01/06 14:46:21 kls Exp $ + * $Id: remux.c 2.6 2009/01/16 14:43:15 kls Exp $ */ #include "remux.h" @@ -559,8 +559,10 @@ const uchar *cTsToPes::GetPes(int &Length) } else { Length = PesLength(data); - offset = Length; // to make sure we break out in case of garbage data - return data; + if (Length <= length) { + offset = Length; // to make sure we break out in case of garbage data + return data; + } } } return NULL;