summaryrefslogtreecommitdiff
path: root/recman.cpp
diff options
context:
space:
mode:
authorDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2009-04-19 23:04:39 +0200
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2009-04-19 23:04:39 +0200
commit46ed54bc095a899bc6fe93fe727e12e96392cc0e (patch)
tree9935f29acf9f16a6f7bfe165d8d5fffd18f93bf1 /recman.cpp
parent007c4fbed9c0705b3e846ea48f9738c502fbc279 (diff)
downloadvdr-plugin-live-46ed54bc095a899bc6fe93fe727e12e96392cc0e.tar.gz
vdr-plugin-live-46ed54bc095a899bc6fe93fe727e12e96392cc0e.tar.bz2
Calculate right length for TS recordings.cvs-commit-361
This is a patch submitted by jowi24. Newer development versions of VDR create TS recordings. There was no support for such recordings in LIVE yet. length calculation with the new TS recordings introduced wit
Diffstat (limited to 'recman.cpp')
-rw-r--r--recman.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/recman.cpp b/recman.cpp
index bf7ca3f..8bfccab 100644
--- a/recman.cpp
+++ b/recman.cpp
@@ -242,6 +242,7 @@ namespace vdrlive {
{
long RecLength = 0;
if (!m_recording->FileName()) return 0;
+#if VDRVERSNUM < 10704
cString filename = cString::sprintf("%s%s", m_recording->FileName(), INDEXFILESUFFIX);
if (*filename) {
if (access(filename, R_OK) == 0) {
@@ -257,6 +258,14 @@ namespace vdrlive {
}
}
}
+#else
+ // open index file for reading only
+ cIndexFile *index = new cIndexFile(m_recording->FileName(), false, m_recording->IsPesRecording());
+ if (index && index->Ok()) {
+ RecLength = (int) (index->Last() / SecondsToFrames(60, m_recording->FramesPerSecond()));
+ }
+ delete index;
+#endif
return RecLength;
}