---
 avconv.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/avconv.c b/avconv.c
index e07a2cd..acb4994 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1084,11 +1084,15 @@ 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->next_dts = decoded_frame->pts;
+        ist->next_dts = av_rescale_q(decoded_frame->pts, avctx->time_base,
+                                     AV_TIME_BASE_Q);
     else if (pkt->pts != AV_NOPTS_VALUE) {
         decoded_frame->pts = pkt->pts;
         pkt->pts           = AV_NOPTS_VALUE;
     }
+    if (ist->next_dts != AV_NOPTS_VALUE)
+        ist->next_dts += av_rescale_q(decoded_frame->nb_samples, 
avctx->time_base,
+                                      AV_TIME_BASE_Q);
 
     // preprocess audio (volume)
     if (audio_volume != 256) {
-- 
1.7.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to