eAUTable<eTable<ApplicationInformationSection> > m_AIT;
eAUTable<eTable<OCSection> > m_OC;
+ void registerCAService();
void PMTready(int error);
void PATready(int error);
int m_use_decode_demux;
uint8_t m_decode_demux_num;
ePtr<eTimer> m_no_pat_entry_delay;
+ uint8_t mDemuxId;
+
+ bool m_pmt_ready;
+ bool m_ca_disabled;
public:
eDVBServicePMTHandler();
~eDVBServicePMTHandler();
eventHBBTVInfo, /* HBBTV information was detected in the AIT */
eventMisconfiguration, // a channel was not found in any list, or no frontend was found which could provide this channel
+ eventNoDiskSpace, // no disk space available
+ eventStartPvrDescramble, // start PVR Descramble Convert
+ eventChannelAllocated,
};
#ifndef SWIG
Signal1<void,int> serviceEvent;
{
int pid;
int component_tag;
- enum { vtMPEG2, vtMPEG4_H264, vtMPEG1, vtMPEG4_Part2, vtVC1, vtVC1_SM };
+ enum { vtMPEG2, vtMPEG4_H264, vtMPEG1, vtMPEG4_Part2, vtVC1, vtVC1_SM, vtH265_HEVC };
int type;
};
int pmtPid;
int textPid;
int aitPid;
+ int pmtVersion;
+ bool isCached;
bool isCrypted() { return !caids.empty(); }
PyObject *createPythonObject();
};
void sendEventNoPatEntry();
void getHBBTVUrl(std::string &ret) { ret = m_HBBTVUrl; }
+ void getDemuxID(int &id) { id = mDemuxId; }
+ void setCaDisable(bool disable) { m_ca_disabled = disable; }
+
+ enum serviceType
+ {
+ livetv = 0,
+ recording = 1,
+ scrambled_recording = 2,
+ playback = 3,
+ timeshift_recording = 4,
+ scrambled_timeshift_recording = 5,
+ timeshift_playback = 6,
+ streamserver = 7,
+ scrambled_streamserver = 8,
+ streamclient = 9,
+ offline = 10,
+ pvrDescramble = 11,
+ };
/* deprecated interface */
- int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0);
+ int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0, serviceType type = livetv, bool descramble = true);
/* new interface */
- int tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iTsSource> &, const char *streaminfo_file, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0, bool isstreamclient=false);
+ int tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iTsSource> &, const char *streaminfo_file, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0, serviceType type = livetv, bool descramble=true);
void free();
+ void addCaHandler();
+ void removeCaHandler();
+ bool isCiConnected();
+ bool isPmtReady() { return m_pmt_ready; }
private:
bool m_have_cached_program;
program m_cached_program;
- bool m_isstreamclient;
+ bool m_descramble;
+ serviceType m_service_type;
#endif
};