summaryrefslogtreecommitdiff
path: root/remux.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-02-13 14:38:08 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2005-02-13 14:38:08 +0100
commit1594333047b3c24f61bdfe03b6e99ae64f5ac248 (patch)
tree5b46401abe8007c764e53dffd5c1972992594fac /remux.c
parent9055f754ddda134e039e50c66e36802ee731c6db (diff)
downloadvdr-1594333047b3c24f61bdfe03b6e99ae64f5ac248.tar.gz
vdr-1594333047b3c24f61bdfe03b6e99ae64f5ac248.tar.bz2
Added missing reset of the 'repacker' to cTS2PES::Clear()1.3.21
Diffstat (limited to 'remux.c')
-rw-r--r--remux.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/remux.c b/remux.c
index dbed8fa8..ca65a61e 100644
--- a/remux.c
+++ b/remux.c
@@ -11,7 +11,7 @@
* The cDolbyRepacker code was originally written by Reinhard Nissl <rnissl@gmx.de>,
* and adapted to the VDR coding style by Klaus.Schmidinger@cadsoft.de.
*
- * $Id: remux.c 1.30 2005/02/13 10:23:10 kls Exp $
+ * $Id: remux.c 1.31 2005/02/13 14:36:23 kls Exp $
*/
#include "remux.h"
@@ -29,6 +29,7 @@ protected:
public:
cRepacker(void) { maxPacketSize = 6 + 65535; subStreamId = 0; }
virtual ~cRepacker() {}
+ virtual void Reset(void) {}
virtual int Put(cRingBufferLinear *ResultBuffer, const uchar *Data, int Count) = 0;
virtual int BreakAt(const uchar *Data, int Count) = 0;
void SetMaxPacketSize(int MaxPacketSize) { maxPacketSize = MaxPacketSize; }
@@ -56,13 +57,13 @@ private:
get_length,
output_packet
} state;
- void Reset(void);
void ResetPesHeader(void);
void AppendSubStreamID(void);
bool FinishRemainder(cRingBufferLinear *ResultBuffer, const uchar *const Data, const int Todo, int &Done, int &Bite);
bool StartNewPacket(cRingBufferLinear *ResultBuffer, const uchar *const Data, const int Todo, int &Done, int &Bite);
public:
cDolbyRepacker(void);
+ virtual void Reset(void);
virtual int Put(cRingBufferLinear *ResultBuffer, const uchar *Data, int Count);
virtual int BreakAt(const uchar *Data, int Count);
};
@@ -474,6 +475,8 @@ cTS2PES::~cTS2PES()
void cTS2PES::Clear(void)
{
reset_ipack();
+ if (repacker)
+ repacker->Reset();
}
void cTS2PES::store(uint8_t *Data, int Count)