From 0c972798749635bf71fcfd12d78d8abc53184e9d Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Fri, 28 Mar 2014 14:13:50 +0400 Subject: [PATCH] zapit/src/capmt.cpp: allocate demuxes in constructor --- src/zapit/include/zapit/capmt.h | 9 +++------ src/zapit/src/capmt.cpp | 12 ++++++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/zapit/include/zapit/capmt.h b/src/zapit/include/zapit/capmt.h index 30772bc63..8b360bb5a 100644 --- a/src/zapit/include/zapit/capmt.h +++ b/src/zapit/include/zapit/capmt.h @@ -39,17 +39,14 @@ #define DEMUX_SOURCE_2 2 #define LIVE_DEMUX 0 -#define STREAM_DEMUX 1 -#define RECORD_DEMUX 2 -#define PIP_DEMUX 3 - class CCam : public CBasicClient { private: virtual unsigned char getVersion(void) const; virtual const char *getSocketName(void) const; - int camask, demuxes[MAX_DMX_UNITS]; + int camask; + int *demuxes; int source_demux; uint8_t cabuf[2048]; int calen; @@ -65,7 +62,7 @@ class CCam : public CBasicClient CAPMT_UPDATE = 0x05 }; CCam(); - virtual ~CCam() {}; + virtual ~CCam(); bool sendMessage(const char * const data, const size_t length, bool update = false); bool makeCaPmt(CZapitChannel * channel, bool add_private, uint8_t list = CAPMT_ONLY, const CaIdVector &caids = CaIdVector()); bool setCaPmt(bool update = false); diff --git a/src/zapit/src/capmt.cpp b/src/zapit/src/capmt.cpp index 8f8fc3f95..e09ef94bd 100644 --- a/src/zapit/src/capmt.cpp +++ b/src/zapit/src/capmt.cpp @@ -39,12 +39,18 @@ CCam::CCam() { camask = 0; + demuxes = new int[MAX_DMX_UNITS]; for(int i = 0; i < MAX_DMX_UNITS; i++) demuxes[i] = 0; source_demux = -1; calen = 0; } +CCam::~CCam() +{ + delete []demuxes; +} + unsigned char CCam::getVersion(void) const { return 0x9F; @@ -227,12 +233,6 @@ bool CCamManager::SetMode(t_channel_id channel_id, enum runmode mode, bool start source = channel->getRecordDemux(); demux = channel->getRecordDemux(); break; -#if 0 - case STREAM: - source = DEMUX_SOURCE_0; - demux = STREAM_DEMUX; - break; -#endif case PIP: source = channel->getRecordDemux(); demux = channel->getPipDemux();