Fixed the TS to PES repacker so that it works with MPEG1 streams

This commit is contained in:
Klaus Schmidinger 2003-08-06 14:52:50 +02:00
parent f8386cdd8b
commit b9a8abbe93
4 changed files with 13 additions and 5 deletions

View File

@ -550,6 +550,7 @@ R
Andreas Kool <akool@akool.de>
for his help in keeping 'channels.conf.cable' up to date
for fixing the TS to PES repacker so that it works with MPEG1 streams
Guy Roussin <guy.roussin@teledetection.fr>
for suggesting not to display channel group delimiters without text

View File

@ -2282,3 +2282,8 @@ Video Disk Recorder Revision History
- Now the program uses the values of VIDEODIR and PLUGINDIR defined in Makefile
or Makefile.config as defaults (thanks to Steffen Barszus).
- Added the usual menu timeout to the CAM menus.
2003-08-06: Version 1.2.3
- Fixed the TS to PES repacker so that it works with MPEG1 streams (thanks to
Andreas Kool).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 1.165 2003/06/12 20:37:14 kls Exp $
* $Id: config.h 1.166 2003/08/06 14:45:10 kls Exp $
*/
#ifndef __CONFIG_H
@ -19,8 +19,8 @@
#include "device.h"
#include "tools.h"
#define VDRVERSION "1.2.2"
#define VDRVERSNUM 10202 // Version * 10000 + Major * 100 + Minor
#define VDRVERSION "1.2.3"
#define VDRVERSNUM 10203 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
#define MAXLIFETIME 99

View File

@ -8,7 +8,7 @@
* the Linux DVB driver's 'tuxplayer' example and were rewritten to suit
* VDR's needs.
*
* $Id: remux.c 1.15 2003/04/26 15:07:41 kls Exp $
* $Id: remux.c 1.16 2003/08/06 14:44:03 kls Exp $
*/
/* The calling interface of the 'cRemux::Process()' function is defined
@ -321,7 +321,6 @@ void cTS2PES::instant_repack(const uint8_t *Buf, int Count)
if ((flag1 & 0xC0) == 0x80 )
mpeg = 2;
else {
esyslog("ERROR: error in data stream!");
hlength = 0;
which = 0;
mpeg = 1;
@ -361,6 +360,9 @@ void cTS2PES::instant_repack(const uint8_t *Buf, int Count)
write_ipack(&hlength, 1);
}
if (mpeg == 1 && found == 7)
write_ipack(&flag1, 1);
if (mpeg == 2 && (flag2 & PTS_ONLY) && found < 14) {
while (c < Count && found < 14) {
write_ipack(Buf + c, 1);