From 162f1fbc147bbff6e23b4df1e587cec5d5111052 Mon Sep 17 00:00:00 2001 From: Aviad Rozenhek Date: Thu, 8 Sep 2011 16:18:48 +0300 Subject: mpegts: on seek, reset the cc for all PIDs Prevent false positive continuity counter error logs. Signed-off-by: Luca Barbato --- libavformat/mpegts.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libavformat') diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index a723418..41a685c 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1410,12 +1410,14 @@ static int handle_packets(MpegTSContext *ts, int nb_packets) av_dlog("Skipping after seek\n"); /* seek detected, flush pes buffer */ for (i = 0; i < NB_PID_MAX; i++) { - if (ts->pids[i] && ts->pids[i]->type == MPEGTS_PES) { - PESContext *pes = ts->pids[i]->u.pes_filter.opaque; - av_freep(&pes->buffer); + if (ts->pids[i]) { + if (ts->pids[i]->type == MPEGTS_PES) { + PESContext *pes = ts->pids[i]->u.pes_filter.opaque; + av_freep(&pes->buffer); + pes->data_index = 0; + pes->state = MPEGTS_SKIP; /* skip until pes header */ + } ts->pids[i]->last_cc = -1; - pes->data_index = 0; - pes->state = MPEGTS_SKIP; /* skip until pes header */ } } } -- cgit v1.1