summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2009-01-16 14:44:55 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2009-01-16 14:44:55 +0100
commit71dc09e788f3bc44d8feb7f6724d1ed6698c3acc (patch)
treec3b8245a19de9452353032af35a79839818795f4
parent329d7da4ecb00852a980ba407cf6cabd648d1e95 (diff)
downloadvdr-71dc09e788f3bc44d8feb7f6724d1ed6698c3acc.tar.gz
vdr-71dc09e788f3bc44d8feb7f6724d1ed6698c3acc.tar.bz2
Fixed returning complete PES packets in cTsToPes::GetPes()
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--remux.c8
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
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;