diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2005-02-13 14:38:08 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2005-02-13 14:38:08 +0100 |
commit | 1594333047b3c24f61bdfe03b6e99ae64f5ac248 (patch) | |
tree | 5b46401abe8007c764e53dffd5c1972992594fac /remux.c | |
parent | 9055f754ddda134e039e50c66e36802ee731c6db (diff) | |
download | vdr-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.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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) |