virtual ~eDVBDemux();
RESULT setSourceFrontend(int fenum);
+ int getSource() { return source; }
RESULT setSourcePVR(int pvrnum);
RESULT createSectionReader(eMainloop *context, ePtr<iDVBSectionReader> &reader);
int getRefCount() { return ref; }
private:
- int adapter, demux;
+ int adapter, demux, source;
int m_dvr_busy;
friend class eDVBSectionReader;
class eDVBSectionReader: public iDVBSectionReader, public Object
{
DECLARE_REF(eDVBSectionReader);
-private:
int fd;
Signal1<void, const __u8*> read;
ePtr<eDVBDemux> demux;
int active;
int checkcrc;
void data(int);
- eSocketNotifier *notifier;
+ ePtr<eSocketNotifier> notifier;
public:
eDVBSectionReader(eDVBDemux *demux, eMainloop *context, RESULT &res);
class eDVBPESReader: public iDVBPESReader, public Object
{
DECLARE_REF(eDVBPESReader);
-private:
int m_fd;
Signal2<void, const __u8*, int> m_read;
ePtr<eDVBDemux> m_demux;
int m_active;
void data(int);
- eSocketNotifier *m_notifier;
+ ePtr<eSocketNotifier> m_notifier;
public:
eDVBPESReader(eDVBDemux *demux, eMainloop *context, RESULT &res);
virtual ~eDVBPESReader();
RESULT addPID(int pid);
RESULT removePID(int pid);
- RESULT setTimingPID(int pid);
+ RESULT setTimingPID(int pid, int type);
RESULT setTargetFD(int fd);
RESULT setTargetFilename(const char *filename);
RESULT setBoundary(off_t max);
RESULT stop();
-
+
+ RESULT getCurrentPCR(pts_t &pcr);
+
RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &conn);
private:
RESULT startPID(int pid);