- uint8_t demux_num;
- m_demux->getCADemuxID(demux_num);
- eDVBCAService::register_service(m_reference, demux_num, m_ca_servicePtr);
+ if(!m_ca_servicePtr) // don't send campmt to camd.socket for playbacked services
+ {
+ uint8_t demux_num;
+ m_demux->getCADemuxID(demux_num);
+ eDVBCAService::register_service(m_reference, demux_num, m_ca_servicePtr);
+ eDVBCIInterfaces::getInstance()->addPMTHandler(this);
+ }
+ eDVBCIInterfaces::getInstance()->gotPMT(this);