1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-03 06:53:23 +02:00

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 <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-08-11 23:38:48 +02:00
parent 15e4bd65b1
commit c5ea3a009b
2 changed files with 5 additions and 5 deletions

View File

@ -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+1<ist->pts){
(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+1<ist->pts) {
(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;
}

View File

@ -3,7 +3,7 @@
./tests/data/lavf/lavf.mxf CRC=0x4ace0849
88ab06201db1953329bfb4aa04a4fe05 *./tests/data/lavf/lavf.mxf
553529 ./tests/data/lavf/lavf.mxf
./tests/data/lavf/lavf.mxf CRC=0x86fddf92
./tests/data/lavf/lavf.mxf CRC=0xdb9bdf92
52c5b74ecfdc48bd77d79a6bbe62d2de *./tests/data/lavf/lavf.mxf
525881 ./tests/data/lavf/lavf.mxf
./tests/data/lavf/lavf.mxf CRC=0x4ace0849