4 #include <lib/base/object.h>
5 #include <lib/dvb/demux.h>
7 class eDVBAudio: public iObject
9 DECLARE_REF(eDVBAudio);
11 ePtr<eDVBDemux> m_demux;
14 eDVBAudio(eDVBDemux *demux, int dev);
15 int startPid(int pid);
17 #if HAVE_DVB_API_VERSION < 3
25 class eDVBVideo: public iObject
27 DECLARE_REF(eDVBVideo);
29 ePtr<eDVBDemux> m_demux;
32 eDVBVideo(eDVBDemux *demux, int dev);
33 int startPid(int pid);
35 #if HAVE_DVB_API_VERSION < 3
45 class eDVBPCR: public iObject
49 ePtr<eDVBDemux> m_demux;
52 eDVBPCR(eDVBDemux *demux);
53 int startPid(int pid);
58 class eTSMPEGDecoder: public Object, public iTSMPEGDecoder
60 DECLARE_REF(eTSMPEGDecoder);
62 ePtr<eDVBDemux> m_demux;
63 ePtr<eDVBAudio> m_audio;
64 ePtr<eDVBVideo> m_video;
66 int m_vpid, m_apid, m_atype, m_pcrpid;
75 ePtr<eConnection> m_demux_event;
77 void demux_event(int event);
79 enum { pidNone = -1 };
80 eTSMPEGDecoder(eDVBDemux *demux, int decoder);
81 virtual ~eTSMPEGDecoder();
82 RESULT setVideoPID(int vpid);
83 RESULT setAudioPID(int apid, int type);
84 RESULT setSyncPCR(int pcrpid);
85 RESULT setSyncMaster(int who);
87 RESULT freeze(int cont);
89 RESULT setSinglePictureMode(int when);
90 RESULT setPictureSkipMode(int what);
91 RESULT setSlowMotion(int repeat);
92 RESULT setZoom(int what);