[FFmpeg-cvslog] ffmpeg: fix assumed decoded_frame->pts timebase

Michael Niedermayer git at videolan.org
Thu Jul 26 18:08:14 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Jul 26 17:56:07 2012 +0200| [9b1fdb1c5ae3916d8796f7b96377ba20e18dbd47] | committer: Michael Niedermayer

ffmpeg: fix assumed decoded_frame->pts timebase

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

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

 ffmpeg.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 84efe0d..b2dc463 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2418,9 +2418,9 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
 
     /* if the decoder provides a pts, use it instead of the last packet pts.
        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 (decoded_frame->pkt_pts != AV_NOPTS_VALUE) {
+    if (decoded_frame->pts != AV_NOPTS_VALUE) {
+        ist->dts = ist->next_dts = ist->pts = ist->next_pts = av_rescale_q(decoded_frame->pts, avctx->time_base, AV_TIME_BASE_Q);
+    } 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) {



More information about the ffmpeg-cvslog mailing list