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
43 class eDVBPCR: public iObject
47 ePtr<eDVBDemux> m_demux;
50 eDVBPCR(eDVBDemux *demux);
51 int startPid(int pid);
56 class eTSMPEGDecoder: public Object, public iTSMPEGDecoder
58 DECLARE_REF(eTSMPEGDecoder);
60 ePtr<eDVBDemux> m_demux;
61 ePtr<eDVBAudio> m_audio;
62 ePtr<eDVBVideo> m_video;
64 int m_vpid, m_apid, m_atype, m_pcrpid;
73 ePtr<eConnection> m_demux_event;
75 void demux_event(int event);
77 enum { pidNone = -1 };
78 eTSMPEGDecoder(eDVBDemux *demux, int decoder);
79 virtual ~eTSMPEGDecoder();
80 RESULT setVideoPID(int vpid);
81 RESULT setAudioPID(int apid, int type);
82 RESULT setSyncPCR(int pcrpid);
83 RESULT setSyncMaster(int who);
85 RESULT freeze(int cont);
87 RESULT setSinglePictureMode(int when);
88 RESULT setPictureSkipMode(int what);
89 RESULT setSlowMotion(int repeat);
90 RESULT setZoom(int what);