The value was off by a packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
return 0;
pos = avio_tell(ts->stream->pb);
- ts->pos47_full = pos;
+ av_assert0(pos >= TS_PACKET_SIZE);
+ ts->pos47_full = pos - TS_PACKET_SIZE;
if (tss->type == MPEGTS_SECTION) {
if (is_start) {
int64_t pos = avio_tell(pb);
if(pos < 0)
return;
- pos += ts->raw_packet_size - ts->pos47_full;
+ pos -= ts->pos47_full;
if (pos == TS_PACKET_SIZE) {
ts->size_stat[0] ++;
} else if (pos == TS_DVHS_PACKET_SIZE) {