mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-23 15:30:01 +01:00
lavf: Remove "Adjusting PTS forward" code
it causes problems (incorrectly detect TS discontinuities) with a brokan TS file (test-audio-broken.ts) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -1199,20 +1199,6 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
|||||||
pkt->duration ) {
|
pkt->duration ) {
|
||||||
int duration = pkt->duration;
|
int duration = pkt->duration;
|
||||||
|
|
||||||
if(st->cur_dts != AV_NOPTS_VALUE && pkt->pts != AV_NOPTS_VALUE && duration){
|
|
||||||
int64_t old_diff= FFABS(st->cur_dts - duration - pkt->pts);
|
|
||||||
int64_t new_diff= FFABS(st->cur_dts - pkt->pts);
|
|
||||||
if( old_diff < new_diff && old_diff < (duration>>3)
|
|
||||||
&& st->codec->codec_type == AVMEDIA_TYPE_VIDEO
|
|
||||||
&& (!strcmp(s->iformat->name, "mpeg") ||
|
|
||||||
!strcmp(s->iformat->name, "mpegts"))){
|
|
||||||
pkt->pts += duration;
|
|
||||||
av_log(s, AV_LOG_WARNING, "Adjusting PTS forward\n");
|
|
||||||
// av_log(NULL, AV_LOG_DEBUG, "id:%d old:%"PRId64" new:%"PRId64" dur:%d cur:%s size:%d\n",
|
|
||||||
// pkt->stream_index, old_diff, new_diff, pkt->duration, av_ts2str(st->cur_dts), pkt->size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* presentation is not delayed : PTS and DTS are the same */
|
/* presentation is not delayed : PTS and DTS are the same */
|
||||||
if (pkt->pts == AV_NOPTS_VALUE)
|
if (pkt->pts == AV_NOPTS_VALUE)
|
||||||
pkt->pts = pkt->dts;
|
pkt->pts = pkt->dts;
|
||||||
|
|||||||
Reference in New Issue
Block a user