summaryrefslogtreecommitdiff
path: root/plugins/streamdev/streamdev-cvs/client/device.h
diff options
context:
space:
mode:
authorkwacker <vdr@w-i-r.com>2010-04-11 13:46:11 +0200
committerkwacker <vdr@w-i-r.com>2010-04-11 13:46:11 +0200
commit9b144d30e0ea8ce900c37b96ba2cbdda14b0ae88 (patch)
tree3a52de029f950dcd9f9856a53fd67abef8519e68 /plugins/streamdev/streamdev-cvs/client/device.h
parent9cd931834ecadbf5efefdf484abb966e9248ebbb (diff)
downloadx-vdr-9b144d30e0ea8ce900c37b96ba2cbdda14b0ae88.tar.gz
x-vdr-9b144d30e0ea8ce900c37b96ba2cbdda14b0ae88.tar.bz2
Burn 0.2.0-beta3 und Streamdev mit Paches aktualisiert
Diffstat (limited to 'plugins/streamdev/streamdev-cvs/client/device.h')
-rw-r--r--plugins/streamdev/streamdev-cvs/client/device.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/plugins/streamdev/streamdev-cvs/client/device.h b/plugins/streamdev/streamdev-cvs/client/device.h
new file mode 100644
index 0000000..e96b05f
--- /dev/null
+++ b/plugins/streamdev/streamdev-cvs/client/device.h
@@ -0,0 +1,68 @@
+/*
+ * $Id: device.h,v 1.9 2009/06/23 10:26:54 schmirl Exp $
+ */
+
+#ifndef VDR_STREAMDEV_DEVICE_H
+#define VDR_STREAMDEV_DEVICE_H
+
+#include <vdr/device.h>
+
+#include "client/socket.h"
+#include "client/filter.h"
+
+class cTBString;
+
+#define CMD_LOCK_OBJ(x) cMutexLock CmdLock((cMutex*)&(x)->m_Mutex)
+
+class cStreamdevDevice: public cDevice {
+ friend class cRemoteRecordings;
+
+private:
+ const cChannel *m_Channel;
+ cTSBuffer *m_TSBuffer;
+ cStreamdevFilters *m_Filters;
+ int m_Pids;
+ bool m_DvrClosed;
+
+ static cStreamdevDevice *m_Device;
+
+ bool OpenDvrInt(void);
+ void CloseDvrInt(void);
+
+protected:
+ virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
+ virtual bool HasLock(int TimeoutMs)
+ {
+ //printf("HasLock is %d\n", (ClientSocket.DataSocket(siLive) != NULL));
+ //return ClientSocket.DataSocket(siLive) != NULL;
+ return true;
+ }
+
+ virtual bool SetPid(cPidHandle *Handle, int Type, bool On);
+ virtual bool OpenDvr(void);
+ virtual void CloseDvr(void);
+ virtual bool GetTSPacket(uchar *&Data);
+
+ virtual int OpenFilter(u_short Pid, u_char Tid, u_char Mask);
+
+public:
+ cStreamdevDevice(void);
+ virtual ~cStreamdevDevice();
+
+ virtual bool HasInternalCam(void) { return true; }
+ virtual bool ProvidesSource(int Source) const;
+ virtual bool ProvidesTransponder(const cChannel *Channel) const;
+ virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1,
+ bool *NeedsDetachReceivers = NULL) const;
+#if APIVERSNUM >= 10700
+ virtual int NumProvidedSystems(void) const { return 1; }
+#endif
+ virtual bool IsTunedToTransponder(const cChannel *Channel);
+
+ static bool Init(void);
+ static bool ReInit(void);
+
+ static cStreamdevDevice *GetDevice(void) { return m_Device; }
+};
+
+#endif // VDR_STREAMDEV_DEVICE_H