diff options
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | remux.c | 8 |
3 files changed, 8 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 32f1d6af..44798fa6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1191,6 +1191,7 @@ Reinhard Nissl <rnissl@gmx.de> 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 <richard_robson@beeb.net> for reporting freezing replay if a timer starts while in Transfer Mode from the @@ -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). @@ -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; |