disable backtrack to prev sequence start code
authorghost <andreas.monzner@multimedia-labs.de>
Tue, 30 Nov 2010 00:51:02 +0000 (01:51 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Tue, 30 Nov 2010 00:51:02 +0000 (01:51 +0100)
this code have to be reviewed.. it breaks fast forward winding with speed > 32x
refs #570

lib/dvb/tstools.cpp

index a0e4eb1..438f6d6 100644 (file)
@@ -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;