summaryrefslogtreecommitdiff
path: root/vdr2pkt.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2009-10-02 17:36:58 +0200
committerJochen Dolze <vdr@dolze.de>2009-10-02 17:36:58 +0200
commit52cd041405849817c72d272bee0e6798f57b66c4 (patch)
tree994709d9e41ae0a367ba4b0bf5254911a4f38558 /vdr2pkt.cpp
parenta21c3bf58621446068b054326eec83dae1e744a0 (diff)
downloadvdr-plugin-markad-52cd041405849817c72d272bee0e6798f57b66c4.tar.gz
vdr-plugin-markad-52cd041405849817c72d272bee0e6798f57b66c4.tar.bz2
Rewrote packet handling code, now it uses queues
Diffstat (limited to 'vdr2pkt.cpp')
-rw-r--r--vdr2pkt.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/vdr2pkt.cpp b/vdr2pkt.cpp
new file mode 100644
index 0000000..1a42fd7
--- /dev/null
+++ b/vdr2pkt.cpp
@@ -0,0 +1,30 @@
+/*
+ * vdr2pkt.cpp: A plugin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id$
+ */
+
+#include "vdr2pkt.h"
+
+cMarkAdVDR2Pkt::cMarkAdVDR2Pkt(int RecvNumber, const char *QueueName, int QueueSize)
+{
+ queue = new cMarkAdPaketQueue(RecvNumber,QueueName,QueueSize);
+}
+
+cMarkAdVDR2Pkt::~cMarkAdVDR2Pkt()
+{
+if (queue) delete queue;
+}
+
+void cMarkAdVDR2Pkt::Process(MarkAdPid Pid, uchar *VDRData, int VDRSize, uchar **PktData, int *PktSize)
+{
+ if ((!PktData) || (!PktSize) || (!queue)) return;
+ *PktData=NULL;
+ *PktSize=0;
+
+ if (VDRData) queue->Put(VDRData,VDRSize);
+ *PktData=queue->GetPacket(PktSize,MA_PACKET_PKT);
+ return;
+}