[FFmpeg-cvslog] ffmpeg: use pkt_pts before pkt->pts for audio

Michael Niedermayer git at videolan.org
Sat Jul 14 04:42:58 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Jul 14 04:24:40 2012 +0200| [825e1e2437494ce5d90fe27c8a73b47147d6419c] | committer: Michael Niedermayer

ffmpeg: use pkt_pts before pkt->pts for audio

This fixes the timestamp of the first packet when samples have been skiped.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=825e1e2437494ce5d90fe27c8a73b47147d6419c
---

 ffmpeg.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 4afc55b..4fe9d23 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2383,7 +2383,10 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
        the decoder could be delaying output by a packet or more. */
     if (decoded_frame->pts != AV_NOPTS_VALUE)
         ist->dts = ist->next_dts = ist->pts = ist->next_pts = decoded_frame->pts;
-    else if (pkt->pts != AV_NOPTS_VALUE) {
+    else if (decoded_frame->pkt_pts != AV_NOPTS_VALUE) {
+        decoded_frame->pts = decoded_frame->pkt_pts;
+        pkt->pts           = AV_NOPTS_VALUE;
+    } else if (pkt->pts != AV_NOPTS_VALUE) {
         decoded_frame->pts = pkt->pts;
         pkt->pts           = AV_NOPTS_VALUE;
     }else



More information about the ffmpeg-cvslog mailing list