aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/tstools.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-01-27 23:37:28 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-01-27 23:37:28 +0000
commit65280b51bffa35ad499ee50d1a474344d9d90dd0 (patch)
treea18f6213621d17699c1e7e6abe41d68ef6162b4a /lib/dvb/tstools.cpp
parent008374f6e4be8d83cad04a411ecf0124702e7302 (diff)
downloadenigma2-65280b51bffa35ad499ee50d1a474344d9d90dd0.tar.gz
enigma2-65280b51bffa35ad499ee50d1a474344d9d90dd0.zip
track changing filesizes
Diffstat (limited to 'lib/dvb/tstools.cpp')
-rw-r--r--lib/dvb/tstools.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/dvb/tstools.cpp b/lib/dvb/tstools.cpp
index 02a0b8a9..1b7c5d92 100644
--- a/lib/dvb/tstools.cpp
+++ b/lib/dvb/tstools.cpp
@@ -45,6 +45,7 @@ void eDVBTSTools::setSearchRange(int maxrange)
m_maxrange = maxrange;
}
+ /* getPTS extracts a pts value from any PID at a given offset. */
int eDVBTSTools::getPTS(off_t &offset, pts_t &pts)
{
if (m_fd < 0)
@@ -136,7 +137,14 @@ void eDVBTSTools::calcEnd()
if (m_fd < 0)
return;
- m_offset_end = lseek(m_fd, 0, SEEK_END);
+ off_t end = lseek(m_fd, 0, SEEK_END);
+
+ if (abs(end - m_offset_end) > 1*1024*1024)
+ {
+ m_offset_end = end;
+ m_end_valid = 0;
+ eDebug("file size changed, recalc length");
+ }
int maxiter = 10;