diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-03-29 22:32:53 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-03-29 22:32:53 +0200 |
commit | d61ef05bc527a9375de5b70acc7125d2bd1bd473 (patch) | |
tree | 92aa6b1cd372f47cfcf5bcdd51123f6473b2a0eb | |
parent | 30ced7e69f434bd49b39fb7c8ce02d9ba71babfc (diff) | |
download | ffmpeg-d61ef05bc527a9375de5b70acc7125d2bd1bd473.tar.gz |
ffmpeg: check pts like dts for being in the past.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffmpeg.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -3129,7 +3129,8 @@ static int transcode(OutputFile *output_files, int nb_output_files, int64_t pkt_pts = av_rescale_q(pkt.pts, ist->st->time_base, AV_TIME_BASE_Q); delta = pkt_pts - ist->next_dts; if ( delta < -1LL*dts_error_threshold*AV_TIME_BASE || - (delta > 1LL*dts_error_threshold*AV_TIME_BASE && ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE)) { + (delta > 1LL*dts_error_threshold*AV_TIME_BASE && ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) || + pkt_pts+1<ist->pts) { av_log(NULL, AV_LOG_WARNING, "PTS %"PRId64", next:%"PRId64" invalid droping st:%d\n", pkt.pts, ist->next_dts, pkt.stream_index); pkt.pts = AV_NOPTS_VALUE; } |