Improved TS/PES conversion to better handle lost TS packets

This commit is contained in:
Klaus Schmidinger 2005-12-03 12:18:15 +01:00
parent 2a379aaf7f
commit 922649037f
3 changed files with 5 additions and 2 deletions

View File

@ -1007,6 +1007,7 @@ Reinhard Nissl <rnissl@gmx.de>
for suggesting to always use stream id 0xE0 for the video stream, to avoid problems for suggesting to always use stream id 0xE0 for the video stream, to avoid problems
with post processing tools that choke on different ids with post processing tools that choke on different ids
for fixing cDvbPlayer::SkipFrames() to properly handle radio recordings for fixing cDvbPlayer::SkipFrames() to properly handle radio recordings
for improving TS/PES conversion to better handle lost TS packets
Richard Robson <richard_robson@beeb.net> Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the for reporting freezing replay if a timer starts while in Transfer Mode from the

View File

@ -3967,3 +3967,5 @@ Video Disk Recorder Revision History
- Fixed handling second audio and Dolby Digital PIDs for encrypted channels - Fixed handling second audio and Dolby Digital PIDs for encrypted channels
(was broken in version 1.3.37). (was broken in version 1.3.37).
- Improved TS/PES conversion to better handle lost TS packets (thanks to
Reinhard Nissl).

View File

@ -11,7 +11,7 @@
* The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>, * The cRepacker family's code was originally written by Reinhard Nissl <rnissl@gmx.de>,
* and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de. * and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de.
* *
* $Id: remux.c 1.47 2005/09/11 11:00:00 kls Exp $ * $Id: remux.c 1.48 2005/12/03 12:06:23 kls Exp $
*/ */
#include "remux.h" #include "remux.h"
@ -1650,7 +1650,7 @@ void cTS2PES::ts_to_pes(const uint8_t *Buf) // don't need count (=188)
} }
if (Buf[1] & PAY_START) { if (Buf[1] & PAY_START) {
if (plength == MMAX_PLENGTH - 6 && found > 6) { if (found > 6) {
plength = found - 6; plength = found - 6;
found = 0; found = 0;
send_ipack(); send_ipack();