mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Increased the required free buffer space in the resultBuffer of cRemux
This commit is contained in:
parent
d507645323
commit
343df6266e
6
HISTORY
6
HISTORY
@ -3037,7 +3037,7 @@ Video Disk Recorder Revision History
|
|||||||
checking if the channel has a non-zero number.
|
checking if the channel has a non-zero number.
|
||||||
- Updated 'channels.conf.terr' for Hannover (thanks to Sven Kreiensen).
|
- Updated 'channels.conf.terr' for Hannover (thanks to Sven Kreiensen).
|
||||||
|
|
||||||
2004-10-23: Version 1.3.14
|
2004-10-24: Version 1.3.14
|
||||||
|
|
||||||
- Fixed detecting transponder lock in cDvbTuner (based on a patch from Stefan
|
- Fixed detecting transponder lock in cDvbTuner (based on a patch from Stefan
|
||||||
Meyknecht).
|
Meyknecht).
|
||||||
@ -3059,3 +3059,7 @@ Video Disk Recorder Revision History
|
|||||||
- Some minor code cleanups (thanks to Prakash K. Cheemplavam).
|
- Some minor code cleanups (thanks to Prakash K. Cheemplavam).
|
||||||
- Fixed missing cleanup at program exit in case there is a problem with a plugin
|
- Fixed missing cleanup at program exit in case there is a problem with a plugin
|
||||||
(thanks to Mattias Grönlund for pointing this out).
|
(thanks to Mattias Grönlund for pointing this out).
|
||||||
|
- Increased the required free buffer space in the resultBuffer of cRemux to
|
||||||
|
2 * IPACKS to avoid a buffer overflow in case a cTS2PES writes one complete
|
||||||
|
packet and then (within processing the same TS packet) wants to write another
|
||||||
|
small packet.
|
||||||
|
6
remux.c
6
remux.c
@ -8,7 +8,7 @@
|
|||||||
* the Linux DVB driver's 'tuxplayer' example and were rewritten to suit
|
* the Linux DVB driver's 'tuxplayer' example and were rewritten to suit
|
||||||
* VDR's needs.
|
* VDR's needs.
|
||||||
*
|
*
|
||||||
* $Id: remux.c 1.20 2004/10/23 12:06:13 kls Exp $
|
* $Id: remux.c 1.21 2004/10/24 09:25:33 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "remux.h"
|
#include "remux.h"
|
||||||
@ -491,8 +491,8 @@ int cRemux::Put(const uchar *Data, int Count)
|
|||||||
break;
|
break;
|
||||||
if (Data[i] != TS_SYNC_BYTE)
|
if (Data[i] != TS_SYNC_BYTE)
|
||||||
break;
|
break;
|
||||||
if (resultBuffer->Free() < IPACKS)
|
if (resultBuffer->Free() < 2 * IPACKS)
|
||||||
break;
|
break; // A cTS2PES might write one full packet and also a small rest
|
||||||
int pid = GetPid(Data + i + 1);
|
int pid = GetPid(Data + i + 1);
|
||||||
if (Data[i + 3] & 0x10) { // got payload
|
if (Data[i + 3] & 0x10) { // got payload
|
||||||
if (pid == vPid) vTS2PES->ts_to_pes(Data + i);
|
if (pid == vPid) vTS2PES->ts_to_pes(Data + i);
|
||||||
|
Loading…
Reference in New Issue
Block a user