aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/dvb.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-08-16 01:02:55 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-08-16 01:02:55 +0000
commitfe813cde98c0c550137b47dd7a75ec2d4d9e6f34 (patch)
tree6aac164b9b49a35bb2c3eff0e61a305118fcab42 /lib/dvb/dvb.cpp
parent4fcbd4dd4bee8c65b46b7185879c445beae6ca29 (diff)
downloadenigma2-fe813cde98c0c550137b47dd7a75ec2d4d9e6f34.tar.gz
enigma2-fe813cde98c0c550137b47dd7a75ec2d4d9e6f34.zip
- add getLength() call to iStaticServiceInformation
- implementation for dvb pvr streams using tstools - start of implementing status information for PVR
Diffstat (limited to 'lib/dvb/dvb.cpp')
-rw-r--r--lib/dvb/dvb.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp
index 4f5ecf2e..cfb32d09 100644
--- a/lib/dvb/dvb.cpp
+++ b/lib/dvb/dvb.cpp
@@ -517,10 +517,11 @@ RESULT eDVBChannel::playFile(const char *file)
m_pvr_thread = 0;
}
+ m_tstools.openFile(file);
+
/* DON'T EVEN THINK ABOUT FIXING THIS. FIX THE ATI SOURCES FIRST,
THEN DO A REAL FIX HERE! */
-
/* (this codepath needs to be improved anyway.) */
m_pvr_fd_dst = open("/dev/misc/pvr", O_WRONLY);
if (m_pvr_fd_dst < 0)
@@ -536,10 +537,29 @@ RESULT eDVBChannel::playFile(const char *file)
close(m_pvr_fd_dst);
return -ENOENT;
}
-
+
m_state = state_ok;
m_stateChanged(this);
m_pvr_thread = new eFilePushThread();
m_pvr_thread->start(m_pvr_fd_src, m_pvr_fd_dst);
}
+
+RESULT eDVBChannel::getLength(pts_t &len)
+{
+ return m_tstools.calcLen(len);
+}
+
+RESULT eDVBChannel::getCurrentPosition(pts_t &pos)
+{
+#if 0
+ off_t begin = 0;
+ /* getPTS for offset 0 is cached, so it doesn't harm. */
+ int r = m_tstools.getPTS(begin, pos);
+ if (r)
+ return r;
+
+ // DMX_GET_STC
+#endif
+ return 0;
+}