X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fpmt.h;h=3e22174b9d777e7ecfa4ed569f06d626ea8a04f7;hb=4fc2a70eeb86fa51b783b4a9c034b926db0013a3;hp=9e7c52740e390b8c38040f577a1f723af2e28592;hpb=fd9ebe13e2e86c7fb3a80769e419538e1cfe9142;p=vuplus_dvbapp diff --git a/lib/dvb/pmt.h b/lib/dvb/pmt.h index 9e7c527..3e22174 100644 --- a/lib/dvb/pmt.h +++ b/lib/dvb/pmt.h @@ -3,6 +3,7 @@ #ifndef SWIG #include +#include #include #include #include @@ -35,6 +36,8 @@ typedef std::map ChannelMap; class eDVBCAService: public Object { + eIOBuffer m_buffer; + ePtr m_sn; eServiceReferenceDVB m_service; uint8_t m_used_demux[32]; unsigned int m_prev_build_hash; @@ -43,9 +46,10 @@ class eDVBCAService: public Object struct sockaddr_un m_servaddr; unsigned int m_sendstate; unsigned char m_capmt[2048]; - eTimer m_retryTimer; + ePtr m_retryTimer; void sendCAPMT(); void Connect(); + void socketCB(int what); static void DVBChannelAdded(eDVBChannel*); static void DVBChannelStateChanged(iDVBChannel*); @@ -74,7 +78,7 @@ class eDVBServicePMTHandler: public Object int m_last_channel_state; eDVBCAService *m_ca_servicePtr; - eDVBScan *m_dvb_scan; // for sdt scan + ePtr m_dvb_scan; // for sdt scan eAUTable > m_PMT; eAUTable > m_PAT; @@ -121,6 +125,8 @@ public: eventSOF, // seek pre start eventEOF, // a file playback did end + + eventMisconfiguration, // a channel was not found in any list, or no frontend was found which could provide this channel }; #ifndef SWIG Signal1 serviceEvent; @@ -129,14 +135,14 @@ public: { int pid; int component_tag; - enum { vtMPEG2, vtMPEG4_H264 }; + enum { vtMPEG2, vtMPEG4_H264, vtMPEG1, vtMPEG4_Part2, vtVC1, vtVC1_SM }; int type; }; struct audioStream { int pid; - enum { atMPEG, atAC3, atDTS, atAAC }; + enum { atMPEG, atAC3, atDTS, atAAC, atAACHE }; int type; // mpeg2, ac3, dts, ... int component_tag; @@ -198,7 +204,7 @@ public: int getChannel(eUsePtr &channel); void resetCachedProgram() { m_have_cached_program = false; } - int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0); + int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0, bool simulate=false); void free(); private: bool m_have_cached_program;