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 enum {aMPEG, aAC3, aDTS };
15 eDVBAudio(eDVBDemux *demux, int dev);
16 int startPid(int pid, int type);
18 #if HAVE_DVB_API_VERSION < 3
28 class eDVBVideo: public iObject
30 DECLARE_REF(eDVBVideo);
32 ePtr<eDVBDemux> m_demux;
35 eDVBVideo(eDVBDemux *demux, int dev);
36 int startPid(int pid);
38 #if HAVE_DVB_API_VERSION < 3
48 class eDVBPCR: public iObject
52 ePtr<eDVBDemux> m_demux;
55 eDVBPCR(eDVBDemux *demux);
56 int startPid(int pid);
61 class eTSMPEGDecoder: public Object, public iTSMPEGDecoder
63 DECLARE_REF(eTSMPEGDecoder);
65 ePtr<eDVBDemux> m_demux;
66 ePtr<eDVBAudio> m_audio;
67 ePtr<eDVBVideo> m_video;
69 int m_vpid, m_apid, m_atype, m_pcrpid;
78 ePtr<eConnection> m_demux_event;
80 void demux_event(int event);
82 enum { pidNone = -1 };
83 eTSMPEGDecoder(eDVBDemux *demux, int decoder);
84 virtual ~eTSMPEGDecoder();
85 RESULT setVideoPID(int vpid);
86 RESULT setAudioPID(int apid, int type);
87 RESULT setSyncPCR(int pcrpid);
88 RESULT setSyncMaster(int who);
90 RESULT freeze(int cont);
92 RESULT setSinglePictureMode(int when);
93 RESULT setPictureSkipMode(int what);
94 RESULT setSlowMotion(int repeat);
95 RESULT setZoom(int what);