From 5793a99d3dd984daaa5b0531050d0b7d17b01761 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 10 Nov 2007 13:40:51 +0100 Subject: [PATCH] Fixed assembling PS1 packets in cTS2PES::instant_repack() --- CONTRIBUTORS | 1 + HISTORY | 5 +++++ config.h | 10 +++++----- remux.c | 6 +++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index e49400a4..5eeff57d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1149,6 +1149,7 @@ Reinhard Nissl for adding a debug error message to cReceiver::~cReceiver() in case it is still attached to a device for reporting a missing SetVolumeDevice() call in cDevice::SetPrimaryDevice() + for fixing assembling PS1 packets in cTS2PES::instant_repack() Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index 6984bbd4..7de45ab3 100644 --- a/HISTORY +++ b/HISTORY @@ -5518,3 +5518,8 @@ Video Disk Recorder Revision History Kirchgatterer). - Fixed decoding filename characters in case there are not two hex digits after the '#' (reported by Helmut Auer). + +2007-11-10: Version 1.5.12 + +- Fixed assembling PS1 packets in cTS2PES::instant_repack() (thanks to Reinhard + Nissl). diff --git a/config.h b/config.h index 02f1b53d..9ecda277 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.300 2007/10/17 18:34:17 kls Exp $ + * $Id: config.h 1.301 2007/11/10 13:38:19 kls Exp $ */ #ifndef __CONFIG_H @@ -22,13 +22,13 @@ // VDR's own version number: -#define VDRVERSION "1.5.11" -#define VDRVERSNUM 10511 // Version * 10000 + Major * 100 + Minor +#define VDRVERSION "1.5.12" +#define VDRVERSNUM 10512 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: -#define APIVERSION "1.5.11" -#define APIVERSNUM 10511 // Version * 10000 + Major * 100 + Minor +#define APIVERSION "1.5.12" +#define APIVERSNUM 10512 // Version * 10000 + Major * 100 + Minor // When loading plugins, VDR searches them by their APIVERSION, which // may be smaller than VDRVERSION in case there have been no changes to diff --git a/remux.c b/remux.c index 2fc11310..a658e194 100644 --- a/remux.c +++ b/remux.c @@ -11,7 +11,7 @@ * The cRepacker family's code was originally written by Reinhard Nissl , * and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de. * - * $Id: remux.c 1.60 2007/11/03 14:36:07 kls Exp $ + * $Id: remux.c 1.61 2007/11/10 13:36:47 kls Exp $ */ #include "remux.h" @@ -1750,13 +1750,13 @@ void cTS2PES::instant_repack(const uint8_t *Buf, int Count) case VIDEO_STREAM_S ... VIDEO_STREAM_E: case PRIVATE_STREAM1: - if (mpeg == 2 && found == 9) { + if (mpeg == 2 && found == 9 && count < found) { // make sure to not write the data twice by looking at count write_ipack(&flag1, 1); write_ipack(&flag2, 1); write_ipack(&hlength, 1); } - if (mpeg == 1 && found == mpeg1_required) { + if (mpeg == 1 && found == mpeg1_required && count < found) { // make sure to not write the data twice by looking at count write_ipack(&flag1, 1); if (mpeg1_required > 7) { write_ipack(&flag2, 1);