aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/decoder.h
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2003-10-17 15:35:43 +0000
committerFelix Domke <tmbinc@elitedvb.net>2003-10-17 15:35:43 +0000
commitfc2f5b2cd655f1391f2abda1b39e37cdec98a951 (patch)
tree312efcea86a319de407a7c314fb981fb1c71019a /lib/dvb/decoder.h
downloadenigma2-fc2f5b2cd655f1391f2abda1b39e37cdec98a951.tar.gz
enigma2-fc2f5b2cd655f1391f2abda1b39e37cdec98a951.zip
Initial revision
Diffstat (limited to 'lib/dvb/decoder.h')
-rw-r--r--lib/dvb/decoder.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/dvb/decoder.h b/lib/dvb/decoder.h
new file mode 100644
index 00000000..6694e9fc
--- /dev/null
+++ b/lib/dvb/decoder.h
@@ -0,0 +1,66 @@
+#ifndef __decoder_h
+#define __decoder_h
+
+#include <lib/base/object.h>
+#include <lib/dvb/demux.h>
+
+class eDVBAudio: public virtual iObject
+{
+DECLARE_REF;
+private:
+ ePtr<eDVBDemux> m_demux;
+ int m_fd, m_fd_demux;
+public:
+ eDVBAudio(eDVBDemux *demux, int dev);
+ int startPid(int pid);
+ void stop();
+ virtual ~eDVBAudio();
+};
+
+class eDVBVideo: public virtual iObject
+{
+DECLARE_REF;
+private:
+ ePtr<eDVBDemux> m_demux;
+ int m_fd, m_fd_demux;
+public:
+ eDVBVideo(eDVBDemux *demux, int dev);
+ int startPid(int pid);
+ void stop();
+ virtual ~eDVBVideo();
+};
+
+class eTSMPEGDecoder: public virtual iTSMPEGDecoder
+{
+DECLARE_REF;
+private:
+ ePtr<eDVBDemux> m_demux;
+ ePtr<eDVBAudio> m_audio;
+ ePtr<eDVBVideo> m_video;
+
+ int m_vpid, m_apid, m_atype, m_pcrpid;
+ enum
+ {
+ changeVideo = 1,
+ changeAudio = 2,
+ changePCR = 4
+ };
+ int m_changed;
+ int setState();
+public:
+ enum { pidNone = -1 };
+ eTSMPEGDecoder(eDVBDemux *demux, int decoder);
+ virtual ~eTSMPEGDecoder();
+ RESULT setVideoPID(int vpid);
+ RESULT setAudioPID(int apid, int type);
+ RESULT setSyncPCR(int pcrpid);
+ RESULT setSyncMaster(int who);
+ RESULT start();
+ RESULT freeze(int cont);
+ RESULT unfreeze();
+ RESULT setSinglePictureMode(int when);
+ RESULT setPictureSkipMode(int what);
+ RESULT setSlowMotion(int repeat);
+ RESULT setZoom(int what);
+};
+#endif