aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/teletext.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-05-12 17:48:08 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-05-12 17:48:08 +0000
commitbef5d916c40a27638388d69f2ae3f94e41e6b0f3 (patch)
tree9fb63250503e028cbc539ede5c7fdbaf8681610b /lib/dvb/teletext.cpp
parentcb4391fe559e5fa9a19540d823f8f7003cac4ab5 (diff)
downloadenigma2-bef5d916c40a27638388d69f2ae3f94e41e6b0f3.tar.gz
enigma2-bef5d916c40a27638388d69f2ae3f94e41e6b0f3.zip
add teletext parser
Diffstat (limited to 'lib/dvb/teletext.cpp')
-rw-r--r--lib/dvb/teletext.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/dvb/teletext.cpp b/lib/dvb/teletext.cpp
new file mode 100644
index 00000000..e05891c4
--- /dev/null
+++ b/lib/dvb/teletext.cpp
@@ -0,0 +1,33 @@
+#include <lib/base/eerror.h>
+#include <lib/dvb/teletext.h>
+#include <lib/dvb/idemux.h>
+
+DEFINE_REF(eDVBTeletextParser);
+
+eDVBTeletextParser::eDVBTeletextParser(iDVBDemux *demux)
+{
+ setStreamID(0xBD); // as per en 300 472
+
+ if (demux->createPESReader(eApp, m_pes_reader))
+ eDebug("failed to create PES reader!");
+ else
+ m_pes_reader->connectRead(slot(*this, &eDVBTeletextParser::processData), m_read_connection);
+
+}
+
+void eDVBTeletextParser::processPESPacket(__u8 *pkt, int len)
+{
+ eDebug("GOT TELETEXT PACKET:");
+ int i;
+ for (i=0; i<16; ++i)
+ eDebugNoNewLine("%02x ", pkt[i]);
+ eDebug("<");
+}
+
+int eDVBTeletextParser::start(int pid)
+{
+ if (m_pes_reader)
+ return m_pes_reader->start(pid);
+ else
+ return -1;
+}