From 0c264458b72ac77a0129c8a702d3e8dad70f0e49 Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 30 Nov 2010 01:51:02 +0100 Subject: [PATCH] disable backtrack to prev sequence start code this code have to be reviewed.. it breaks fast forward winding with speed > 32x refs #570 --- lib/dvb/tstools.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/dvb/tstools.cpp b/lib/dvb/tstools.cpp index a0e4eb1..438f6d6 100644 --- a/lib/dvb/tstools.cpp +++ b/lib/dvb/tstools.cpp @@ -700,6 +700,7 @@ int eDVBTSTools::findFrame(off_t &_offset, size_t &len, int &direction, int fram } off_t start = offset; +#if 0 /* backtrack to find the previous sequence start, in case of MPEG2 */ if ((data & 0xFF) == 0x00) { do { @@ -714,6 +715,8 @@ int eDVBTSTools::findFrame(off_t &_offset, size_t &len, int &direction, int fram start = offset; /* Failed to find corresponding sequence start, so never mind */ } +#endif + /* let's find the next frame after the given offset */ do { if (m_streaminfo.getStructureEntry(offset, data, 1)) @@ -729,9 +732,11 @@ int eDVBTSTools::findFrame(off_t &_offset, size_t &len, int &direction, int fram // eDebug("%08llx@%llx (next)", data, offset); } while (((data & 0xFF) != 9) && ((data & 0xFF) != 0x00)); /* next frame */ +#if 0 /* align to TS pkt start */ start = start - (start % 188); offset = offset - (offset % 188); +#endif len = offset - start; _offset = start; -- 2.7.4