class eDVBAudio: public iObject
{
-DECLARE_REF;
+DECLARE_REF(eDVBAudio);
private:
ePtr<eDVBDemux> m_demux;
int m_fd, m_fd_demux;
eDVBAudio(eDVBDemux *demux, int dev);
int startPid(int pid);
void stop();
+#if HAVE_DVB_API_VERSION < 3
+ void start();
+ void stopPid();
+#endif
virtual ~eDVBAudio();
};
class eDVBVideo: public iObject
{
-DECLARE_REF;
+DECLARE_REF(eDVBVideo);
private:
ePtr<eDVBDemux> m_demux;
int m_fd, m_fd_demux;
eDVBVideo(eDVBDemux *demux, int dev);
int startPid(int pid);
void stop();
+#if HAVE_DVB_API_VERSION < 3
+ void start();
+ void stopPid();
+#endif
virtual ~eDVBVideo();
};
+class eDVBPCR: public iObject
+{
+DECLARE_REF(eDVBPCR);
+private:
+ ePtr<eDVBDemux> m_demux;
+ int m_fd_demux;
+public:
+ eDVBPCR(eDVBDemux *demux);
+ int startPid(int pid);
+ void stop();
+ virtual ~eDVBPCR();
+};
+
class eTSMPEGDecoder: public iTSMPEGDecoder
{
-DECLARE_REF;
+DECLARE_REF(eTSMPEGDecoder);
private:
ePtr<eDVBDemux> m_demux;
ePtr<eDVBAudio> m_audio;
ePtr<eDVBVideo> m_video;
-
+ ePtr<eDVBPCR> m_pcr;
int m_vpid, m_apid, m_atype, m_pcrpid;
enum
{