[FFmpeg-cvslog] lavf: rescale duration for chained muxers.
Nicolas George
git at videolan.org
Thu Feb 28 19:22:14 CET 2013
ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Wed Feb 27 17:47:15 2013 +0100| [89f9f69e3fa50083fd9df9c0628885c88f36bf4a] | committer: Nicolas George
lavf: rescale duration for chained muxers.
Fix trac ticket #2300 because the duration of the segments
was computed using the timestamp of the last packet plus its
duration using the 1/90000 default time base instead of using
the chained muxer time base.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=89f9f69e3fa50083fd9df9c0628885c88f36bf4a
---
libavformat/utils.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 3df8c51..6024205 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3967,6 +3967,10 @@ int ff_write_chained(AVFormatContext *dst, int dst_stream, AVPacket *pkt,
local_pkt.dts = av_rescale_q(pkt->dts,
src->streams[pkt->stream_index]->time_base,
dst->streams[dst_stream]->time_base);
+ if (pkt->duration)
+ local_pkt.duration = av_rescale_q(pkt->duration,
+ src->streams[pkt->stream_index]->time_base,
+ dst->streams[dst_stream]->time_base);
return av_write_frame(dst, &local_pkt);
}
More information about the ffmpeg-cvslog
mailing list