this code have to be reviewed.. it breaks fast forward winding with speed > 32x
refs #570
/* backtrack to find the previous sequence start, in case of MPEG2 */
if ((data & 0xFF) == 0x00) {
do {
/* backtrack to find the previous sequence start, in case of MPEG2 */
if ((data & 0xFF) == 0x00) {
do {
start = offset; /* Failed to find corresponding sequence start, so never mind */
}
start = offset; /* Failed to find corresponding sequence start, so never mind */
}
/* let's find the next frame after the given offset */
do {
if (m_streaminfo.getStructureEntry(offset, data, 1))
/* let's find the next frame after the given offset */
do {
if (m_streaminfo.getStructureEntry(offset, data, 1))
// eDebug("%08llx@%llx (next)", data, offset);
} while (((data & 0xFF) != 9) && ((data & 0xFF) != 0x00)); /* next frame */
// eDebug("%08llx@%llx (next)", data, offset);
} while (((data & 0xFF) != 9) && ((data & 0xFF) != 0x00)); /* next frame */
/* align to TS pkt start */
start = start - (start % 188);
offset = offset - (offset % 188);
/* align to TS pkt start */
start = start - (start % 188);
offset = offset - (offset % 188);
len = offset - start;
_offset = start;
len = offset - start;
_offset = start;