From c5ea3a009b15a3334ca469885303182e9f218836 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 11 Aug 2012 23:38:48 +0200 Subject: ffmpeg: Do not discard slightly invalid timestamps. Fixes Ticket1627 The fate change is due to ffmpeg no longer pushing audio timestamps aggressively up (which is what caused the AV sync issues in the ticket) but leaving them as they are. Signed-off-by: Michael Niedermayer --- ffmpeg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ffmpeg.c') diff --git a/ffmpeg.c b/ffmpeg.c index 662e84af66..411cad1c45 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2835,8 +2835,8 @@ static int process_input(void) } } else { 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) || - pkt_dts+1pts){ + (delta > 1LL*dts_error_threshold*AV_TIME_BASE && ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) + ) { av_log(NULL, AV_LOG_WARNING, "DTS %"PRId64", next:%"PRId64" st:%d invalid dropping\n", pkt.dts, ist->next_dts, pkt.stream_index); pkt.dts = AV_NOPTS_VALUE; } @@ -2844,8 +2844,8 @@ static int process_input(void) 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) || - pkt_pts+1pts) { + (delta > 1LL*dts_error_threshold*AV_TIME_BASE && ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) + ) { av_log(NULL, AV_LOG_WARNING, "PTS %"PRId64", next:%"PRId64" invalid dropping st:%d\n", pkt.pts, ist->next_dts, pkt.stream_index); pkt.pts = AV_NOPTS_VALUE; } -- cgit v1.2.3