[FFmpeg-cvslog] lavc: adjust timestamp in case of skiping initial samples
Michael Niedermayer
git at videolan.org
Sat Jul 14 04:42:58 CEST 2012
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Jul 12 22:18:36 2012 +0200| [aa32971d2bd760228da1f3a6872731afda8d4523] | committer: Michael Niedermayer
lavc: adjust timestamp in case of skiping initial samples
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=aa32971d2bd760228da1f3a6872731afda8d4523
---
libavcodec/utils.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 3ef5272..d6c1e00 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1658,6 +1658,12 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
} else {
av_samples_copy(frame->extended_data, frame->extended_data, 0, avctx->internal->skip_samples,
frame->nb_samples - avctx->internal->skip_samples, avctx->channels, frame->format);
+ if(avctx->pkt_timebase.num && avctx->sample_rate) {
+ if(frame->pkt_pts!=AV_NOPTS_VALUE)
+ frame->pkt_pts += av_rescale_q(avctx->internal->skip_samples,(AVRational){1, avctx->sample_rate}, avctx->pkt_timebase);
+ if(frame->pkt_dts!=AV_NOPTS_VALUE)
+ frame->pkt_dts += av_rescale_q(avctx->internal->skip_samples,(AVRational){1, avctx->sample_rate}, avctx->pkt_timebase);
+ }
frame->nb_samples -= avctx->internal->skip_samples;
avctx->internal->skip_samples = 0;
}
More information about the ffmpeg-cvslog
mailing list