diff options
| author | Felix Domke <felix.domke@multimedia-labs.de> | 2009-08-10 00:31:55 +0200 |
|---|---|---|
| committer | Felix Domke <felix.domke@multimedia-labs.de> | 2009-08-10 00:31:55 +0200 |
| commit | d176ba17e809d7c8d917ba98efc79a12c604965e (patch) | |
| tree | 71c0939528228f6e03a8264d1998e8f8e78f203c /lib | |
| parent | ce31b562c29e94d2421e0a2b0257030eca97f1cd (diff) | |
| download | enigma2-d176ba17e809d7c8d917ba98efc79a12c604965e.tar.gz enigma2-d176ba17e809d7c8d917ba98efc79a12c604965e.zip | |
fallback to live info when stores streaminfo fails
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/tstools.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/dvb/tstools.cpp b/lib/dvb/tstools.cpp index 6fe91136..06e8ba0f 100644 --- a/lib/dvb/tstools.cpp +++ b/lib/dvb/tstools.cpp @@ -71,7 +71,8 @@ void eDVBTSTools::setSearchRange(int maxrange) int eDVBTSTools::getPTS(off_t &offset, pts_t &pts, int fixed) { if (m_use_streaminfo) - return m_streaminfo.getPTS(offset, pts); + if (!m_streaminfo.getPTS(offset, pts)) + return 0; if (!m_file.valid()) return -1; @@ -144,9 +145,9 @@ int eDVBTSTools::getPTS(off_t &offset, pts_t &pts, int fixed) payload = packet + 4; - if (m_pid >= 0) +/* if (m_pid >= 0) if (pid != m_pid) - continue; + continue; */ if (!pusi) continue; @@ -186,7 +187,8 @@ int eDVBTSTools::fixupPTS(const off_t &offset, pts_t &now) { if (m_use_streaminfo) { - return m_streaminfo.fixupPTS(offset, now); + if (!m_streaminfo.fixupPTS(offset, now)) + return 0; } else { /* for the simple case, we assume one epoch, with up to one wrap around in the middle. */ |
