diff --git a/ffmpeg.c b/ffmpeg.c
index 2ad80ba1fed2a8a8b97a6671018bd2559ec93be7..8c9d848c4757e6a17747a6f99446f9babbed1eb0 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -625,10 +625,10 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
         }
         av_log(NULL, AV_LOG_WARNING, "changing to %"PRId64". This may result "
                "in incorrect timestamps in the output file.\n",
-               ost->last_mux_dts + 1);
-        pkt->dts = ost->last_mux_dts + 1;
+               max);
+        pkt->dts = max;
         if (pkt->pts != AV_NOPTS_VALUE)
-            pkt->pts = FFMAX(pkt->pts, pkt->dts);
+            pkt->pts = FFMAX(pkt->pts, max);
       }
     }
     ost->last_mux_dts = pkt->dts;