diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-02-12 21:25:28 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-02-12 21:25:28 +0100 |
| commit | 408672189d8e0714aaa52e91cd7e3906b78f4044 (patch) | |
| tree | de952dd52a1821f8e31ed1d9eb8e7993d08d7ab2 /lib | |
| parent | 76e5181cade262b86610dcc851bcb4452196ccdc (diff) | |
| parent | 84acac7bf874612b9f287be2622630e9bee386c6 (diff) | |
| download | enigma2-408672189d8e0714aaa52e91cd7e3906b78f4044.tar.gz enigma2-408672189d8e0714aaa52e91cd7e3906b78f4044.zip | |
Merge branch 'master' of git.opendreambox.org:/git/enigma2
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/service/servicedvb.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index d4a3a562..0f01b838 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -370,13 +370,17 @@ int eStaticServiceDVBPVRInformation::getLength(const eServiceReference &ref) struct stat s; stat(ref.path.c_str(), &s); - if (tstools.openFile(ref.path.c_str())) + if (tstools.openFile(ref.path.c_str(), 1)) return 0; /* check if cached data is still valid */ if (m_parser.m_data_ok && (s.st_size == m_parser.m_filesize) && (m_parser.m_length)) return m_parser.m_length / 90000; + /* open again, this time with stream info */ + if (tstools.openFile(ref.path.c_str())) + return 0; + /* otherwise, re-calc length and update meta file */ pts_t len; if (tstools.calcLen(len)) |
