]> git.sesse.net Git - ffmpeg/blobdiff - ffmpeg.c
Merge commit '9d18a7d3ec09d6d933d648570643fde924aa391a'
[ffmpeg] / ffmpeg.c
index a8167ede3fc397fedb255df169df74dbea6c5dd3..5ccbf100121b4c9a8e3980c1a5ca02df71f88fab 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2375,6 +2375,7 @@ static int transcode_init(void)
                 codec->frame_size         = icodec->frame_size;
                 codec->audio_service_type = icodec->audio_service_type;
                 codec->block_align        = icodec->block_align;
+                codec->delay              = icodec->delay;
                 if((codec->block_align == 1 || codec->block_align == 1152 || codec->block_align == 576) && codec->codec_id == AV_CODEC_ID_MP3)
                     codec->block_align= 0;
                 if(codec->codec_id == AV_CODEC_ID_AC3)
@@ -3169,7 +3170,7 @@ static int process_input(int file_index)
         if(delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
             (delta > 1LL*dts_delta_threshold*AV_TIME_BASE &&
                 ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) ||
-            pkt_dts + AV_TIME_BASE/10 < ist->pts){
+            pkt_dts + AV_TIME_BASE/10 < FFMAX(ist->pts, ist->dts)){
             ifile->ts_offset -= delta;
             av_log(NULL, AV_LOG_DEBUG,
                    "timestamp discontinuity %"PRId64", new offset= %"PRId64"\n",