aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/pvrparse.cpp
diff options
context:
space:
mode:
authorFraxinas <andreas.frisch@multimedia-labs.de>2009-01-15 13:22:06 +0100
committerFraxinas <andreas.frisch@multimedia-labs.de>2009-01-15 13:22:06 +0100
commitb3135c06dd527e0ed65b6ffa921f830132f7d8b9 (patch)
tree53c06d38680d21f366cbb1fc42d17e94b36a109a /lib/dvb/pvrparse.cpp
parent2c9a0e18d4ad0b5a73abb5466ea2f70b61daf7fa (diff)
parent97909d42012ca026c51d2e7b882ce55eb0acffab (diff)
downloadenigma2-b3135c06dd527e0ed65b6ffa921f830132f7d8b9.tar.gz
enigma2-b3135c06dd527e0ed65b6ffa921f830132f7d8b9.zip
Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
Diffstat (limited to 'lib/dvb/pvrparse.cpp')
-rw-r--r--lib/dvb/pvrparse.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/dvb/pvrparse.cpp b/lib/dvb/pvrparse.cpp
index 1b6cb467..59313669 100644
--- a/lib/dvb/pvrparse.cpp
+++ b/lib/dvb/pvrparse.cpp
@@ -266,7 +266,7 @@ int eMPEGStreamInformation::getNextAccessPoint(pts_t &ts, const pts_t &start, in
return 0;
}
-eMPEGStreamParserTS::eMPEGStreamParserTS(eMPEGStreamInformation &streaminfo): m_streaminfo(streaminfo), m_pktptr(0), m_pid(-1), m_need_next_packet(0), m_skip(0)
+eMPEGStreamParserTS::eMPEGStreamParserTS(eMPEGStreamInformation &streaminfo): m_streaminfo(streaminfo), m_pktptr(0), m_pid(-1), m_need_next_packet(0), m_skip(0), m_last_pts_valid(0)
{
}
@@ -313,6 +313,9 @@ int eMPEGStreamParserTS::processPacket(const unsigned char *pkt, off_t offset)
pts |= ((unsigned long long)(pkt[12]&0xFF)) << 7;
pts |= ((unsigned long long)(pkt[13]&0xFE)) >> 1;
ptsvalid = 1;
+
+ m_last_pts = pts;
+ m_last_pts_valid = 1;
#if 0
int sec = pts / 90000;
@@ -503,3 +506,15 @@ void eMPEGStreamParserTS::setPid(int _pid)
m_pktptr = 0;
m_pid = _pid;
}
+
+int eMPEGStreamParserTS::getLastPTS(pts_t &last_pts)
+{
+ if (!m_last_pts_valid)
+ {
+ last_pts = 0;
+ return -1;
+ }
+ last_pts = m_last_pts;
+ return 0;
+}
+